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.
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.
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
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.
Para citar esse artigo:
Comentários
Postar um comentário