Poucas discussões geram tanta paixao em times de desenvolvimento quanto a escolha entre story points e horas para estimar tarefas. Cada abordagem tem defensores fervorosos é críticos implacaveis. A verdade, como quase tudo em engenharia de software, e que não existe resposta universal. O melhor método depende do contexto, maturidade e cultura do seu time.
Neste artigo, vamos analisar profundamente ambas as abordagens, comparando suas vantagens e desvantagens com exemplos práticos, para que você possa tomar uma decisão informada sobre qual método adotar no seu time.
Por que estimamos tarefas?
Antes de mergulhar na comparação, vale refletir sobre o propósito da estimativa. Estimamos tarefas para:
- Planejar sprints: saber quanto trabalho o time consegue absorver em uma iteração.
- Comúnicar expectativas: dar a stakeholders uma previsão de quando funcionalidades estarao prontas.
- Identificar complexidade: forcar o time a discutir os detalhes técnicos de uma tarefa antes de comeca-la.
- Melhorar continuamente: comparar estimativas com o real para aprender e calibrar ao longo do tempo.
O método de estimativa é menos importante do que o processo de discussão que ele gera. Quando o time se reune para estimar, as perguntas levantadas revelam incertezas, dependências e riscos que de outra forma passariam despercebidos.
O que são story points?
Story points são uma unidade abstrata de medida que representa a complexidade relativa de uma tarefa. Eles não correspondem a horas ou dias de trabalho. Em vez disso, expressam uma combinação de três fatores:
- Complexidade: quao técnicamente desafiadora e a tarefa?
- Esforco: quanto trabalho é necessário?
- Incerteza: quanto não sabemos sobre a tarefa?
A escala mais usada para story points e a sequência de Fibonacci: 1, 2, 3, 5, 8, 13, 21. A lógica por tras dessa escala e que conforme as tarefas ficam maiores, a incerteza aumenta exponencialmente, então os intervalos entre os números também devem aumentar.
Como funciona na prática
O time escolhe uma tarefa de referência e atribui a ela um valor (por exemplo, 3 pontos). Todas as outras tarefas são estimadas em relação a essa referência. Se uma tarefa parece duas vezes mais complexa que a referência, ela recebe 5 ou 8 pontos. Se é mais simples, recebe 1 ou 2.
A técnica mais popular para atribuir story points e o Planning Poker. Cada membro do time escolhe uma carta com sua estimativa de forma independente. Quando todos revelam ao mesmo tempo, as discrepancias geram discussões valiosas sobre o entendimento da tarefa.
"O valor do Planning Poker não está nos números finais. Está na conversa que acontece quando duas pessoas dao estimativas muito diferentes para a mesma tarefa."
O que são estimativas em horas?
Estimativas em horas são exatamente o que parecem: o time estima quantas horas de trabalho efetivo uma tarefa vai consumir. Uma tarefa pode ser estimada em 4 horas, 16 horas ou 40 horas, por exemplo.
Como funciona na prática
O time analisa a tarefa e, com base na experiência, estima quantas horas serao necessárias. Alguns times estimam em horas ideais (sem interrupções) enquanto outros estimam em horas reais (incluindo reuniões, code review e outras atividades).
A estimativa em horas é mais intuitiva para a maioria das pessoas, especialmente para quem vem de fora do mundo ágil. Quando alguém diz "essa tarefa leva 8 horas", todo mundo entende.
Comparação detalhada: story points vs horas
| Critério | Story Points | Horas |
|---|---|---|
| Precisao | Menos preciso individualmente, mais precisó em escala | Parece preciso, mas frequentemente erra |
| Fácilidade de entendimento | Requer treinamento e calibração | Intuitivo para qualquer pessoa |
| Resistencia a pressao | Alta (números abstratos) | Baixa (fácil de pressionar "faca em menos horas") |
| Variação entre pessoas | Independente de quem executa | Varia muito entre seniors e juniors |
| Planejamento de capacidade | Através da velocidade do time | Direto (horas disponíveis vs horas estimadas) |
| Comúnicação com stakeholders | Requer tradução | Direta e clara |
| Foco da estimativa | Complexidade e esforco | Tempo de execução |
| Curva de aprendizado | Maior | Menor |
Vantagens dos story points
1. Abstraem a variação individual
Um desenvolvedor senior pode completar uma tarefa de 5 pontos em 3 horas, enquanto um junior pode levar 8 horas. Mas ambos concordam que a tarefa tem 5 pontos de complexidade. Isso torna a estimativa independente de quem vai executa-la, o que é mais justo é realista para o planejamento do time como um todo.
2. Protegem contra pressao externa
Quando você diz "essa tarefa leva 16 horas", um gestor pode responder "você não consegue fazer em 8?". Mas quando você diz "essa tarefa e um 8 em story points", não ha referência direta de tempo para ser questionada. Isso protege o time de pressoes para subestimar.
3. Fácilitam a medição de velocidade
A velocidade do time (story points entregues por sprint) é uma métrica poderosa para planejamento. Se o time entrega em media 30 pontos por sprint, é fácil prever quantas sprints serao necessárias para um backlog de 120 pontos. Essa previsibilidade melhora com o tempo, conforme o time se calibra.
4. Estimativa mais rápida
Comparar a complexidade relativa de tarefas e cognitivamente mais rápido do que calcular horas. O cerebro humano é naturalmente bom em comparações ("isso é maior que aquilo") mas ruim em estimativas absolutas ("isso leva exatamente 7.5 horas").
Vantagens das horas
1. Comúnicação direta
Horas são uma linguagem universal. Qualquer stakeholder entende o que significa "essa feature leva 40 horas de desenvolvimento". Não é necessário traduzir ou explicar o conceito.
2. Planejamento de capacidade simples
Se um desenvolvedor tem 30 horas disponíveis na sprint e as tarefas somam 28 horas, o planejamento está feito. Com story points, você precisa do histórico de velocidade do time para fazer esse cálculo.
3. Identificação de desvios
Quando uma tarefa estimada em 4 horas leva 12 horas, o desvio e claro e imediato. Com story points, a noção de "desvio" é mais difusa, pois os pontos não tem correspondencia direta com tempo.
4. Menos treinamento necessário
Times novos em métodologias ágeis se adaptam mais rapidamente a estimativas em horas. O conceito de story points requer tempo para ser internalizado e calibrado.
Quando usar cada abordagem
Use story points quando:
- O time tem experiência com métodologias ágeis
- Ha variação significativa de senioridade no time
- O time está sujeito a pressao para subestimar
- O foco e em planejamento de longo prazo e previsibilidade
- As tarefas variam muito em complexidade
Use horas quando:
- O time está começando com ágile e precisa de algo familiar
- Os stakeholders precisam de estimativas traduzidas em tempo
- O time e homogeneo em termos de habilidade
- As tarefas são relativamente similares em natureza
- Ha necessidade de controle financeiro detalhado (consultoria, por exemplo)
A terceira via: #NoEstimates
Existe uma corrente crescente no mundo ágil que questiona a necessidade de estimativas formais. O movimento #NoEstimates propoe que, em vez de gastar tempo estimando, o time deve focar em quebrar tarefas em pedacos pequenos e uniformes é simplesmente contar quantas tarefas completa por sprint.
A lógica e que, se todas as tarefas são suficientemente pequenas (completaveis em 1-2 dias), a variação entre elas é pequena o suficiente para ser ignorada. A velocidade do time se torna simplesmente o número de tarefas concluídas.
Essa abordagem funciona bem para times maduros que já desenvolveram a habilidade de quebrar trabalho em pedacos pequenos e que tem um fluxo de trabalho estável. Para times menos maduros, a disciplina de estimar ainda agrega valor pelo processo de discussão que gera.
Técnicas de estimativa que funcionam
Planning Poker
Cada membro do time recebe cartas com valores da sequência de Fibonacci. A user story e apresentada, o time discute brevemente e cada um escolhe uma carta. Quando as estimativas divergem muito, o time discute e vota novamente. E a técnica mais popular e geralmente a mais eficaz.
T-shirt sizing
As tarefas são classificadas em tamanhos de camiseta: PP, P, M, G, GG. E mais rápido que Planning Poker e funciona bem para estimativas de alto nível, como priorizar um backlog grande. Depois, os tamanhos podem ser convertidos em story points para planejamento mais detalhado.
Estimativa por afinidade
O time coloca todas as tarefas em uma mesa e as organiza em colunas de complexidade crescente, comparando-as entre si. E extremamente rápido para estimar grandes volumes de tarefas de uma vez.
Estimativa de três pontos
Para cada tarefa, o time estima três cenários: otimista (O), mais provavel (M) e pessimista (P). A estimativa final e calculada como (O + 4M + P) / 6. Essa técnica funciona bem com horas e ajuda a capturar a incerteza.
Erros comuns em ambas as abordagens
- Converter story points em horas: isso anula todas as vantagens dos story points. Se você precisa de horas, use horas diretamente.
- Estimar individualmente: a estimativa deve ser um exercício coletivo. Quando uma pessoa estima sozinha, perde-se a diversidade de perspectivas.
- Não revisar estimativas: se o time nunca compara estimativas com o real, nunca melhora sua calibração.
- Usar estimativas como compromisso: estimativas são previsões, não promessas. Tratar estimativas como deadlines rígidas cria incentivos perversos.
- Gastar tempo demais estimando: se o time gasta 2 horas estimando uma tarefa de 4 horas, algo está errado. Timebox a sessão de estimativa.
Conclusão: o melhor método e o que funciona para o seu time
A disputa entre story points e horas e, no fundo, uma falsa dicotomia. O método de estimativa e apenas uma ferramenta, e a melhor ferramenta e aquela que o time usa consistentemente e que gera as conversas certas.
Se você está começando, experimente ambas as abordagens por algumas sprints e veja qual gera melhores discussões e previsões mais acuradas. Com o tempo, o time vai desenvolver sua própria calibração, independentemente do método escolhido.
O mais importante não e o número final da estimativa, mas sim o entendimento compartilhado que o processo de estimativa cria. Quando todo o time discute uma tarefa, alinha expectativas e identifica riscos, a estimativa já cumpriu seu papel, seja ela em pontos ou em horas.