Programação Extrema (XP) vs Scrum: Principais Diferenças & Quando Usar Cada Um

Programação Extrema (XP) é um desenvolvimento ágil de softwareframework projetado para gerar software de maior qualidade e melhorar a qualidade de vida da equipe. O XP é o framework ágil mais específico quando se trata de práticas de engenharia adequadaspráticas de engenharia.

Scrumé um framework onde pessoas podem resolver problemas complexos e adaptativos ao mesmo tempo em que entregam produtos de alto valor de forma eficiente e criativa. O próprio Scrum é um framework simples que permite a colaboração eficaz da equipe em produtos complexos.

Tanto o Scrum quanto o XP são metodologias ágeis, compartilhando conceitos comuns como desenvolvimento iterativo, software funcional, lançamentos e planejamento de iterações,reuniões diárias de status, retrospectivas e todos os outros elementos do processo ágil. Esses dois métodos são tão consistentes que pode ser difícil distinguir entre uma equipe que pratica XP e outra que pratica Scrum.

Extreme Programming

Programação Extrema

Sprint Cycle

Ciclo de Sprint

No entanto, existem algumas diferenças, algumas das quais são bastante sutis, especialmente nos seguintes quatro aspectos:

1. Duração da Iteração
Scrum
  • Normalmente de duas a quatro semanas.
XP
  • Normalmente de uma a duas semanas.
2. Se os requisitos podem ser alterados durante a iteração
Scrum
XP
  • Mais fácil de mudar durante a iteração.
  • Desde que um recurso específico ainda não tenha sido iniciado, um novo recurso de tamanho semelhante pode ser trocado pelo que não foi iniciado na iteração da equipe XP.
3. Se as Histórias de Usuário são estritamente implementadas pela prioridade da iteração
XP
  • Trabalhe em ordem estrita de prioridade.
  • Os recursos a serem desenvolvidos são priorizados pelo cliente (do Scrum)Product Owner), e a equipe deve tratá-los em sequência.
Scrum
  • O Product Owner do Scrum prioriza o backlog do produto, mas a equipe determina a ordem em que desenvolve os itens do backlog.
  • Uma equipe Scrumpode muito bem escolher trabalhar no segundo item mais importante.
4. Se práticas rigorosas de engenharia são adotadas para garantir progresso ou qualidade
Scrum
  • Não prescreve nenhuma prática específica de engenharia.
XP
  • Sim, o XP faz.
  • Por exemplo: TDD, programação em pares, design simples, refatoração, etc.

Podemos resumir as diferenças entre XP e Scrum da seguinte forma:

Aspecto Prática XP Scrum
Duração da iteração Se os requisitos podem ser alterados durante a iteração 1–2 semanas 2–4 semanas
Gestão de mudanças durante a iteração Se os Requisitos São Estritamente Ordenados pela Prioridade Pode ser substituído por outro requisito de tamanho igual se ainda não implementado. Scrum não permite isso. Nenhuma mudança é permitida após o início do sprint, e o Mestre do Scrum impõe isso rigorosamente.
Priorização de Recursos Se os Requisitos São Estritamente Ordenados pela Prioridade Sim Não necessário
Práticas de Engenharia Se Métodos de Engenharia Rígidos São Usados para Garantir Progresso ou Qualidade Muito rigoroso Exige que os desenvolvedores sejam conscientes

Portanto, acreditamos que a abordagem do XP é aceitável, mas introduz um paradoxo no Agile: combinar a filosofia do XP com os princípios do Agile envia uma mensagem confusa para as equipes: “Você é uma organização totalmente autogerenciada, mas deve implementar TDD, Programação em Dupla, etc.”

É claro que essas quatro diferenças são bastante distintas:

  • Em Scrum, o foco está na auto-organização.
  • Em XP, o foco está nas restrições rígidas de práticas de engenharia.

Conclusão

Scrum é um framework de desenvolvimento de produtos — um recipiente para o qual outras práticas podem ser adicionadas. O XP é uma das práticas que você pode aplicar dentro do framework Scrum. Não há motivo para uma equipe escolher entre Scrum e XP. As regras e práticas do XP não são fáceis, e a maioria delas é irredutível. Incorporar o XP ao Scrum pode ser uma evolução natural para uma equipe que começa com Scrum e busca se tornar uma equipe Scrum profissional.

 

Leave a Reply