Introdução
Execute esta atividade como uma forma de executar o planejamento e o desenvolvimento baseado em metas. O trabalho é selecionado pelos desenvolvedores e o progresso do trabalho é acompanhado com base nas metas alcançadas pelo uso do código fonte projetado, testado pelos desenvolvedores e integrado.
Contexto do que está sendo desenvolvido
Um contexto pode ser especificado quando um requisito é atribuído para ser desenvolvido, especificando assim o tamanho do requisito a ser desenvolvido em uma iteração. O desenvolvimento pode focar em uma camada (tal como a interface de usuário, a lógica de negócio ou o acesso à base de dados), em um componente, e assim por diante.
Independente de um contexto estar especificado ou não, a responsabilidade do desenvolvedor é de executar o design e a implementação deste requisito. O desenvolvedor também escreve e executa os testes de desenvolvedor para certificar-se que a implementação funciona como projetada, de forma unitária e integrada no código base.
Visão geral do fluxo de trabalho
Mudanças típicas exigem algum esforço para projetar a solução antes de passar para a implementação, mesmo que seja apenas um exercício mental que resulte em um produto de trabalho de curto prazo. O design para alterações triviais na implementação existente (por exemplo, para suportar algum requisito) pode ser auto-evidente no contexto da arquitetura e do design existentes.
Uma vez que a organização da solução técnica esteja evidente, defina os testes de desenvolvedor que irão verificar a implementação. Esta abordagem orientada a teste garante que as considerações de design têm de fato ocorrido antes da solução ser codificada. Os testes são executados na frente e, se falharem, define claramente os critérios para determinar se a implementação funciona como previsto.
Os testes que falham, conduzem a uma implementação da solução até a conclusão, na qual você executa os testes novamente. Este ciclo mais interno de implementação e teste de desenvolvedor é repetido até que os testes passem.
A execução dos testes sem falhas, não significa necessariamente que a solução seja de alta qualidade e adequada. É apropriado revisar o design neste ponto. Esse caminho é cíclico no processo, uma vez que qualquer alteração no design pode afetar os testes de desenvolvedor e a implementação.
Se os testes passarem o design da solução for adequado, existe mais um ciclo possível. É melhor manter os ciclos internos de design evolucionário, orientados a testes, os mais curtos possíveis. Elabore alguma solução de design, de pequena escala, para uma parte do item de trabalho, defina um ou dois testes para a implementação desta parte da solução, execute os testes com sucesso, verifique a qualidade, e então continue com a abordagem de testar-primeiro, até que esta parte do design esteja funcionando. Então, no ciclo mais externo da atividade, volte e projete uma outra parte do item de trabalho para se aproximar da conclusão. |