Se você trabalha com tecnologia, certamente já ouviu falar do Manifesto para Desenvolvimento Ágil de Software, conhecido apenas como Manifesto Ágil ou Agile Manifesto. E, se nunca ouviu, provavelmente você trabalha aplicando os princípios do manifesto em sua rotina de trabalho e ainda nem se deu conta.
Mas, afinal, o que é esse tal Manifesto Ágil e por que ele é tão importante?
Neste artigo, vamos explicar tudo: quando ele surgiu, os valores e princípios do manifesto. Além disso, também vamos discutir as vantagens de seguir esses preceitos no seu dia-a-dia e como isso pode melhorar a sua produtividade.
O que é o Manifesto Ágil?
O Manifesto Ágil é um documento que reúne princípios e valores que norteiam uma proposta mais versátil para execução de trabalhos e desenvolvimentos de projetos.
Ele surgiu como uma alternativa às metodologias tradicionais e tem como objetivo descobrir maneiras melhores de desenvolver softwares e ajudar os outros a fazê-lo mais rapidamente.
De acordo com o site oficial do Agile Manifesto, o Manifesto Ágil não é anti-metodologia. Pelo contrário, o manifesto procura restaurar a credibilidade da palavra metodologia e restabelecer um equilíbrio entre metodologia e liberdade para executar os processos.
A História do Manifesto Ágil
O documento do Manifesto Ágil foi criado entre os dias 11 e 13 de fevereiro de 2001 no estado norte-americano de Utah, durante um encontro de desenvolvedores.
Nesse encontro, eles buscavam debater o futuro do desenvolvimento de softwares e das diversas metodologias ágeis que eles utilizavam.
Ainda assim, mesmo com metodologias de trabalho diferentes, eles compartilhavam da insatisfação e da necessidade de mudança no formato de trabalho atual.
Nessa reunião foram discutidas formas de melhorar o trabalho para desenvolvedor e foi daí que surgiu o Manifesto Ágil — um guia para desenvolvedores de softwares do que é e do que não é ágil no processo de criação.
Os criadores do Manifesto Ágil
A chamada “Aliança Ágil” (como os criadores do Agile Manifesto ficaram conhecidos) é composta por desenvolvedores que utilizam variadas metodologias ágeis.
Por exemplo: Extreme Programming (XP), SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming, entre outras.
Os 17 desenvolvedores e autores do Manifesto Ágil são:
- Alistair Cockburn: fundador da Humans and Technology e criador da Metodologia Ágil Crystal – focada nas habilidades pessoais;
- Andrew Hunt: coautor do livro The Pragmatic Programmer: From Journeyman to Master e consultor em desenvolvimento ágil de software;
- Arie van Bennekum: ativamente envolvido na Metodologia de Desenvolvimento de Sistemas Dinâmicos (DSDM) – método que foca na integração entre equipes e desenvolvedores;
- Brian Marick: cientista, consultor e programador de desenvolvimento de softwares;
- Dave Thomas: programador e co-autor do livro The Pragmatic Programmer;
- James Grenning: autor da técnica Test Driven Development – técnica baseada em testes para cada funcionalidade que é desenvolvida;
- Jeff Sutherland: criador da metodologia Scrum – modelo de gestão e liderança que aumenta a proatividade e a entrega de projetos entre equipes;
- Jim Highsmith: criador da metodologia Adaptive Software Development (ASD) – metodologia flexível que permite mudanças e adaptações à sua realidade;
- Jon Kern: consultor e palestrante em assuntos de agilidade;
- Ken Schwaber: co-criador da metodologia Scrum e co-autor do livro Scrum, Agile Software Development;
- Kent Beck: co-criador da Extreme Programming (XP) – metodologia focada no desenvolvimento de softwares;
- Martin Fowler: desenvolvedor e cientista chefe da Thoughtworks – empresa de consultoria e desenvolvimento de aplicativos;
- Mike Beedle: fundador e CEO da e-Architects Inc, empresa que presta consultoria e treinamento para empresas de arquitetura que desejam aplicar metodologias ágeis na rotina de trabalho;
- Robert C. Martin: profissional de software e consultor internacional. É conhecido como “Uncle Bob”;
- Ron Jeffries: co-criador da Extreme Programming (XP) e palestrante de conferências de softwares;
- Steve Mellor: cientista da computação e idealizador da Análise de Sistema Orientado a Objetos (OOSA).
- Ward Cunningham: reconhecido por ser o criador do conceito WikiWikiWeb e pelas contribuições à metodologia Extreme Programming (XP).
Saiba mais sobre as principais metodologias ágeis utilizadas pelos criadores do Agile Manifesto.
Os 4 valores do Manifesto Ágil
O Manifesto Ágil reconhece a importância dos processos e das técnicas, mas acima disso valoriza o indivíduo e a experiência das pessoas. Por isso, os 4 valores do Agile Manifesto seguem essa linha de pensamento:
Indivíduos e interações acima de processos e ferramentas
O desenvolvimento de softwares é um processo que exige conhecimento das ferramentas e da boa execução dos processos. Entretanto, é acima de tudo um processo que envolve a participação humana.
Sendo assim, é importante ter uma boa relação entre a equipe e que eles consigam interagir entre si de maneira clara, sem ruídos de comunicação.
Software performando é melhor que uma documentação extensa
Assim como é importante ter uma documentação explicando o que foi produzido ou como utilizar, numa espécie de manual, é ainda mais importante ter o produto funcionando bem.
O funcionamento do software é a melhor prova do trabalho que está sendo desenvolvido e a melhor forma do usuário entender a sua funcionalidade.
Colaboração com o cliente é mais importante que negociação de contratos
Ao mesmo tempo que o foco do desenvolvedor deve ser na satisfação do cliente, ele também precisa ser no bom funcionamento do trabalho da equipe.
Apesar de ser importante estabelecer um contrato, muitas vezes a boa relação com o cliente é a maior garantia de um bom resultado e contentamento para ambas as partes.
Respostas ágeis a mudanças mais do que seguir um plano
A capacidade de reagir bem a mudanças e de adaptação são fundamentais para os desenvolvedores, visto que o processo de criação é um processo baseado sobretudo em testagens do que está sendo executado.
Ter um plano de ação é importante, mas não deve ser a única forma de trabalho encontrada pela equipe.
Os 12 princípios do Manifesto Ágil
Além dos valores do Agile Manifesto, a Aliança Ágil também pensou em 12 princípios bases para o manifesto e que norteiam os desenvolvedores até os dias de hoje. Confira abaixo:
Valor agregado
A maior prioridade da equipe de desenvolvedores que utiliza o Agile é deixar o cliente satisfeito. Para isso, o projeto é executado de forma a agregar valor à vida do cliente por meio de um software que traga soluções importantes para ele.
Rápida Adaptação
Assim como o valor do manifesto que preza por respostas rápidas, este princípio fala da importância de saber se adaptar às mudanças.
Em um mundo tão conectado onde as necessidades mudam rapidamente, principalmente na área de TI, é preciso ser flexível e saber ouvir as alterações solicitadas pelo cliente, para identificar o que realmente pode ser modificado.
Frequência de entregas
Quando iniciamos um projeto, é normal a ansiedade para vê-lo pronto. Com um software não é diferente. Entretanto, para ser totalmente desenvolvido ele leva um tempo, apesar de sempre haver esforço da equipe para entregá-lo o mais rápido possível.
Dessa forma, durante as etapas de produção é importante apresentar para o cliente o que foi desenvolvido até então. Assim ele consegue acompanhar o passo a passo do seu projeto e entender o porquê dos prazos estabelecidos.
Trabalho em conjunto
A parceria entre cliente e equipe de desenvolvedores, assim como a parceria entre os desenvolvedores envolvidos no projeto, é determinante para um resultado de qualidade e que atenda as expectativas do consumidor.
Indivíduos motivados
Trabalhar motivado e se sentir reconhecido no ambiente de trabalho faz toda diferença. Por isso, um gestor deve se preocupar em manter a equipe motivada e prestar todo suporte necessário para que eles se sintam bem ao desempenhar o seu papel.
Comunicação eficiente
Estabelecer um bom diálogo entre a equipe através de reuniões é uma estratégia super eficaz. Por exemplo: uma reunião ajuda a definir objetivos, escolher novos projetos, tirar dúvidas e ouvir novas ideias.
Software funcional
Mais importante do que o “como foi feito” é a entrega daquilo que está sendo desenvolvido. No método Agile as pessoas são estimuladas a entregar seus resultados de forma funcional e com boa execução.
Desenvolvimento sustentável
Os projetos devem ser desenvolvidos de acordo com os recursos disponíveis, com planejamento e colaboração entre equipes para que todos trabalhem bem e de forma saudável.
Excelência técnica
Prestar atenção aos detalhes de usabilidade e submeter o projeto a constantes revisões são fundamentais para que o trabalho seja aprovado mais facilmente pelo cliente. Portanto, o design é parte da experiência do usuário que precisa de uma atenção extra para proporcionar uma melhor experiência.
Processos simplificados
É necessário procurar a simplicidade dos processos e evitar a burocratização do projeto. Quanto mais simples, melhor. Por isso que nos métodos ágeis não são tão necessários documentos e registros do que está sendo executado.
Time auto-organizável
Um gestor precisa dar liberdade para que a equipe possa se organizar entre si, de acordo com as habilidades e preferências de cada um. Assim, o trabalho flui melhor e todos ficam satisfeitos com o que estão executando.
Aprimoramento contínuo da equipe
Parte importante de qualquer processo é o momento de autoavaliação. Assim, refletir sobre o que foi feito é uma oportunidade de identificar os pontos positivos, os negativos e pensar nas melhorias dos processos.
Vantagens da metodologia ágil
- Agilidade: as fases do processo são mais rápidas e menos burocráticas;
- Comunicação facilitada: cliente e equipe tem um canal direto para comunicação e troca de ideias;
- Equipes independentes: possuem mais liberdade para tomar decisões por conta própria;
- Participação do cliente: o cliente acompanha todo processo de desenvolvimento, o que aumenta a sua satisfação na entrega final do produto;
- Produto personalizado e de qualidade: a liberdade para criar e o acompanhamento do cliente em cada etapa garantem um projeto finalizado de acordo com o esperado pelo cliente.
Diferenças entre o método tradicional e ágil
As metodologias tradicionais são mais rígidas e se baseiam em etapas do projeto pré-definidas que devem ser seguidas à risca. Nesse caso, cada etapa precisa ser finalizada antes do início da próxima etapa.
Ao contrário acontece nas metodologias tradicionais, nas metodologias ágeis as etapas do processo são flexíveis e adaptáveis para a melhor estratégia definida – mesmo que a estratégia passe por alterações, o projeto se modifica junto.
Abaixo, veja uma tabela com as principais diferenças entres as metodologias de gestão de projetos:
Se você ficou interessado e quer conhecer ainda mais do Agile Manifesto e como aplicá-lo na sua rotina, participe do Agile Days. Totalmente gratuito e 100% online, o Agile Days é um dos maiores eventos da América Latina sobre gestão ágil.
O evento receberá diversos convidados que discutirão sobre aprendizagem ágil, business agility, gestão de produtos e muito mais. Participe!