Metodologias e técnicas

Extreme Programming (XP): o que é e quais são as práticas

Extreme Programming, ou XP, é uma abordagem ágil criada para equipes de software. A ideia é pegar boas práticas de desenvolvimento e levá-las ao extremo: se revisar código é bom, revise o tempo todo; se testar é bom, teste antes de escrever. Foi proposta por Kent Beck no fim dos anos 1990 e inspirou o movimento ágil.

3 min de leituraguia

Para que serve

O XP ajuda times pequenos a entregar software funcionando em ciclos curtos, com poucos defeitos e lidando bem com mudanças de pedido. Não é ferramenta de gestão geral: ele se foca no jeito de desenvolver.

Os cinco valores

Valor Em palavras do dia a dia
Comunicação Todo mundo sabe o que está acontecendo
Simplicidade Fazer só o que é preciso agora
Feedback Descobrir cedo se algo está errado
Coragem Mudar o que precisa ser mudado, até falar "não sei"
Respeito Todos contribuem e são ouvidos

As práticas mais conhecidas

Prática O que é Pergunta que ajuda
Programação em par Duas pessoas no mesmo código, revezando "Quem pode olhar isso junto comigo?"
Desenvolvimento orientado a testes Escrever o teste antes do código "Como vamos saber que isto funciona?"
Integração contínua Juntar o trabalho de todos várias vezes ao dia "O que acontece quando juntarmos tudo?"
Entregas pequenas Liberar versões curtas e frequentes "Qual é a menor parte que já ajuda alguém?"
Refatoração Melhorar o código sem mudar o que ele faz "Dá para deixar isso mais simples?"
Design simples Evitar construir o que ninguém pediu "Precisamos disso agora?"
Propriedade coletiva do código Qualquer pessoa pode mexer em qualquer parte "Alguém mais entende esta parte?"
Ritmo sustentável Evitar hora extra constante "Esse ritmo dura meses?"
Cliente presente Alguém do negócio perto do time para tirar dúvidas "Quem pode responder isso hoje?"
Planejamento em rodadas curtas Escolher com o cliente o que entra na próxima rodada "O que é mais valioso para esta semana?"

Como o XP se encaixa com Scrum

O Scrum organiza o trabalho (papéis, eventos, cadência). O XP diz como programar bem dentro desse ciclo. Por isso é comum times usarem Scrum para gerir e práticas de XP para desenvolver.

Quando faz sentido

  • Time pequeno e junto, de preferência sentado ou conectado o dia todo.
  • Requisitos que mudam bastante.
  • Cliente disponível para dar feedback com frequência.

Quando não faz sentido

  • Time grande e distribuído sem tempo em comum.
  • Projeto fora de software, onde práticas como testes automatizados e integração contínua não se aplicam.
  • Contrato fechado com escopo rígido e sem abertura para mudanças.

Críticas comuns

Programação em par pode parecer lenta para quem nunca fez. A resposta do XP é que o ganho aparece em menos defeitos e em conhecimento espalhado entre as pessoas. Vale testar por um mês antes de decidir.

Perguntas frequentes

XP é o mesmo que Scrum?

Não. São abordagens ágeis diferentes. Scrum cuida da organização do trabalho; XP, das práticas técnicas de desenvolvimento. Muitos times combinam os dois.

Preciso fazer todas as práticas?

Não. Muitos times adotam algumas, como testes e integração contínua, e deixam outras de lado. O ideal é começar pelas que resolvem a sua dor.

XP serve para projetos fora de tecnologia?

As práticas técnicas não. Os valores e a ideia de ciclos curtos com feedback, sim.

Quem criou o XP?

Kent Beck, junto com colegas, em projetos de software no fim dos anos 1990.

Próximo passo