Introdução ao Agile Pt. 1

Temos ouvido falar sobre "Agile", "método ágil", "agilidade", "marketing ágil", "gerenciamento ágil", mas afinal…

O que é Agile?

Agile é um movimento que tem como base um conjunto de valores e princípios definidos em 2001 para ajudar profissionais a tomarem melhores decisões em relação ao desenvolvimento e manutenção de um projeto, antecipando mudanças e ajudando a orientar as equipes através do processo de planejar e entregar rapidamente o projeto testado.

Basicamente o Agile busca alternativas à gestão de projetos tradicional (Cascata/Waterfall), onde, ao invés de prezar por processos previamente definidos, grandes documentações e escopos fechados, o movimento valoriza a colaboração entre equipes e clientes, interações entre os profissionais e cabeças abertas para mudanças frequentes. Esse tipo de abordagem ajuda a equipe a responder à imprevisibilidade através de um trabalho iterativo, incremental e munido de feedbacks empíricos. Os clientes podem solicitar mudanças objetivas durante o projeto sem grandes alterações no orçamento ou no cronograma.

Alguns dos 12 princípios

Para ver todos os princípios, dê um pulo no Manifesto.

  1. Satisfação do cliente através da entrega contínua e adiantada de software com valor agregado.
  2. Entregas funcionais frequentes, de poucas semanas a poucos meses.
  3. Construção do projetos em torno de indivíduos motivados, dando a eles o ambiente e o suporte necessário e confiança para fazer o trabalho.
  4. Em intervalos regulares a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento de acordo.

Enquanto que na metodologia tradicional o projeto para ser entregue leva de poucos a muitos meses ou até anos, seguindo os princípios Agile conseguimos entregar funcionalidades ou ajustes em poucas semanas. Isso se faz seguindo três fases curtas de planejamento, desenvolvimento e testes. Ao fim dessas fases um novo ciclo é iniciado para o desenvolvimento e implementação de uma nova funcionalidade. Os insights obtidos com a avaliação serão utilizados para determinar o próximo passo no desenvolvimento.

Mas como definir os recursos e funcionalidades necessárias para a próxima iteração? Existem alguns métodos facilitadores como o Design Sprint, criado pela Google Ventures, onde o time se reune para responder questões críticas de negócios através de design, prototipagem e testes com os usuários.

Ou seja, o cliente não precisa saber ou definir tudo o que precisa no início do projeto, essas atualizações e incrementações serão realizadas ao longo do processo em ciclos contínuos.

Vantagens

O método economiza tempo e dinheiro pois há uma série de testes e aprovações em cada etapa do projeto.

Além de tudo, produtos que funcionam e que entregam ao cliente e ao usuário o que eles precisam, são mais eficazes que enormes escopos e produtos parrudos que não possuem uma utilidade real, ou que levam séculos para ficarem prontos. Esse arrasto é um dos maiores fatores desmotivacionais de uma equipe. Uma equipe desmotivada não produz tão bem, perdendo invariavelmente a confiança de seus gestores, que por sua vez se traduz em mais desmotivação, gerando um ciclo vicioso e altamente prejudicial ao projeto e à saúde mental desses profissionais.

Para nós que crescemos em empresas e agências que utilizam o modelo tradicional de gerenciamento e que hoje aplicamos métodos ágeis, fica claro como a satisfação do cliente é muito maior e o tempo para a entrega de um produto funcional é substancialmente reduzido.

Quer mais vantagens? Existe uma maior união e interação entre a equipe, o cliente se sente mais integrado e participante, os usuários são ouvidos frequentemente, acelera-se o tempo gasto na percepção e correção de problemas, mudanças são feitas mais rapidamente e durante todo o processo, transparência através de reuniões regulares e consistentes, custo menor de projeto e maior flexibilidade do começo ao fim. Ufa!

É importante ressaltar que diferentes tipos de projetos pedem por diferentes approaches. Porém, o Agile têm funcionado muito bem para os nossos processos e com ele conseguimos entregar mais em menos tempo e com maior qualidade, sem deixar nenhum programador estressado ou designer frustrado. ;)

Na próxima parte explicarei como aplicar os princípios do Agile nos seus projetos.