- Cliente presente
Para aplicar os principais valores da XP é essencial que o cliente participe ativamente do desenvolvimento. Sua presença viabiliza a simplicidade dos processos, facilita a comunicação com os desenvolvedores e permite um ciclo continuo e rápido de feedback.
- Releases
Release é um conjunto de funcionalidades que representa uma pequena versão do sistema. Esta versão é colocada em produção para que o cliente possa usufruir do investimento no software ao mesmo tempo em que avalia e retorna um feedback para os desenvolvedores sobre a release.
- Jogo do Planejamento
No início de cada release o cliente se reúne com a equipe de desenvolvimento e é estimulado a escrever em pequenos cartões as funcionalidades que deseja no sistema. Após escrevê-las, os desenvolvedores estimam o custo de cada funcionalidade e em seguida pedem para o cliente definir o nível de prioridade de cada funcionalidade descrita.
- Metáfora
As metáforas têm o poder de transmitir idéias complexas de forma simples e clara. Por isso, a XP as utilizam para criar uma visão comum do projeto entre cliente e desenvolvedores.
- Programação em par
Na programação em par dois desenvolvedores sentam-se em um único computador para codificar uma determinada funcionalidade. O desenvolvedor com menor experiência tem como responsabilidade gerar o código e conduzir a programação a partir do teclado, enquanto o outro desenvolvedor com maior experiência inspeciona o código constantemente a procura de erros e defeitos, além de pensar estrategicamente em soluções mais simples para o código.
- Refactoring
Refactoring é o processo de reorganizar o código fonte de um software para melhorar sua qualidade interna, facilitar a leitura do código e diminuir o tempo gasto com manutenção, sem, contudo prejudicar o desempenho e alterar seu comportamento externo. Aplicado em sistemas orientados a objetos, a técnica é fundamental para tornar o código mais legível e encontrar facilmente erros em algoritmos mal escritos.
Leia também o próximo dessa série “XP – Extreme Programming“