Práticas que vão bem com o plano de iterações

Joca Torres defendeu nesse post algumas vantagens de usar métodos ágeis, do ponto de vista do gerente de produtos. O design incremental e o uso de iterações permite que o cliente veja mais rapidamente aquilo que já está pronto. A partir do momento que o cliente está usando nosso software, ele começa a PAGAR e a ter benefícios (e nós também!).

Porém, do ponto de vista do time de desenvolvimento, existem alguns cuidados que precisam ser tomados para que o software se torne “modificável” para atender as necessidades do cliente. Para entregar funcionalidade de forma incremental, você precisa ter um ambiente de desenvolvimento e uma base de código que facilite e permita essas entregas iterativas.

As práticas de XP são um guia para isso. O gerente de produtos tem muito contato com as práticas de planejamento (histórias, iterações, velocidade etc) mas em software não basta planejar. Continue reading

Testabilidade e Injeção de Dependência

Estudando a nossa aplicação do PabxVirtual, percebemos que a forma como a aplicação está desenvolvida impede que criemos testes unitários automatizados em alguns pontos importantes do sistema. Para contornar o problema, adotamos testes de aceitação, como forma de garantir que nosso sistema não falhará. O grande problema destes testes é que quanto apontam algum erro, existe uma grande dificuldade de diagnosticar onde está o erro.
 
Analisando o problema a fundo e depois de uma grande ajuda do Dediana, percebi uma boa sáida para o nosso problema. A solução é usar  Injeção de Dependência. Continue reading