8º Princípio Ágil

Postado em Atualizado em

ReThink Long Island Waste Disposal Hierarchy Reduce Reuse RecycleProcessos ágeis promovem o desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente

Manter o ritmo constante é necessário, embora não seja simples mantê-lo. E, realmente, os processos ágeis promovem um desenvolvimento que é capaz de se sustentar ao longo do tempo, desde que todos os envolvidos no projeto sejam capazes de perceber os benefícios de manter um ritmo constante, para que se esforcem nesse sentido. Vamos analisar como os processos ágeis promovem esse desenvolvimento sustentável:

Iterações curtas (2 a 4 semanas) e software funcionando
A equipe se compromete com uma quantidade de trabalho X, possível de ser realizada e entregue no tempo da iteração. Mas por que a equipe se compromete com a quantidade X e não Y? Porque com iterações curtas, após 3 ou 4 iterações, a equipe adquire o conhecimento de sua velocidade, ou seja, a equipe sabe o quanto de trabalho é possível entregar em uma iteração. Ela sabe que as chances de sucesso em entregar a quantidade X são muito maiores do que as chances de entregar Y.

Velocidade constante da equipe
A equipe sabe sua velocidade e o quanto pode se comprometer a cada iteração. Mas como é possível a equipe manter sua velocidade constante em todas as iterações? Ter uma velocidade constante é resultado de estimativas de esforço mais precisas. Com iterações curtas é possível avaliar ao final de cada iteração se a estimativa de esforço para cada trabalho implementado foi acertada ou não. Esse conhecimento permite ajustar as estimativas para os próximos trabalhos a serem estimados. Com isso, após 3 a 4 iterações, a equipe adquire o conhecimento da relação esforço X estimativa para pontuar os trabalhos a serem implementados.

Esforço X Estimativas
Como a equipe consegue ao longo do tempo estimar melhor o esforço para cada trabalho a ser realizado?
Com iterações curtas o trabalho tem que ser quebrado em mais partes, onde as partes sejam de tamanho suficiente para serem implementadas no tempo de uma iteração. Esse processo de quebrar o trabalho macro em trabalhos menores, favorece o melhor entendimento por parte da equipe do que deve ser implementado, pois a descrição do trabalho passa a ser mais clara e objetiva.
Descrições mais claras e objetivas favorecem estimativas melhores, que por sua vez favorecem à equipe manter uma velocidade constante dentro de uma iteração com tempo fixo. O ciclo se fecha e o ritmo constante pode ser mantido.

Ritmo constante
A equipe sabendo estimar bem o trabalho a ser feito e conhecendo sua velocidade (o quanto ela pode se comprometer em uma iteração), reduz a cada iteração a chance de insucesso na entrega.
E recebendo software funcionando ao final de cada iteração o dono do produto percebe o comprometimento da equipe e passa a confiar em seu trabalho, especialmente em suas estimativas, que segue num ritmo constante com o produto sendo incrementado ao final de cada etapa.
A equipe também se sente mais motivada quando trabalha numa levada constante. Pois ela sabe que o trabalho de uma iteração foi estimado e combinado para caber dentro de seu horário de trabalho, não sendo necessário horas extras para finalizar a entrega.

Scrum promovendo o ritmo constante
No framework Scrum percebemos que tudo é favorável para mantermos o ritmo constante:

  1. Inicia-se a iteração planejando o que será entregue ao final da mesma.
  2. Desenvolve-se o produto e diariamente a equipe se comunica na “reunião diária” do projeto.
  3. Apresenta-se o produto incrementado.
  4. Avalia-se o processo de trabalho para adaptação do que ainda pode ser melhorado.
  5. Dá-se início a outra iteração.

Essa é a levada, esse é o ritmo que é mantido com timebox de 2, 3 ou 4 semanas ininterruptas de trabalho. Veja a fonte.

“Firma os meus passos na tua palavra, e não me domine iniqüidade alguma.” Salmos 119:133