DDD é uma abordagem que orienta o desenvolvimento a partir do domínio. O domínio é o seu universo de conhecimento, a motivação do software existir. Com o desenho da solução orientado ao domínio, o seu produto sai com a cara do seu negócio.
Testes são essencias! TDD é a sigla para Test Driven Development, ou seja, desenvolvimento de software orientado a testes. Uma solução sem testes não se consegue verificar o impacto de modificações no seu produto. O TDD se baseia na idéia que não deva existir funcionalidade no seu produto sem algum tipo de teste escrito antes do próprio código da funcionalidade. Assim, você pode garantir que o seu código está coberto de testes, para esta garantia, se adota a expressão "code coverage".
Com essa técnica, você vai poder acompanhar seu produto funcionando em todas as fases de construção. A entrega contínua é uma abordagem na qual as equipes de desenvolvimento asseguram que cada mudança no sistema, ele pode ser entregue com o apertar de um botão, a cada período de dias ou automaticamente. O objetivo da entrega contínua é fazer que a cada alteração no programa, sejam executados automaticamentes os testes escritos anteriormente, seja distribuido no(s) servidor(es) sem necessitar de intervenção manual para isto. Desta forma, garante uma transparência do quem foi bem sucedido imediatante.
Nós usamos uma abordagem ágil e incremental para o desenvolvimento de software. Trabalhando em pequenas iterações, em vez de um ciclo longo, você vê o produto como ele evolui - o que significa menos surpresas e mais oportunidades para refinar as suas necessidades.
Na construção civil, o arquiteto faz o desenho, o engenheiro os cálculos e depois se levanta a casa. Isto funciona... Para levantar paredes :) Infelizmente para o desenvolvimento de software, por muitos anos foi utilizado um padrão semelhante. Este processo se chama "Cascata" (waterfall), onde os passos são realizados em uma sequência. A Gapitec Software é moderna e utiliza todas as técnicas e modelos atuais como DDD (Domain Driven Design), TDD (Test Driven Development) e processos agéis, onde se divide o projeto em diversas interações com o cliente em ciclos curtos de desenvolvimento e entrega contínua.