Extreme Programming
E existe outra maneira de desenvolver?
Fábio Ferrari
O que é XP?
Princípio do Extreme Programming
Custo de Mudanças em Waterfall:
Custo de Mudança em Waterfall:
Princípio do Extreme Programming
Custo de Mudanças com XP:
Doze Práticas
Feedback rápido:• Pair Programming• Planning Game• Continuous Testing
(TDD)• On-Site Customer
Processo contínuo:• Continuous Integration• Small Releases• Refactoring
Entendimento comum:• Coding Standards• Collective Code
Ownership• Simple Design• System Metaphor
Trabalho saudável:• 40-Hour Work Week
Pair Programming
Pair Programming
Pair Programming
Pair Programming
Planning Game
Planning Game
Continuous Testing (TDD)
Código de Teste (xUnit)
Código de Produção
On-Site Customer
Cliente:• se compromete• resolve questões/disputas• prioriza• aprende a confiar
Continuous Integration
Necessário:• repositório único• build automático• código auto-
testável
Small Releases
Refactoring
Coding Standards
Facilita:• reuso• refactoring• entendimento por outros
Collective Code Ownership
"It's MY code...My PRECIOUS code..."
(Gollum)
Simple Design
"Do the Simplest Thing that Could Possibly Work"
"You Aren't Going to Need It"
Simples:• roda todos os testes• revela sua intenção• sem duplicação de código• menor número de classes e métodos
System Metaphor
• visão do sistema como um todo• uso de metáforas para descrição• leva conceitos de um domínio popular para um domínio
abstrato
Exemplo:O sistema operará como uma linha de montagem, recebendo os pacotes de voz como chassis de carros aonde o sistema fará a montagem do RTP/UDP como aros e pneus para o posterior envio pela rede ethernet como cegonhas.
40-Hour Work Week
• regra do XP: se houver hora-extra numa semana, na próxima semana não será permitido
Obrigado
Recommended