As Práticas do Extreme Programming (XP)

Extreme Programming é uma metodologia de desenvolvimento ágil XP. Vamos conhecer um pouco mais sobre suas práticas neste artigo.

Por
3 min. de leitura

Faaaaaala seus lindos!!! Tudo bem com vocês?

Nesse artigo estudaremos mais um pouco da metodologia de desenvolvimento ágil XP (eXtreme Programming), e agora falaremos sobre as suas práticas.

Como em outras metodologias ou frameworks, o eXtreme Programming tem as suas práticas descritas e que são cobradas frequentemente nas provas de concursos.

Vejamos abaixo quais são e práticas:

Pequenos Releases (entregas): Consideramos uma release, algo que está pronto para ser utilizado. Assim, uma Release deve ser conjunto mínimo de funcionalidades que possuem valor para o negócio, e as próximas entregas adicionam funcionalidade à primeira entrega incrementalmente. Release (entregas) pequenas permitem o feedback rápido, e assim, rápida adaptação.

Planejamento Incremental: Essa prática, também conhecida como Jogo de Planejamento, tem como objetivo determinar os requisitos da próxima release (histórias de usuário), combinando prioridades do negócio e estimativas técnicas. Posteriormente os desenvolvedores definem as estimativas, que devem sempre ser atualizadas.

Projeto (design) Simples: O design é elaborado para atender os requisitos atuais. É possível relacionar essa prática aos princípios do manifesto ágil que preconizam a excelência técnica e bom design, além da simplicidade.

Desenvolvimento Test-First: Os testes são escritos antes da codificação de uma funcionalidade, o que é conhecido como TDD (Test-Driven Design). Assim, os testes se tornam as especificações para a programação, e são intercaladas a função de testar um pouco com a de codificar um pouco. 

Refatoração: A refatoração significa melhorar o código sem alterar sua funcionalidade, e busca um aumento contínuo de qualidade do código. Assim, após a refatoração o código deve manter seu funcionamento como anteriormente.

Programação em Pares: Desenvolvedores trabalham em dupla, checando o trabalho um do outro e garantindo que o trabalho seja bem feito. Por isso, quando falamos de programação em pares, estamos falando de duas pessoas trabalhando com UMA máquina onde um codifica, e o outro acompanha, critica ou sugere outras formas de realizar a atividade. Ainda, periodicamente, os pares trocam de lugar, facilitando o aprendizado dos novos integrantes.

Propriedade coletiva do código: Não existe “dono’ de uma funcionalidade ou parte do código. Assim, todos podem modificar o código a qualquer momento, sendo a melhor forma de evitar problemas da perda de conhecimento quando há rotatividade da equipe. 

Integração Contínua: Todo código deve ser integrado após uma tarefa ser concluída e todos testes devem ser rodados antes e depois da integração, e as correções devem ser realizadas imediatamente.

Ritmo Sustentável: O ritmo de trabalho deve ser mantido evitando o excesso de horas extras pela equipe. Além da redução gradativa da qualidade, o excesso de horas de trabalho pode desmotivar a equipe, impactando na sua produtividade.

Cliente presente: Clientes devem estar presentes próximos aos desenvolvedores durante todo o tempo. Eles são importantes para a escrita dos testes de aceitação, definição das prioridades em relação às funcionalidades a serem desenvolvidas nas futuras iterações.

Metáforas: É a técnica usada para representar as palavras do contexto do cliente para um significado comum, que possa ser facilmente compreendido pela Equipe de Desenvolvimento.

40 horas de trabalho: O eXtreme Programming preconiza que trabalho extra é sintoma de que algo está errado. Devemos manter um ritmo sustentável e por isso não se pode trabalhar horas na semana.

Padrões de Codificação: Para que todos possam alterar todos os códigos, refatorá-los e trabalharem em pares, é importante que seja mantido um padrão de codificação, definido anteriormente pela equipe do projeto.

Vamos ver como isso já foi cobrado em prova:

1) CESPE/ANALISTA SISTEMAS/STM/2011)

O extreme programming (XP), que se inclui entre os métodos ágeis, apresenta, entre outras, as seguintes características: pequenos releases, projeto simples, refactoring, programação em pares e propriedade coletiva.

Alternativa Correta!

 

2) CESPE/ANALISTA TI/TCE-RO/2019

No que diz respeito a processos e práticas ágeis, o desenvolvimento incremental

  1. A) é, assim como o test-driven development, uma prática da XP (Extreme Programming) que exige teste automatizado, domain-driven design, refactoring e integração contínua.
  2. B) é, na XP (Extreme Programming), sustentado por meio de pequenos e frequentes releases do sistema, e os clientes estão intimamente envolvidos na especificação e na priorização dos requisitos do sistema.
  3. C) enfoca, assim como o acceptance test-driven development, a qualidade do código desenvolvido quanto a recursividade, declaração das variáveis e clean code, de modo a torná-lo de fácil entendimento, modificação e testagem
  4. D) pressupõe o uso do behavior driven development, que considera a linguagem de programação a ser usada, da 4.ª geração em diante, com foco, principalmente, no comportamento visual, interativo e cognitivo do sistema.
  5. E) enfoca a integração contínua como uma prática de desenvolvimento de software, incompatível com a XP (Extreme Programming) e o Scrum, que permite aos desenvolvedores agregarem alterações de código e realizarem testes.

Gabarito: Alternativa B

 

3) CESPE/ANALISTA DEV/BACEN/2013

As principais características do Extreme Programming são a divisão em equipes de até 7 pessoas, duração de uma iteração de quatro semanas e distribuição de equipes. 

Gabarito: Afirmativa Errada!!

Lembrando que no Gran temos um curso completo de Gerenciamento Ágil de Projetos, incluindo tudo sobre Scrum e eXtreme Programming, além de outros conceitos importantes!

Um grande abraço!!

Professor Darlan Venturelli

@professordarlanventurelli


Quer ficar por dentro das novidades e das oportunidades em concursos para carreiras de T.I e receber notícias, avisos de aulas gratuitas, notificações dos nossos eventos e materiais gratuitos, áudios, vídeos e textos do time Gran T.I? Clique no link abaixo e participe gratuitamente do nosso canal no Telegram!

TELEGRAM T.I

Quer ficar por dentro dos concursos públicos abertos e previstos pelo Brasil?
Clique nos links abaixo:

CONCURSOS ABERTOS

CONCURSOS 2023

Receba gratuitamente no seu celular as principais notícias do mundo dos concursos!

Por
3 min. de leitura