Agile - XP (eXtreme Programming)

eXtreme Programming (XP) Metodologia Ágil
eXtreme Programming

O artigo Agile - Scrum nos deu uma breve introdução referente a metodologia Scrum, nos apresentando seus pilares, suas atividades, ferramentas e papeis.

Este artigo é a segunda parte de três sobre as metodologias ágeis mais conhecidas atualmente. Ele dará uma breve introdução sobre a metodologia eXtreme Programming, mais conhecida como XP.

Scrum é um framework bastante popular e dá mais ênfase no gerenciamento de atividades e tarefas. Ele pode ser utilizado em conjunto com outros métodos e processos que focam em engenharia ágil de software, como o eXtreme Programming (Programação Extrema), mais conhecida como XP.

O XP é uma metodologia ágil de desenvolvimento de software voltada para times de pequeno a médio porte, no qual os requisitos são vagos e mudam com frequência. Ele foi desenvolvida na década de 90 por Kent Beck, Ward Cunningham e Ron Jeffries.

O XP prescreve quatro atividades básicas.
  • Ouvir: nem sempre os desenvolvedores possuíram o conhecimento de negócio necessário para se construir o software.
  • Esboçar: partindo do princípio YAGNI (You Aren't Gonna Need It - Você não vai precisar disto), um design simples é uma excelente ferramenta para que todos compreendam melhor o sistema.
  • Codificar: todo o código fonte de produção é coletivo e feito em desenvolvimento em pares e integração continua.
  • Testar: no XP é feito o TDD (Teste Driven Development - Desenvolvimento Guiado por Teste), ou seja, os testes de unidade são escritos antes do código de produção. Quando um defeito é detectado, cria-se um teste de unidade para garantir que o mesmo não ocorra novamente.
As pessoas envolvidas no processo de desenvolvimento são divididas nos seguintes papeis:
  • Desenvolvedor: é aconselhável que seja multidisciplinar para que seja elevado o nível de agilidade do time, pois é ele quem estima as histórias de usuários e tarefas, quebra as histórias em tarefas, escreve testes, escreve código, automatiza processos de desenvolvimento e aprimora o design do sistema.
  • Cliente: define e prioriza as histórias de usuário, validando o produto desenvolvido por meio de testes de aceitação.
  • Coach: facilita a reunião e orienta o time, mantendo a disciplina na aplicação das práticas ágeis e lembrando a equipe da importância das cerimônias, construção, manutenção de artefatos e uso de ferramentas.
  • Testador: auxilia o cliente a escrever testes de aceitação, para, então, automatizá-los e serve como um programador coach em técnicas de testes.
  • Cleaner: cuida da limpeza do código; encorajar os membros a praticar pequenas refatorações; reduzir a complexidade e acoplamento do código; e a aumentar a coesão dos métodos, realizando sua extração e tornando o código cada vez mais enxuto.
  • Tracker: responsável por coletar as métricas de projeto, sem perturbar o desenvolvimento, para gerar métricas que mostram o desempenho do time.
  • Gerente: facilita e coordena a comunicação entre time, clientes, fornecedores e o resto da organização. Ele gerencia e acompanha o planejamento, pois o planejar é uma atividade e não uma fase.
Uma pessoa pode adotar mais de um papel. Porém, é aconselhável que alguns papéis, como coach e gerente, não sejam admitidos por uma mesma pessoa, porque seus interesses são conflitantes.

O que você aprendeu

Vimos uma breve introdução do método eXtreme Programming, pois temos uma série de artigos dedicado especialmente a ele. Vale ressalta que nenhum método é melhor que o outro, pois não existe um método completo e perfeito, por isso, você é livre para combinar as ferramentas e aproveitar o que funciona melhor para o seu contexto. Especificamente, você aprendeu:
  • Como funciona e o que é XP. 
  • As atividades do XP.
  • Os papeis do XP.

Continua em

Continuação de

Referência Bibliográfica
GOMES, A. F. Agile - Desenvolvimento de Software com entregas frequentes e foco no valor de negócio. 01. ed. São Paulo: Casa do Código. 208 p.

WILDT, D; MOURA, D; LACERDA, G; HELM, R. eXtreme Programming - Práticas para o dia a dia no desenvolvimento ágil de software. 01. ed. São Paulo: Casa do Código. 144 p.



Para citar esse artigo:

Comentários