Você já ouviu falar da ferramenta Extreme Programming, também conhecida como XP? Sabe como ela é aplicada dentro de uma empresa? E sua relação com o Scrum?

São muitas questões, né?! Mas neste artigo eu vou te ajudar com essas dúvidas comuns e você sairá daqui pronto para começar seus estudos ágeis. 

Caso você queira conhecer mais sobre a metodologia, eu vou deixar pra você três dicas de leitura para potencializar o seu aprendizado. É só clicar nos links abaixo: 

 

 

Extreme Programming e Scrum

 

Dentro da  metodologia ágil temos algumas ferramentas que auxiliam no gerenciamento de projetos, as mais famosas são o Extreme Programming e o Scrum.

A metodologia Scrum é uma ferramenta que te ajuda no gerenciamento de projetos, por meio de processos de desenvolvimento iterativo e somatório e pode ser aplicado a diferentes tipos e tamanhos de equipes. 

Já a metodologia Extreme Programming, é voltada para equipes pequenas ou médias, que buscam por atividades de desenvolvimento de software. Além disso, esse método proporciona um contato a todo momento com os clientes, que resulta em diferentes  feedbacks.

Contudo, podemos ressaltar que as duas metodologias apresentam semelhanças conceituais e de aplicação, e se forem utilizadas juntas, podem gerar um resultado muito poderoso em projetos de softwares.

Nos próximos tópicos irei contar para você quais são as práticas organizacionais, as de uma equipe e de um indivíduo Extreme Programming. Estas três repartições formam uma equipe capaz e estruturada para realizar um projeto aplicando métodos XP.

 

Práticas organizacionais Extreme Programming

 

 

 

Equipe inteira

O conceito de equipe inteira não permite uma divisão entre Product Owner e Equipe de Desenvolvimento ou área de negócios e área de TI. Deve existir uma única unidade homogênea e colaborativa, chamada equipe Scrum, que agrupa conhecimento de negócio e conhecimento técnico. 

 

Jogos de planejamento

O caminho é inverso ao tradicional, pois, geralmente, a equipe de projeto gasta um longo tempo documentando para depois planejar. Aqui a situação é diferente, devemos passar um bom tempo planejando para depois documentar. 

O planejamento deve ser interativo, com vários debates entre o  Product Owner, o  Scrum Master e a Equipe de Desenvolvimento.

 

Entregas curtas

A liberação de pequenas versões ou incrementos do projeto, auxiliando no processo de aceitação por parte do cliente, possibilitando que o feedback por parte dele também seja feito em intervalos menores, minimizando os riscos e aumentando as chances de o cliente receber um produto adequado e obter ganhos mais rapidamente. 

 

Teste do usuário

São os testes considerados críticos de aceitação do software a ser entregue. A partir dos testes elaborados pelo cliente, a equipe de desenvolvimento constrói ferramentas para automatização, de modo que a cada iteração estejam rodando novamente. 

Esta prática oferece um feedback do desenvolvimento da aplicação. 

 

Práticas de uma equipe Extreme Programming 

 

 

 

Propriedade coletiva

É um dos principais pontos para um projeto desenvolvido por uma equipe Extreme Programming. Todo o código produzido pertence à equipe, sendo assim, todos têm acesso e autorização para modificar o código da aplicação. 

Essa autonomia gera uma propriedade coletiva do projeto, possibilitando que todos sejam responsáveis por todas as partes. Além disso, melhora o conhecimento e compartilhamento e reduz os riscos de falha de comunicação entre os desenvolvedores.  

 

Padronização de código

Essa prática foi criada para estabelecer padrões bem definidos pela equipe para os códigos escritos, assim, fica fácil a comunicação e os ajustes futuros de design.

A própria equipe cria as regras para o desenvolvimento e as aplicações em seus códigos. 

Deixar todos como se fossem feitos por uma única pessoa permite compreensão dos códigos escritos, diminuindo impactos provocados quando os desenvolvedores aplicam padrões próprios. 

 

Ritmo sustentável

Também conhecida como “semana de 40 horas” ou “ritmo saudável”, essa prática procura obter maior produtividade dos desenvolvedores para a criação de software de melhor qualidade que alcance a satisfação esperada pelo  cliente

O nome serve para estimular o ritmo de trabalho saudável, evitando ao máximo horas extras. Quando se aplica um ritmo forte demais, a produção do time e a qualidade do projeto caem e a exaustão mental cresce. 

 

Metáfora

É a técnica usada para traduzir as palavras do cliente para um significado comum, tanto para Equipe de Desenvolvimento, quanto para o cliente. Com a utilização de metáforas, todos terão o mesmo entendimento a partir das palavras padronizadas.  

O objetivo é que todos entendam o que precisa ser desenvolvido e o produto que está sendo construído, para gerar o valor esperado dentro do projeto. 

 

Integração contínua

Nesse cenário, é necessário agrupar as alterações no código feitas por todos os desenvolvedores, pois no desenvolvimento de softwares geralmente há equipes com vários profissionais. 

O método Extreme Programming utiliza a prática conhecida como integração contínua para solucionar essa necessidade. Com isso, os membros de um time unificam seu trabalho frequentemente, às vezes com múltiplas integrações diárias. 

A grande vantagem desse processo é o feedback quase instantâneo em que um processo automatizado resulta. 

 

Programação em par

Essa prática, geralmente, é a mais específica do Extreme Programming e sugere que o desenvolvimento seja feito em pares e que o código produzido seja implementado por duas pessoas juntas.

Essa prática permite maiores chances de obter melhor qualidade em design e comunicação. 

Sendo assim, a programação paralela permite o compartilhamento de conhecimentos e experiências, aumenta a qualidade, promove a identificação de riscos e facilita a formação de equipes de alto desempenho.  

 

Práticas individuais Extreme Programming 

 

 

Desenvolvimento orientado a testes

Essa prática tem como conceito fundamental a afirmação de acabado. Os testes, para essa etapa, são realizados para detectar e corrigir falhas e dificilmente eles serão feitos novamente. 

Esses testes fornecem a segurança necessária para garantir a qualidade de forma contínua e, ao mesmo tempo, proporcionar coragem para mudar quando necessário. Além de minimizar os riscos de embutir defeitos no produto final.

 

Refatoração

As equipes Extreme Programming utilizam essa prática para melhorar a qualidade do código existente, por meio de alterações em pequenas partes dos sistemas, tornando o código mais limpo, claro e de melhor compreensão. 

Essa prática é importante, pois o sistema tende a se deteriorar quando não investimos continuamente tempo na sua limpeza e reorganização. 

 

Design simples 

Essa é a prática em que o design de uma aplicação surge de forma iterativa ao longo de um projeto, buscando sempre a solução mais simples e que atenda às necessidades do real momento. 

Com essa prática, o time se esforça naquilo que todos têm certeza que é necessário para o momento atual, e o que pode ser útil para o futuro fica para ser tratado quando o momento chegar e a certeza da sua necessidade também.  

 

 

Pronto para se profissionalizar? 

 

Gostou do nosso artigo que trata das práticas do Extreme Programming? Espero que sim! 

Agora vou te apresentar a oportunidade que faltava para você se tornar um profissional que detém conhecimento ágil. 

Nós temos um curso de introdução ao Agile Scrum que traz um passo a passo do que você deve fazer para implantar o Scrum em seus projetos e diversas questões comentadas para você conhecer e se preparar para exames de certificação Scrum.

Não perca essa oportunidade, seja o diferencial na sua empresa. 

 

 

Não se esqueça de deixar nos comentários o seu feedback, assim como XP nós buscamos o melhoramento contínuo com a ajuda de nossos leitores.