thiagocosta.py

Programming, Management etc


  • agil , agilidade , chaos manifesto , standish group

Esse negócio de desenvolvimento ágil não funciona!

Realmente não funciona se você acha que desenvolvimento ágil significa desenvolver mais rápido. Agilidade não é um jogo de velocidade, mas um jogo de qualidade, como já dizia Bob Galen.

Se você jogar esse jogo direito, com seriedade, dedicação e comprometimento, pode até ser que ele se torne um jogo de velocidade e você consiga a rapidez que você tanto deseja.

Mas como jogar esse jogo direito?

Antes de responder essa pergunta, vejamos alguns números:

Frequência de uso das funcionalidades de um produto

Fonte: Chaos Manifesto 2013 (Standish Group)

Ou seja, segundo o Chaos Manifesto 2013 da Standish Group, 50% das funcionalidades são usadas quase nunca ou nunca, 30% são usadas às vezes ou poucas vezes e apenas 20% são usadas frequentemente.

Projetos pequenos x Projetos grandes

Fonte: Chaos Manifesto 2013 (Standish Group)

Ou seja, segundo o Chaos Manifesto 2013 da Standish Group:

  • Apenas 10% dos projetos grandes são entregues no prazo e dentro do orçamento, contra 76% dos projetos pequenos;

  • Apenas 20% dos projetos pequenos são entregues fora do prazo ou acima do orçamento, contra 52% dos projetos grandes;

  • Apenas 4% dos projetos pequenos são cancelados antes de serem finalizados ou entregues sem nunca terem sido utilizados, contra 38% dos projetos grandes.

Sendo assim, por onde começar?

  • Auxilie seu cliente a priorizar o que é mais importante. Como vimos no 1º gráfico acima, focar em 20% das funcionalidades que lhe dão 80% de valor não é só uma estratégia valida, mas uma estratégia prudente. Isso significa maximizar o investimento do cliente, ou seja, não jogar seu dinheiro fora;

  • Divida o projeto em pequenos projetos sequenciais. Como vimos no 2º gráfico acima, projetos grandes possuem mais chances de fracassar que projetos pequenos. Faça entregas semanais, de duas em duas semanas ou períodos ainda mais curtos, mas faça entregas de pacotes funcionais e não pedaços sem nenhuma utilidade. Se você usa algum método iterativo e incremental como o Scrum e XP, as iterações ou os Sprints são esses "projetos pequenos".

Além disso, por último, mas não menos importante ...

  • Envolva mais o cliente no dia-a-dia;
  • Pense em soluções técnicas, designs, arquiteturas mais simples. Pense mais no agora e menos no futuro. Vou te dar uma notícia triste, mas as chances de um novo produto se tornar um Twitter, por exemplo, e começar a ter problemas com performance e escalabilidade é de 1%;
  • Identifique e elimine os gargalos que te impedem de avançar com mais rapidez (processos, ferramentas etc);
  • Automatize tudo! Setup, testes, deploy etc.

É isso! Se você seguir esses passos, talvez você consiga mais rapidez. É difícil? É sim. E é por isso que, infelizmente, esse negócio de desenvolvimento ágil não funciona para todos porque as pessoas muitas vezes querem mudança, mas não querem mudar.

Abraços e até a próxima!

Thiago Costa

Desenvolvedor apaixonado orientado à melhoria contínua (kaizen), agente de mudanças e praticante de métodos ágeis, morando no Rio de Janeiro.

comments powered by Disqus