As 12 práticas do XP

Programação extrema, ou simplesmente XP, é considerada uma metodologia ágil e se ajusta bem a projetos de software com requisitos vagos e em constante mudança

1: Jogo de Planejamento | O jogo de planejamento é uma técnica usada no processo de planejamento de desenvolvimento de software, geralmente no contexto do desenvolvimento ágil. O principal objetivo do jogo de planejamento é alinhar os requisitos do cliente para iteração com a capacidade de desenvolvimento disponível.

2: Pequenos Lançamentos | É uma prática que põe ênfase em releases contínuos do software com pequenas correções, com essa prática é possível ter rápido feedback dos usuários e stakeholders para o refinamento do produto.

3: Design Simples | O Design Simples é uma metodologia utilizada para simplificar o desenvolvimento de software em qualquer fase de sua evolução, O sistema desenvolvido a partir desta metodologia, deve ser produzido da maneira mais simples possível, de maneira clara, seu código deve ser entendível e possível de ser continuado por qualquer membro do projeto, por isso quanto menor número de classes e métodos utilizados mais simples esse código será.

4: Programação em pares (duplas) | É uma prática que coloca duplas dentro do código, um deles sendo o piloto, que apenas escreve o código, o outro é um copiloto, que revisa e corrige o código feito pelo piloto, é uma prática que cria desperdício porém evita erros.

5: TDD (Test-Driven-Development) | Basicamente o TDD se baseia em pequenos ciclos de repetições, onde para cada funcionalidade do sistema um teste é criado antes. Este novo teste criado inicialmente falha, já que ainda não temos a implementação da funcionalidade em questão e, em seguida, implementamos a funcionalidade para fazer o teste passar! Simples assim!

6: Integração Contínua (CI) | A integração contínua é uma prática de desenvolvimento de software de DevOps em que os desenvolvedores, com frequência, juntam suas alterações de código em um repositório central. Depois disso, criações e testes são executados.

7: Propriedade Coletiva do Código | Todos podem modificar o código a qualquer momento. Códigos não pertencem a apenas uma pessoa. A melhor forma de evitarmos problemas como trocas de pessoas da equipe e com isso a perda de conhecimento é a propriedade coletiva, onde todos mexem em todas as partes do programa e conhecem de tudo um pouco.

8: Padrões de codificação | Todos mexem em todos os códigos, todos refatoram e todos trabalham em pares. Assim é interessante mantermos um padrão para termos algo solidificado. Por isso a melhor forma é a equipe definir um padrão de codificação sempre no inicio dos projetos.

click to edit

10 : Semana de 40 Horas |O XP preconiza que não se pode trabalhar horas extras por mais de uma semana, pois trabalho extra é sintoma de que algo está errado. Devemos manter um ritmo sustentável.

11: Vencer barreiras culturas | Práticas como deixar outra pessoa mexer no seu código, trabalhar em pares, vencer hábitos antigos é dever para quem pratica o XP.

9: Metáfora de Comunicação | É uma linguagem comum que todos devem possuir. Por exemplo, ao invés de descrevermos como uma certa arquitetura funciona apenas comunicamos o seu nome e todos entendem o que um programador quis dizer.

12: Reuniões Diárias (Stand Up Meeting) | É uma prática vinda do SCRUM em que todos fazem uma rápida reunião de pé para discutir o que foi feito no dia anterior, o que será feito no dia atual e se existe algum impedimento.

5 Princípios do XP

1: Feedback Rápido

Feedback rápido significa que o tempo entre o recebimento do feedback e a implementação no sistema deve ser mínimo.

Os desenvolvedores projetam, implementam e testam as funções. Consequentemente, o feedback é compartilhado imediatamente e é aplicado sem demora.

Além disso, o código também é revisado com o sistema e o feedback é compartilhado instantaneamente.

2: Assumir Simplicidade | Esse princípio sugere que os desenvolvedores devem tentar lidar com todos os problemas com simplicidade, como:

Um código desenvolvido deve refactar facilmente o ( reutilize após algumas modificações ) para realizar testes adicionais realizando testes de unidade.

Tente manter o código simples e siga a regra de “você não vai precisar”. Em outras palavras, significa que, se não precisamos agora, não devemos mantê-lo.

“Não se repita“, os desenvolvedores seguem esse princípio. Ou seja; você não deve manter várias cópias do mesmo documento, código, tarefa ou qualquer coisa.

3: Mudança Incremental | Alterações incrementais significam “mudanças em pequenos passos”. A Extreme Programming suporta alterações incrementais. Significa em um momento apenas muito:

Pequenas mudanças no plano

Alterações mínimas em uma equipe

Pequenas mudanças no design

4: Abraçando as Mudanças | É a abordagem que fala sobre adotar e considerar a maioria das mudanças, enquanto o problema real está sendo resolvido simultaneamente. Portanto, abraçando as conversas sobre mudança

A capacidade de aceitar as alterações no seu trabalho atual.

Fornecer o mesmo desempenho na implementação dessas mudanças também.

Adaptar essas mudanças sem prejudicar seu trabalho.

5: Trabalho de Qualidade | Fornecer o produto da melhor qualidade é o principal motivo. Para esclarecer, a equipe precisa.

Trabalhe em equipe

Bem-estar do programador

Processo contínuo

Compreensão compartilhada