< Insights

Extreme Programming (XP): o que é, valores e benefícios

  • Metodologias

Na busca pela eficácia nos projetos e pela eficiência dentro das equipes, foi idealizado na década de 90, um método de desenvolver software, o Extreme Programming, mais conhecida como XP, em português Programação Extrema

O que é o Extreme Programming?

Dentre diversas metodologias ágeis, o Extreme Programming foi uma das primeiras e ainda hoje é popular, junto com Kanban e Scrum. E isso ocorreu porque o foco dessa metodologia é desenvolver menos esses aspectos e focar mais em boas práticas de engenharia de software.

programming 

O XP foi criado na década de 90 por Kent Beck, Ward Cunningham e Ron Jeffries, e ainda é um método bastante utilizado, um dos quais foca na satisfação do cliente e na entrega incremental, possuindo os objetivos de desenvolver sistemas rápidos e corretos, priorizando principalmente o desenvolvimento do software sobre a análise e o projeto do sistema.

Pode-se dizer, que o Extreme Programming é uma metodologia ágil para equipes que desenvolvem software baseado em requisitos vagos e que se modificam rapidamente.

A ideia é que, ao invés de se entregar tudo o que o cliente possa querer em alguma data no futuro, esse método possibilita a entrega do projeto, no caso o software, no momento em que o cliente precisa, com sistemas que sejam de melhor qualidade para determinado período de tempo, além da redução de custos e transtornos causados às pessoas envolvidas no projeto.

O XP tem como foco fazer com que os profissionais aceitem e realmente acreditem nas mudanças, enfatizando o trabalho em equipe e implementando um modelo de trabalho simples, porém efetivo, que viabiliza times de alta performance.

Os valores do Extreme Programming

Aqui, separamos os cinco valores que são a base do Extreme Programming de acordo com o site oficial da metodologia: 

  • Simplicidade: Faremos o que for necessário e solicitado, mas nada mais. Isso irá maximizar o valor criado para o investimento feito até o momento. Daremos pequenos passos simples para alcançar nosso objetivo e mitigaremos as falhas conforme elas acontecerem. Vamos criar algo de que nos orgulhamos e mantê-lo a longo prazo por custos razoáveis.
  • Comunicação: Todos fazem parte da equipe e nos comunicamos cara a cara diariamente. Trabalharemos juntos em tudo, desde requisitos até código. Vamos criar a melhor solução para o nosso problema que pudermos juntos.
  • Feedback: Levaremos cada compromisso de iteração a sério, entregando um software funcional. Demonstramos nosso software cedo e frequentemente, então ouvimos com atenção e fazemos as alterações necessárias. Vamos conversar sobre o projeto e adaptar nosso processo a ele, não o contrário.
  • Respeito: Todos dão e sentem o respeito que merecem como um membro valioso da equipe. Todos contribuem com valor, mesmo que seja simplesmente entusiasmo. Os desenvolvedores respeitam a experiência dos clientes e vice-versa. A administração respeita nosso direito de aceitar responsabilidades e receber autoridade sobre nosso próprio trabalho.
  • Coragem: diremos a verdade sobre o progresso e as estimativas. Não documentamos desculpas para o fracasso porque planejamos ter sucesso. Não tememos nada porque ninguém trabalha sozinho. Vamos nos adaptar às mudanças sempre que elas acontecerem.

Extreme Programming x Outras metodologias 

O XP entrega conceitos bem semelhantes em relação às outras metodologias, como:

  1.  Abordagem incremental;
  2.  Encorajamento de comunicação face a face;
  3.  Feedback constante.

Mas também conta com procedimentos exclusivos da metodologia, como a orientação para boas práticas de engenharia de software e a utilização do Pair Programming.

Esses dois pontos citados acima são o que determinam que o Extreme Programming foi desenvolvido para times de desenvolvimento de software e não é possível replicar suas práticas em diversas áreas como vemos acontecer com o Scrum ou o Kanban.

Caso as empresas queiram utilizar o XP além da área de TI, indicamos apenas a aplicação de alguns dos valores citados acima. 

O Extreme Programming na Objective

Além de todos os benefícios que já englobam dentro das metodologias ágeis, o Extreme Programming trouxe uma prática diferenciada que vale destacarmos como o grande benefício “extra” que ele proporciona: o Pair Programming. 

O objetivo aqui é fazer com que todo o código produzido por um time deve ser produzido em duplas. E nosso Gerente de Desenvolvimento, Eduardo Garanhani, garante: “Essa prática é a maior responsável pela disseminação de conhecimento dentro da equipe, contextualização e comprometimento dos membros”.

Porém, deve ser muito bem trabalhada para evitar vícios e conflitos na equipe. Isso porque podem surgir algumas tendências de pessoas que querem parear sempre com as mesmas pessoas, por afinidade, ou porque a outra pessoa “faz tudo sozinha”. 

Algumas práticas auxiliares para a programação em par, como keyboard rotation e Move People Around podem ajudar a evitar esses tipos de problema.

Além disso, essa prática também envolve mais vantagens como, falhas reconhecidas com antecedência, a manutenção se tornará mais simples aos próximos desenvolvedores que foram mexer no código e a confiança no resultado, uma vez que é definido argumentos em conjunto para expor o código. 

Mas deixamos um ponto de atenção para quem vai implantar o XP na sua equipe. Para obter os resultados expostos e ter realmente valor na utilização do Pair Programming, vale criar um ambiente que contenha informações relevantes à equipe ajuda a conscientizar os indivíduos do seu papel dentro do projeto e da organização.

Caso você tenha dificuldades ou queira saber mais sobre Extreme Programming e a satisfação do cliente, clique aqui e marque um café com nossos especialistas!

Sugira um artigo

    Para enviar o formulário é necessário o aceite das políticas.

    Insights do nosso time

    Obtenha insights do nosso time de especialistas sobre metodologias de desenvolvimento de software, linguagens, tecnologia e muito mais para apoiar o seu time na operação e estratégia de negócio.