O que é eXtreme Programming? Diferenças entre as metodologias XP e Scrum

Entenda o que é Extreme Programming, quais são suas regras, princípios e práticas. Conheça as principais diferenças entre a metodologia XP e o Scrum.

A metodologia XP (eXtreme Programming) é uma metodologia ágil de desenvolvimento de software que foi criada com o objetivo de aumentar a qualidade do software e a satisfação dos clientes.

Assim como adormece no Scrum, a metodologia XP se concentra em pequenos ciclos de desenvolvimento, chamados de “iterações” ou também de “sprints”.

A eXtreme Programming possui uma série de características encontradas em outras metodologias ágeis, porém seu foco concentra-se na comunicação frequente entre desenvolvedores, clientes e usuários, e adaptação constante a mudanças.

Fundamentos e técnicas da eXtreme Programming

Assim como todos os frameworks ágeis de gerenciamento e desenvolvimento, a XP também possui seus fundamentos e princípios, técnicas e boas práticas, todos objetivos e de fácil entendimento.

Artigos relacionados

Princípios e valores da Extreme Programming

Os principais evangelistas dessa metodologia frequentemente definem os princípios e valores da XP em 10 itens. 

De modo geral, a maioria dos profissionais envolvidos no desenvolvimento de software em times que utilizam a metodologia concordam com a lista.

O fato de serem 10 princípios e valores, acabou originando uma brincadeira jocosa com as leis bíblicas de Moisés: Conheça os “10 mandamentos da eXtreme Programming”:

  1. Comunicação: a comunicação aberta e honesta entre os membros da equipe e com o cliente é considerada essencial para o sucesso do projeto.
  2. Simplicidade: o software deve ser simples e fácil de entender, sem elementos desnecessários.
  3. Feedback: o feedback contínuo é essencial para o processo de desenvolvimento e para garantir que o software atenda às necessidades do cliente.
  4. Coragem: os membros da equipe devem ser corajosos e estar dispostos a mudar de direção rapidamente se necessário.
  5. Respeito: todos os membros da equipe devem ser respeitados e valorizados.
  6. Parceria: a equipe deve trabalhar como uma parceria, com todos os membros contribuindo para o sucesso do projeto.
  7. Otimização: a equipe deve otimizar o trabalho para atender às necessidades do cliente e do projeto. 
  8. Integração contínua: o software deve ser integrado e testado continuamente para garantir a qualidade.  
  9. Estimativa:  deverão ser estimados o esforço e prazo de cada atividade mandatória para a conclusão do projeto.
  10. Sustentabilidade: a equipe deve trabalhar em um ritmo sustentável para garantir a qualidade e evitar o esgotamento.

É importante não confundir os princípios e fundamentos, com as técnicas e práticas de desenvolvimento. 

A lista acima refere-se à organização, gestão e comunicação do time XP, e não sobre as formas e técnicas que deverão ser utilizadas durante a execução das atividades de desenvolvimento.

Regras da eXtreme Programming

Já comentamos sobre os principais fundamentos e valores da XP, que tratam prioritariamente de aspectos organizacionais e da dinâmica de funcionamento do time, mas onde estão as orientações técnicas? 

Obviamente que a metodologia ágil XP define ainda uma série de regras técnicas, também chamadas de ‘leis’. Essas são direcionadas de forma específica para o aspecto técnico, as principais são:

  • Customer on-site: Um stakeholder que represente o cliente ou patrocinador deve efetivamente ser considerado como um integrante do time, com atenção especial em manter uma comunicação eficiente.
  • Coding standard: Tenha zelo pelo seu código, respeite os padrões da linguagem e da arquitetura definida para o produto ou projeto. Afinal, você não quer que um código porco persiga sua honra por toda a eternidade, ou quer?
  • Test driven development: A XP só faz sentido se respeitarmos essa regra: oriente o desenvolvimento a partir de cenários e casos de testes. Alguns poucos afortunados já vivem essa realidade, mas para maioria ainda é um sonho distante.
  • Serial integration: O Princípio de exclusão de Pauli diz que, “…dois corpos não podem ocupar o mesmo espaço ao mesmo tempo…“, e assim também é com o processo de integração dos códigos: apenas um par de devs por vez.
  • Continuous integration: É impossível vencer um Rally Paris Dakar dirigindo um Celta ano 2004, com 70 cavalos anêmicos dentro do motor VHC 1.0. Ficou clara a importância de um ambiente dedicado para deployment e integração?

Diferenças entre Scrum e XP

Quais são as principais diferenças entre as metodologias XP e o framework ágil Scrum? Tanto o Scrum quanto o XP (Extreme Programming) são metodologias ágeis ou também chamadas  de frameworks de desenvolvimento de software, entretanto existem diferenças relevantes entre elas.

Comparativo conceitual entre XP e Scrum

As características específicas existentes nos frameworks XP e Scrum são originadas pelo objetivo principal de cada uma. 

Extreme programming é uma metodologia de desenvolvimento ágil, direcionada à otimização principalmente das atividades de desenvolvimento e testes. Principais diferenças conceituais entre a metodologia xp e o scrum. (adaptado de: magalhães c, santos r, belo i; original disponível em ufrpe)
Extreme programming é uma metodologia de desenvolvimento ágil, direcionada à otimização principalmente das atividades de desenvolvimento e testes. Principais diferenças conceituais entre a metodologia xp e o scrum. (“adaptado de: xp e scrum sob uma abordagem comparativa”;  magalhães c, santos r, belo i; original disponível em ufrpe)

De modo geral podemos definir o Scrum como uma metodologia de gerenciamento de times e projetos, enquanto o XP é considerada uma metodologia de desenvolvimento de software.

Características exclusivas do SCRUM

O Scrum é direcionado principalmente ao gerenciamento do projeto, backlog do produto, das tarefas de desenvolvimento e da dinâmica de funcionamento do time.

Ele segue uma estrutura de “ciclo de vida” com ciclos curtos chamados de sprints, onde equipes trabalham para entregar um conjunto de funcionalidades no final de cada sprint.

A metodologia ágil Scrum também inclui papéis como o “Scrum Master” e “Product Owner” para garantir que o processo seja seguido conforme o planejado.

Características exclusivas da XP – (eXtreme Programming)

O XP “herda” quase que a totalidade os princípios do Scrum e Kanban, como o foco no cliente e no produto, desenvolvimento em sprints, e time autogerenciável. 

São somadas a essas características técnicas, princípios e boas práticas específicas do parte técnica, ou seja, arquitetura, desenvolvimento e testes.

A XP diferentemente do Scurm, se concentra mais nas práticas de programação, como programação em pares e testes automatizados. Seu foco é entregar software de alta qualidade de forma rápida, e inclui práticas como a programação em pares, reuniões diárias curtas e incorporação contínua de feedback do cliente.

Resumindo, Scrum é uma metodologia para o gerenciamento de times de desenvolvimento e XP é uma metodologia de programação, mas ambos são baseados na filosofia ágil e podem ser combinados.

Francilvio Roberto Alff

Olá! Eu sou Francilvio Alff, mas você pode me chamar de Chico Alff. Vou fazer o m3u jabá rapidinho, eu prometo! :D Minha formação acadêmica é diversificada, com raízes em Engenharia de Software e Análise e Desenvolvimento de Sistemas para a Internet. Também mergulhei na História e na Língua Italiana em minha jornada acadêmica, embora essa aventura ainda não tenha sido concluída. Meu primeiro contato profissional e real com o incrível mundo dos sistemas foi em 2007, enquanto fazia a minha primeira graduação na Itália. Trabalhei na implantação da solução Orange Salsa para a gestão dos "informatori scientifici del farmaco" na colossal multinacional farmacêutica GlaxoSmithKline (GSK). Com o passar dos anos, me vi cada vez mais envolvido pela tecnologia, e ao longo dessas quase duas décadas, me especializei em Engenharia de Software, mais precisamente nas disciplinas de Análise de Requisitos, Análise de Negócios e Gerenciamento de Projetos. Nesse percurso, trabalhei em projetos desafiadores para a administração pública, soluções de ERP para o varejo e indústria, inteligência artificial aplicada em soluções IOT e linguagem neural.. Em 2011 fundei juntamente com um velho amigo e tutor o site https://AnalisedeRequisitos.com.br que mantenho até hoje como uma prova viva do meu comprometimento com a engenharia de software. Minha determinação e meu desejo constante de aprender continuam me impulsionando em direção ao futuro, onde pretendo continuar unindo minha paixão pela tecnologia com meu amor pela aprendizagem e minha curiosidade insaciável. Junte-se a mim nessa jornada!

PRECISAMOS DE VOCÊ!

APOIE COM QUALQUER VALOR
R$ 2,00 / R$ 5,00 / R$ 10,00 / R$ 25,00…

 

Seu apoio é fundamental! Use o PIX para fazer sua contribuição e nos ajude a manter nossa missão de compartilhar conhecimento sobre análise de requisitos e software. Sua generosidade faz a diferença!

Faça sua Doação via PIX - Apoie nossa Causa

CHAVES PIX:
[email protected]
[email protected]
Não quero ajudar!