XP – Extreme Programming – 1996
Kent Beck, Ward Cunningham e Ron Jeffries
http://www.extremeprogramming.org/
É uma metodologia ágil para equipes pequenas e médias que atuam em desenvolvimento de software com requisitos em constante mudança, que para solução adota um ciclo iterativo-incremental muito curto, na escala de horas.
Seus valores são a comunicação, simplicidade, feedback, coragem e respeito.
O SCRUM e XP são complementares, enquanto o método Scrum promove um framework com boas práticas de gerenciamento, o XP diz respeito a práticas integradas de engenharia de SW. O nome vem da alusão de se utilizar boas práticas e valores ao extremo, como:
Se revisar código é bom, revise o tempo inteiro, programe em pares;
Se testar é bom, todos testarão o tempo inteiro, teste de unidade e funcionais;
Se o projeto é bom, refatorá-lo será parte das funções diárias de todos;
Se simplicidade é bom, o sistema deve ter o projeto mais simples possível;
Se arquitetura é importante, todos trabalharão para definir e redefini-la;
Se testes de integração são importantes, vamos integrar e testar todos os dias;
Se iterações curtas é bom, faremos elas na escala de minutos e horas;
O cliente esta sempre disponível, para dúvidas e repriorizações cotidianas;
Adotar padrões de codificação em consenso, sempre o mais simples possível;
Só 40 horas semanais de trabalho, descansar garante mais energia e idéias.
Também li sobre seis fundamentos da XP que considerei elucidativas:
1. Distinguir as decisões do negócio e aquelas da alçada da equipe;
2. Escrever testes de unidades antes de programar e manter executando sempre;
3. Praticar Pair Programming, um pouco a cada dia;
4. MVP em produção e seguir na direção que se mostra mais favorável;
5. Integrar e testar todo o sistema várias vezes ao dia;
6. Começar simples e ir refatorando – mais flexibilidade e menos complexidade.
Para aplicar os valores e princípios durante o desenvolvimento de software, XP propõe uma série de práticas, que devem ser estudadas e praticadas:
- Jogo de Planejamento (Planning Game)
- Pequenas Versões (Small Releases)
- Metáfora (Metaphor)
- Projeto Simples (Simple Design)
- Time Coeso (Whole Team)
- Testes de Aceitação (Customer Tests)
- Ritmo Sustentável (Sustainable Pace)
- Reuniões em pé (Stand-up Meeting)
- Posse Coletiva (Collective Ownership)
- Programação em Pares (Pair Programming)
- Padrões de Codificação (Coding Standards)
- Desenvolvimento Orientado a Testes (Test Driven Development)
- Refatoração (Refactoring)
- Integração Contínua (Continuous Integration)
Se voce se interessou e leu até aqui, provavelmente vai se interessar pelo link a seguir, tem muita informação, apresentações, palestras, dezenas de exemplos e muito mais … foi um achado e estou compartilhando, se alguém (desenvolvedor Java) descobrir que os exemplos e material não são adequados, por favor, comente aqui, Ok.
Apresentação sobre XP – http://www.argonavis.com.br/palestras/xp/xp.pdf
Material sobre XP + JAVA – http://www.argonavis.com.br/cursos/xpjava/

