Para entender o que é agilidade, vamos começar pela definição. A mais comum para “ágil” poderia ser: “que se movimenta com facilidade; ligeiro, leve”.
Como surgiu e o que é agilidade?
O nome “Ágil” (ou “Agilidade”) foi escolhido para representar um movimento que surgiu em meados dos anos 90 em resposta aos pesados métodos de gerenciamento de desenvolvimento de software que predominavam na época, que aqui chamamos de “métodos tradicionais”.
O método tradicional mais conhecido para o desenvolvimento de software é o modelo em cascata, ou waterfall. Esse modelo foi inicialmente descrito por Royce em 1970 e se caracteriza por uma sequência de fases de desenvolvimento. Cada fase somente se inicia quando a anterior se encerra, e a saída de uma fase é a entrada da fase seguinte, como mostrado na figura a seguir.
Royce, no entanto, criticava o modelo em seu artigo, afirmando que, para o desenvolvimento de software, seu uso era arriscado.
Métodos tradicionais vs. métodos ágeis
Os métodos tradicionais são fortemente prescritivos e, de forma geral, se caracterizam pelo foco em planos detalhados definidos no princípio do projeto, como custo, escopo e um cronograma detalhado, em microgerenciamento, no poder centralizado, em processos cada vez mais complicados e em extensa documentação. Mudanças são fortemente indesejadas.
Acreditava-se que, pelo uso desses métodos, seria possível tratar o desenvolvimento de software como um processo previsível, no que, quanto mais falhavam, mais pesados e complexos esses métodos se tornavam.
Scrum e Extreme Programming, por exemplo, ajudam a entender o que é agilidade. Eles são métodos ágeis porque, assim como outros métodos, metodologias e frameworks, sua utilização deve seguir os princípios e valores do Manifesto para o Desenvolvimento Ágil de software.
O Manifesto Ágil
Esse Manifesto foi criado em fevereiro de 2001 em uma reunião que aconteceu na estação de esqui de Snowbird no estado de Utah, Estados Unidos. O documento foi assinado por dezessete líderes representantes de ideias, metodologias e processos. Em contraste com as práticas predominantes na época, eles estavam trazendo valor para seus clientes por meio de abordagens leves e empíricas para projetos de desenvolvimento de software.
Nesse encontro histórico, não havia entre os participantes a intenção de unificar suas formas de trabalhar. A expectativa de se chegar a qualquer tipo de consenso era limitada e variada. No entanto, apesar das diferentes práticas defendidas, os participantes encontraram um conjunto de valores em comum. Ao final de três dias, estabeleceram o termo “Ágil” para representar o novo movimento.
O Manifesto Ágil, como ficou conhecido, pode ser encontrado em diversas línguas, inclusive em português do Brasil (eu mesmo participei desse esforço de tradução). Ao procurar na Internet pelos nomes dos signatários originais do Manifesto e por suas ideias, é possível perceber ver o quão representativa a grande maioria deles ainda é.
Os 12 Princípios Ágeis
A partir do Manifesto Ágil, foram criados 12 princípios ágeis. Resumidamente, eles falam sobre os assuntos:
- Satisfação do cliente
- Vantagem competitiva
- Ciclos curtos
- Negócio e desenvolvimento em conjunto
- Motivação de indivíduos
- Conversa face a face
- Entrega de valor ao cliente
- Desenvolvimento sustentável
- Excelência técnica
- Simplicidade
- Equipes auto-organizadas
- Adaptação dos processos de trabalho