Categorias

Manifesto Ágil: Introdução e conceitos

“Nós não somos necessariamente Ágeis – Mas com certeza somos ágeis!”. Você pode ter ouvido essa expressão anteriormente e, se a ouviu, pode ter informação o suficiente para entender como trabalhamos. No entanto, se nunca a ouviu antes ou se ainda se interessa por como nós trabalhamos, “senta que lá vem história” – Rá-Tim-Bum 1990.

Agile, agile. Tomāto, tomăto?

Você pode estar se perguntando: “Por que raios ele está diferenciando duas palavras idênticas, enquanto a única diferença entre elas é o A maiúsculo?”. Bom, você está certo… elas deveriam significar a mesma coisa. Mas depois de 2001, o ano do Manifesto Ágil, tudo mudou. Primeiramente, vamos falar um pouco de história.

O malvado modelo Cascata (Waterfall)

O modo com o qual nossa indústria rodava projetos de software antigamente é um tanto quanto antiquado. Costumava funcionar com projetos que possuíam baixa probabilidade de mudança ao seu decorrer e, portanto, era mais fácil de planejar tudo já no início. No entanto, a frase que a mãe de Forrest Gump usou para definir a vida (“A vida é como uma caixa de chocolates, você nunca sabe o que vai encontrar” – Forrest Gump, 1994) também vale para projetos de software.

Acontece que a quantidade de mudanças durante a vida de um projeto é enorme, e a maioria das coisas que são definidas anteriormente costumam perder seu valor e não são mais necessárias.

A revolução ágil

Para que fosse possível entregar soluções mais rapidamente e melhor (com mais agilidade), uma revolução foi iniciada na área de desenvolvimento de software. Entre os anos 1990 e 2000, muitas metodologias foram inventadas e o modelo Cascata começou a se tornar obsoleto.

Para generalizar a intenção de todas essas novas metodologias, algumas pessoas se reuniram em Snowbird, perto de Salt Lake City em Utah (EUA), e assinaram um manifesto com alguns princípios que eles acreditavam serem os pilares do desenvolvimento de software ágil. Esse manifesto ficou conhecido como Manifesto Ágil, e aqui foi onde começamos a usar a palavra com A maiúsculo.

Metodologias Ágeis

Depois do Manifesto Ágil, muitas pessoas começaram a combinar diferentes metodologias “modernas” em uma caixinha chamada de Metodologias Ágeis. Com isso, eXtreme Programming, Scrum, Kanban, Lean, AUP, FDD entre outras, tornaram-se partes de uma grande caixa mágica.

Desde então, todos que falam de Ágil, estão se referindo à caixa de ferramentas e metodologias que nasceram com a intenção de serem ágeis.

O mal entendido

Quando nós falamos que somos Ágeis (ou até mesmo ágil, já que estamos falando e não escrevendo), as pessoas quase sempre nos perguntam: “Ah! Você usa Kanban ou Scrum?”. Ágil se tornou sinônimo dessas práticas. Mas e se nós estivermos sendo ágeis sem seguir nenhum processo previamente documentado?

Eles podem tirar as nossas vidas, mas eles nunca irão tirar a nossa liberdade.
— Coração Valente, 1995

Sim, estou sendo dramático. Mas, sim, nós não seguimos estritamente nenhuma dessas metodologias, mesmo que tenhamos estudado a maioria delas avidamente.

O nosso jeito

Nós gostamos, e seguimos, a maioria das ideias do Manifesto Ágil. Nós reagimos rápido em relação às mudanças, mantemos uma relação constante e saudável com nosso cliente, aplicamos entrega contínua e muito mais. Mas a ideia por trás de seguir tais metodologias não é para sermos chamados de Ágeis, mas para trazer agilidade à nossa cultura. Nós queremos entregar software de maneira rápida e certeira.

Portanto, nós definimos três valores que seguimos no decorrer de um projeto:

Previsibilidade

Nós queremos ser capazes de prever o máximo possível, e isso nos fez construir e utilizar uma série de métricas e modelos para melhorar nosso trabalho:

  • Cumulative flow diagrams
  • Vazão e gráficos Burnup
  • Lead time
  • Lead Time do processo inteiro
  • Limite de WIP
  • Projeções estatísticas de entrega de projeto

Visibilidade

Que visibilidade e transparência são essenciais para um projeto, todos já sabem. E nós concordamos, mas vamos um pouco mais a fundo: para nós, visibilidade não é o fim, mas o meio para um fim, que é suportar a tomada de decisão gerando ações. Nós dividimos essa estratégia em:

  • Monitoramento
    Constantemente monitorar nossas métricas para ajudar nosso cliente e nosso time a entender a saúde do projeto.
  • Análise
    Se uma de nossas métricas está fora do esperado, significa que precisamos agir.
  • Ação
    Todas as semanas nós mandamos um relatório com tais métricas para nossos clientes, juntamente com análises e sugestões de possíveis ações que podemos tomar juntos para superar a situação.

Excelência

Apenas prever e ter visibilidade do processo não é o suficiente. Além disso, nós buscamos a excelência. Nós somos nerds que estudam muito para entregar a melhor solução possível. Um exemplo desse engajamento é o fato de termos quatro livros escritos por pessoas da Plataformatec (e dois ainda por vir):

  • Programming Phoenix
  • Crafting Rails 4 Applications
  • Cucumber e RSpec
  • HTML5 e CSS3

Conclusão

Nós não podemos afirmar que somos Ágeis, já que não seguimos à risca nenhuma metodologia. No entanto, podemos afirmar com certeza que somos ágeis.

I’ll be back.
— O Exterminador do Futuro, 1984

E você? Se considera ágil ou Ágil?

 

 

 

Lucas Colucci é bacharel em Ciência da Computação pela USP, e mestre em Gerenciamento de Software pela Carnegie Mellon University. Hoje integra o time de Consultores Ágeis da Plataformatec. Devido ao seu passado altamente técnico, tenta juntar soft e hard skills no gerenciamento de projetos dos quais participa. Nas horas vagas escreve blog posts para a Plataformatec e faz cheesecakes para os amigos.

Fale com ele pelo Linkedin: https://www.linkedin.com/in/lucasrcolucci/