A maioria dos conceitos adotados pelos frameworks ágeis nada possuem de novo. A principal diferença entre essas frameworks e as metodologias tradicionais são o enfoque e os valores. As frameworks ágeis enfocam as pessoas e não os processos ou algoritmos como as metodologias tradicionais. Além disso, existe a preocupação de gastar menos tempo com documentação e mais com a implementação. Propiciando assim maior interação entre desenvolvedores e clientes (ALVES, 2009).
O Manifesto Ágil
Percebendo que a industria de software apresentava um grande numero de casos de fracasso, alguns lideres experientes adotaram modos de trabalho opostos às metodologias tradicionais. Nesse sentido em 2001, durante uma reunião realizada por 17 desses lideres, concluiu-se que desenvolver software é algo complexo demais para ser definido por um único processo. O desenvolvimento de software depende de muitas variáveis e principalmente é realizado por pessoas em praticamente todas as etapas do processo (BASSI FILHO, 2008). Nesse encontro chegaram a um concenso quanto a alguns princípios que levavam a bons resultados. Entretanto concluiram que uma metodologia unificada seria incapaz de atender todas as particularidades (SOUZA NETO, 2004). Desse trabalho surgiu o Manifesto Ágil cujo foco era o cliente e a agilidade no desenvolvimento de softwares.
O Manifesto Ágil valoriza quatro principios centrais, que resumem bem o foco do novo processo (BEEDLE, 2001).
- Indivíduos e interação entre eles mais que processos e ferramentas
- Software em funcionamento mais que documentação abrangente
- Colaboração com o cliente mais que negociação de contratos
- Responder a mudanças mais que seguir um plano
Após a divulgação do Manifesto Ágil surgiram e/ou ganharam destaque uma ampla gama de novos frameworks Ágeis. Dentre as quais as mais conhecidas são eXtreme Programming (XP), a Scrum e a TDD. Essas frameworks mantem, entre si, muitas características em comum e geralmente diferenças sutis. De acordo com Pressman (2006) essas frameworks ressaltam quatro tópicos-chave: são equipes de desenvolvimento pequenas, entre 2 e 10 membros, que se auto organizam; priorizam mais o desenvolvimento em detrimento da documentação; reconhecem aceitam a mudança além de valorizarem e estimularem a comunicação tanto entre os membros da equipe quanto entre a equipe e o cliente.
Outras características não citadas por Pressmam mas que merecem destaque são o fato de serem mais utilizadas em projetos pequenos, embora possam ser aplicadas em grandes projetos. Além disso, assim como no PU os agilistas adotam o desenvolvimento iterativo a fim de maximizar o feedback e minimizar riscos.
Treinamentos relacionados com essa postagem
Referências:
ALVES, Sérgio de Rezende; ALVES, André Luiz. Engenharia de Requisitos em Metodologias Ágeis. Goiânia: Universidade Católica de Goiás (PUC – Goiás), 2009. Disponível em: < http://www.cpgls.ucg.br/ArquivosUpload/1/File/V%20MOSTRA%20DE%20PRODUO%20CIENTIFICA/EXATAS/10-.PDF > acesso em: 04 abr. de 2011.
BASSI FILHO, Dairton Luiz. Experiências com Desenvolvimento Ágil. São Paulo: USP – Istituto de Matemática e Estatística da Universidade de São Paulo, 2008.
SOUZA NETO, Oscar Nogueira de. Análise Comparativa das Metodologias de Desenvolvimento de Softwares Tradicionais e Ágeis. Belém: Unama – Universidade da Amazônia, 2004.
PRESSMAN, Roger S. Engenharia de Software : 6 ed. São Paulo: McGraw Hill/Nacional, 2006.
BEEDLE, Mike et al. Manifesto para o desenvolvimento ágil de software. Disponível em: <http://manifestoagil.com.br/>. Acesso em: 28 fev. 2011.