Extreme Programming
As regras e práticas que revolucionaram o desenvolvimento de software
Agilidade, qualidade e colaboração em primeiro lugar
Extreme Programming (Programação Extrema) é uma metodologia ágil de desenvolvimento de software que enfatiza a simplicidade, a comunicação, o feedback e a coragem. Criada por Kent Beck nos anos 1990, ela estabelece um conjunto de regras que guiam as equipes de desenvolvimento rumo à excelência.
As regras abaixo estão organizadas em cinco áreas principais: Planejamento, Gestão, Design, Codificação e Testes.
Planejamento
- 📝 Histórias de usuário são escritas pelos clientes
- 📅 Planejamento de release cria o cronograma do projeto
- 🚀 Lançamentos pequenos e frequentes
- 🔄 Projeto dividido em iterações (1 a 4 semanas)
- 📋 Planejamento da iteração no início de cada ciclo
Gestão da Equipe
- 🏢 Espaço de trabalho aberto dedicado à equipe
- ⚡ Ritmo sustentável (sem horas extras excessivas)
- 🗣️ Reunião diária em pé (Daily Stand-up)
- 📊 Velocidade do projeto é medida continuamente
- 🔄 Rotatividade controlada de membros na equipe
- 🔧 Adaptação das práticas quando necessário
Design de Software
Codificação
- 👥 Cliente sempre disponível para dúvidas
- 📏 Código escrito seguindo padrões acordados
- 🧪 Código o teste unitário primeiro (TDD)
- 👫 Todo código de produção é programado em par
- 🔀 Apenas uma dupla integra código por vez
- ⚙️ Integração contínua (múltiplas vezes ao dia)
- 💻 Computador dedicado para integração
- 👥 Propriedade coletiva do código
Testes e Qualidade
- ✅ Todo código deve ter testes unitários
- 🔴 Todo código deve passar em todos os testes antes de ser liberado
- 🐛 Quando um bug é encontrado, novos testes são criados
- 📝 Testes de aceitação são executados frequentemente
- 📢 Os resultados são publicados para a equipe
Pirâmide de Testes
Testes Unitários
Testam unidades isoladas de código. Devem ser rápidos e automatizados.
Testes de Integração
Verificam a interação entre componentes do sistema.
Testes de Aceitação
Validam se o sistema atende aos requisitos do cliente.
Testes de Regressão
Garantem que novas alterações não quebrem funcionalidades existentes.
Links e Referências
Os 5 Valores Fundamentais
Comunicação
Feedback
Coragem
Respeito
Simplicidade
0 Comentários