[Lean Inception] O melhor guia para estimativa em projetos ágeis

Segue o resumo dos 9 passos para decidir a data de entrega do produto (e seu MVP), baseado na Lean Inception:

  1. Crie o sequenciador de Funcionalidades
  2. Selecione duas linhas do sequenciador
  3. Descreva as tarefas de cada funcionalidade
  4. Agrupe as tarefas por tamanho
  5. Decida o tempo cara cada tamanho de tarefa
  6. Calcule o tempo médio por linha do sequenciador
  7. Faça o cálculo da capacidade da equipe
  8. Decida o tempo da Sprint 0
  9. Mostre as datas no sequenciador

Esse resumo está descrito em detalhes no livro sobre Lean Inception e neste post, onde respondo uma das perguntas mais recorrentes sobre as Lean Inceptions.

 

Pergunta: Eu adoro o livro Direto ao Ponto e as Lean Inceptions. Mas eu tenho uma pergunta muito importante: meu cliente quer saber quando o MVP e todo o produto estará pronto. Como estimar?

Resposta: Esta é a pergunta de um milhão de dólares. Segue a explicação de como tento ajudar com isso.

Há sempre alguém que quer saber o cronograma, as datas de entrega. E, normalmente, querem saber isso para o MVP e para todas as funcionalidades previstas para o produto (uma contradição, pois sabemos que o produto vai mudar –pivotar– à medida que recebemos e atuamos no feedback de uso do mesmo).

 

Pivotar, pivotar e pivotar; esse é o lema para quem trabalha com Lean StartUp e MVP

 

Geralmente eu não converso sobre datas de entrega e estimativa  em palestras e no treinamento Lean Inception. Esse assunto gera muita confusão; até mesmo uma certa contradição (como assim? ser ágil e trabalhar com MVP, mas com escopo fechado?!).

O livro Direto ao Ponto tem um capítulo sobre isso (por muito pouco eu não retirei esse capítulo – aliás, outros capítulos saíram do livro, para enxugá-lo… esse ficou, por pouco).

1. Crie o sequenciador de Funcionalidades

Eu uso o Sequenciador de Funcionalidades para essa “estimativa” (não gosto dessa palavra nem das lembranças que ela me traz; sou proponente do movimento NoEstimates). No livro Direto Ao Ponto, eu chamo o capítulo que descreve isso de: Calculando esforço, tempo e custo. Em uma Lean Inception, quando necessário, eu uso a seguinte sequência de atividades para ajudar a equipe a decidir sobre as datas.

2. Selecione duas linhas do sequenciador

Para começar, peço à equipe para escolher duas ou três linhas no Sequenciador de Funcionalidades.

3. Descreva as tarefas de cada funcionalidade

Então, eu peço para descreverem todas as tarefas necessárias para completar essas funcionalidades.

Geralmente eu digo isso:

Imagine que completamos uma funcionalidade com a qualidade desejada, com todos os testes necessários, com automação, com os scripts necessários, com os requisitos não funcionais, etc. Vamos escrever todas as tarefas que precisamos fazer para alcançar isso.

A equipe irá escrever as tarefas para cada funcionalidade. Então eu vou usar essas tarefas detalhadas para obter a “estimativa”.

4. Agrupe as tarefas por tamanho

Na sequencia, eu peço para  a equipe agrupar as tarefas por tamanho relativo: pequeno, médio e grande.

5. Decida o tempo cara cada tamanho de tarefa

Então, eu pergunto à equipe quanto tempo leva para entregar algumas dessas tarefas. Geralmente, tarefas de um mesmo tamanho relativo levam um tempo parecido (as tarefas foram agrupadas previamente por tamanho relativo, é natural que isso aconteça; é um bom momento para revisar se alguma tarefa deve ser repensada, reescrita e reconsiderada).

Em seguida, peço à equipe para me ajudar a escolher uma duração para cada grupo de tarefas. Por exemplo, as respostas para pequenas tarefas são: 3 horas, 3 horas, 2 horas, 4 horas, 3 horas, 5 horas, 4 horas, 4 horas, 3 horas, 5 horas, 2 horas, 3 horas, 2 horas, 4 horas; Eu vou perguntar se a equipe está confortável considerando uma pequena tarefa levando cerca de 4 horas.

Eu faço o mesmo para cada grupo de tarefas – pequeno, médio e grande.

6. Calcule o tempo médio por linha do sequenciador

Em seguida, somamos a duração de todas as tarefas e depois dividimos por duas (duas linhas no sequenciador de funcionalidades).

Com isso, chegamos a um número. Por exemplo: 200 horas por dev por linha.

7. Faça o cálculo da capacidade da equipe

Depois eu começo a conversa sobre capacidade da equipe:

Considere a capacidade da equipe: o número de desenvolvedores trabalhando nessas tarefas; se a equipe é dedicada; férias e feriados; licença por doença e percentagem de ausências (por exemplo: percentagem de ausências durante o inverno em Porto Alegre deve ser mais alta do que na primavera, dado a quantidade de gente que tem gripe e resfriado nessa época).

Então eu faço os cálculos e escrevo o resultado, como uma data.

 

Por exemplo, a equipe tem 4 devs, trabalhando com  80% da capacidade dedicada (férias, feriados e suporte nível 2 para correções de bugs em outro produto)

• 200 horas para 1 dev => 50 horas para 4 devs

• 50 horas a 100% da capacidade => 62,5 horas a 80% da capacidade (50 horas * 100% / 80%)

• Cada linha no sequenciador de funcionalidades deve consumir 62,5 horas para a nossa equipe

8. Decida o tempo da Sprint 0

Converse sobre a Sprint 0 ou quantas Sprints – quanto tempo – a equipe precisa para preparar a infraestrutura mínima dar início ao trabalho funcional, a primeira funcionalidade da linha 1 do sequenciador.

9. Mostre as datas no sequenciador

Com o tempo da Sprint 0 e o tempo por linha do sequenciador, podemos datas no sequenciador.  Normalmente, as pessoas que pagam pela construção do produto adoram essa atividade. Eles obtêm uma data para o MVP e podem extrapolar o cálculo para todo o produto (todas as linhas no Sequenciador).

Entregue o MVP!

Talvez os desenvolvedores fiquem receios os por ter uma data (eu era desenvolvedor e sou um agilista, entendo quem já se queimou por causa de datas e prazos fixos).  Mas isso não é ruim para os desenvolvedores. Muito pelo contrário. Eles têm algo para ajudá-los: o MVP com suas funcionalidades.

O ponto é que o resultado do Lean Inception, como descrito no Sequenciador, descreve as funcionalidades do MVP. Mas não detalha como essas serão criadas (as tarefas descritas nesse post, foram usadas apenas para amostragem).

Portanto, a equipe pode (e deve) ser criativa e responsável por entregar o MVP na data prevista. Repensando como entregar as funcionalidades com tarefas mais simples, que requerem menos trabalho, para alcançar o produto mínimo viável.

 

Inscreva-se no próximo workshop Lean Inception do livro Direto ao Ponto e aprenda como alinhar as pessoas e criar o produto certo.