Daves Balthazar

031 – O Manifesto ÁGIL

Playlist do Curso de Padrão de Projeto de Software (Design Patterns)

O Manifesto Ágil: é uma declaração de princípios que fundamentam o desenvolvimento ágil de software.

Valores
De acordo com as experiências de desenvolvimento de software e ajudando os outros a desenvolver, os dezessete signatários do manifesto ágil definiram os quatro valores do desenvolvimento ágil:

Os indivíduos e suas interações acima de procedimentos e ferramentas;
O funcionamento do software acima de documentação abrangente;
A colaboração com o cliente acima da negociação e contrato;
A capacidade de resposta a mudanças acima de um plano pré-estabelecido;
Assim sendo, mesmo havendo valor nos itens à direita, os que estão à esquerda são mais valorizados.[1]

Como dito por Scott Ambler:[2]

Ferramentas e processos são importantes, mas é mais importante ter pessoas competentes trabalhando juntas de forma eficiente.
Uma boa documentação é útil para ajudar pessoas a entender como o software é criado e como usá-lo, mas o ponto principal do desenvolvimento é criar o software, não a documentação.
Um contrato é importante mas não é um substituto para um trabalho próximo aos clientes para descobrir o que eles precisam.
Um plano pré-estabelecido é importante, mas não deve ser muito rígido para acomodar mudanças na tecnologia ou no ambiente, as prioridades das partes interessadas e a compreensão das pessoas sobre o problema e sua solução.
Não se trata, como poderia parecer à primeira vista, de um desprezo aos elementos e ferramentas tradicionais do desenvolvimento de software, mas sim do estabelecimento de uma escala de valores, na qual a flexibilidade e a colaboração são mais relevantes do que a rigidez de processos e planejamento clássicos.

Princípios
Os 12 princípios do desenvolvimento ágil são os seguintes:[3]

Garantir a satisfação do cliente, entregando rápida e continuamente software funcional;
Até mesmo mudanças tardias de escopo no projeto são bem-vindas.
Software funcional é entregue frequentemente (semanal ou mensal – o menor intervalo possível);
Cooperação constante entre as pessoas que entendem do ‘negócio’ e os desenvolvedores;
Projetos surgem por meio de indivíduos motivados, devendo existir uma relação de confiança.
A melhor forma de transmissão de informação entre desenvolvedores é através da conversa ‘cara a cara’
Software funcional é a principal medida de progresso do projeto;
Novos recursos de software devem ser entregues constantemente. Clientes e desenvolvedores devem manter um ritmo até a conclusão do projeto.
Design do software deve prezar pela excelência técnica;
Simplicidade;
As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizáveis.
Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento.
Signatários Originais
Inicialmente, contou com 17 signatários, nomeadamente: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland e Dave Thomas.[3]