sábado, 26 de setembro de 2009

Entendendo o Extreme Program

Kent Beck, autor de Extreme Programming Explained, diz, "XP é uma metodologia peso-leve para equipes pequenas e médias que desenvolvem software a partir de requisitos vagos ou que mudam rapidamente".

Simplesmente declarado, XP é um conjunto de valores, direitos, e melhores práticas que se suportam mutuamente no desenvolvimento incremental de software.

Quando uma equipe está desenvolvendo software com XP, o cliente cria histórias que descrevem a funcionalidade do software. Estas histórias são casos de uso muito leves. Elas são pequenas unidades de funcionalidade que necessitam de menos de uma ou duas semanas para implementação. Os programadores estimam as histórias e, com base nessas estimativas, o cliente decide quais histórias serão construídas primeiro.

O desenvolvimento é feito iterativamente e de forma incremental. A cada duas semanas, a equipe de programação entrega ao cliente histórias que estejam funcionando.

Então o cliente escolhe mais duas semanas completas de trabalho. O sistema cresce em funcionalidade, pedaço por pedaço e dirigido pelo cliente. O progresso é monitorado e medido com base no comportamento observável da equipe.

XP se baseia em técnicas de design e testes evolutivos que mantêm um design de alta qualidade, enquanto novas funcionalidades estão sendo adicionadas. Estas técnicas evitam o caos de código não manutenível através de revisões contínuas, ênfase na simplicidade e a quase universal cobertura de testes.

Os programadores executam as suas tarefas de programação em pares. O par compartilha uma única estação de trabalho e trabalha junto para escrever uma única parte do código. Ambos estão igualmente empenhados na escrita. O teclado se move freqüentemente de um lado para o outro entre eles.

Os programadores XP praticam o Desenvolvimento Orientado a Testes (TDD - Teste Driven Development). Em suma, eles escrevem testes de unidade antes de escrever o código de produção. Entretanto, isso é feito em incrementos muito pequenos. Pequenas partes de um teste são escritas primeiro e, depois, é escrito apenas código de produção suficiente para fazer essas partes passarem no teste. Isto continua iterativamente até que tudo, que praticamente possa ser testado, tenha sido testado.

O XP foca na entrega contínua, do primeiro dia do projeto até o último, de software testado e que esteja funcionando. A entrega de software real, combinado com planejamento simples, mas freqüente, fornece aos Stakeholders uma visão clara do que foi feito e do que será feito. Isso permite que a empresa dirija o projeto para uma entrega pontual do melhor software possível que pode ser concluído no prazo disponível.

Fonte: Eclipse Process Framework Compose

Nenhum comentário: