top of page
Search

Story Points: A culpa não é do Fibonacci

No mundo da agilidade há uma relação de amor e ódio com um método de estimativas chamado Story Points. Eu trabalho em times ágeis desde 2011 e, desde lá, nos deparamos com pessoas que rejeitam completamente o método, afirmando que ele é falho e superestimado. Há quem também afirme que o método, que usa a famosa Sequência de Fibonacci como base, traz um falso entendimento sobre a real complexidade de uma atividade, atrelando a ela um número que será seu balizador de tempo. O que acontece na verdade é um grande equívoco sobre o funcionamento do método em si.


A sequência de Fibonacci, criada pelo matemático Leonardo Fibonacci (1170 – 1240), é uma série de números em que cada número é a soma dos dois anteriores, começando por 0 e 1. Portanto, a sequência começa assim: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, e assim por diante. A fórmula matemática para a sequência de Fibonacci é:

F(n)=F(n−1)+F(n−2)

onde F(n) é o n-ésimo número na sequência.


Dito isso, o método de estimativas usando Story Points determina a atribuição de um número dessa sequência para materializar o esforço de uma determinada atividade. Isso é bastante utilizado no mundo da tecnologia e já passou por algumas transformações com o tempo, sendo por vezes substituída por estimativas T-shirt Size (XP, P, M, G, XG) e Comparação Ponderada. A ideia de Fibonacci era demonstrar que a sequência fazia sentido em uma série de observações do mundo, a começar pela evolução no processo reprodutivo dos coelhos, porém isso foi usado apenas como pano de fundo para entender que essa lógica perpassa por vários outros contextos, além do matemático:


  1. Arte e Estética:

  • A proporção áurea, relacionada ao número de ouro, é frequentemente utilizada em arte e design para criar composições visualmente agradáveis e equilibradas.

  1. Arquitetura:

  • Algumas estruturas arquitetônicas notáveis, como a Pirâmide de Quéops, exibem proporções que se aproximam da razão áurea.

  1. Biologia e Botânica:

  • A disposição de folhas em muitas plantas, a espiral de sementes em girassóis e a estrutura de cones de pinheiro seguem padrões relacionados à sequência de Fibonacci.

  1. Genética:

  • A sequência de Fibonacci e seus padrões relacionados aparecem em alguns aspectos da estrutura do DNA e na organização de partes de organismos vivos.

  1. Teoria dos Números:

  • A sequência de Fibonacci está diretamente relacionada à teoria dos números, com propriedades matemáticas únicas que são exploradas em contextos matemáticos mais amplos.

  1. Música:

  • Compositores e músicos ocasionalmente incorporam padrões relacionados à sequência de Fibonacci em suas composições.

  1. Análise de Mercado Financeiro:

  • Alguns analistas de mercado financeiro usam a sequência de Fibonacci em análises técnicas para identificar padrões de reversão e continuação em gráficos de preços.

  1. Convergência de Algoritmos:

  • Algoritmos baseados na sequência de Fibonacci são usados em várias áreas, como otimização e busca.


Legal, já divagamos bastante sobre a origem e a aplicabilidade da sequência, mas este não é o propósito do artigo. O propósito é mostrar que o problema que muitos identificam nos story points não está no método, está no processo. Se podemos observar esta amplitude numérica em tantas coisas do nosso dia a dia, por que não relacioná-la ao esforço empreendido para executar alguma atividade?


O maior erro a não ser cometido quando falamos sobre métodos para estimativa de esforço é criarmos um paralelo com horas de execução. Ao trabalharmos com story points precisamos entender que o valor atribuído depende necessariamente de duas variáveis: Complexidade e Incerteza. Vamos entender ao que se refere cada uma delas:


  1. Complexidade:

  • A complexidade se refere à dificuldade percebida na implementação de uma user store. Pode incluir vários fatores, como:

  • Requisitos técnicos: Se uma estória envolve tecnologias complexas ou conceitos difíceis.

  • Integração: Se a implementação da estória requer integração com outros sistemas ou módulos complexos.

  • Lógica de Negócios: Se a lógica subjacente à estória é complicada.

  1. Incerteza:

  • A incerteza refere-se à falta de clareza ou conhecimento sobre a estória de usuário. Pode incluir fatores como:

  • Requisitos vagos: Se os requisitos da estória não estão totalmente claros ou sujeitos a mudanças.

  • Riscos desconhecidos: Se há incertezas relacionadas a riscos técnicos ou de negócios que podem surgir durante a implementação.

  • Dependências não identificadas: Se existem dependências que não foram totalmente identificadas.


Para dar mais clareza ao processo podemos, sempre que necessário, utilizarmos de dinâmicas visuais, como o quadro abaixo:


Nele há divisões em diferentes graus de complexidade e incerteza. O que de imediato você poderia pensar é: "se a sequência Fibonacci continua após o 21, por quê você limitou até este número?". Esse é um outro ponto legal de esclarecer. User Stores com 21 story points ou mais indicam que há um grau muito alto de complexidade e incerteza, levando-nos a entender que uma atividade com esforço suficiente para desequilibrar uma sprint (usando Scrum) ou um WIP (usando Kanban). Posso afirmar que, em 95% dos casos, user stories com 21 pontos ou mais podem ser quebradas em USs menores, o que obedece ao princípio ágil de frequente entrega de valor.


Portanto o processo precisa ser mais claro para o time. Eles precisam entender o que está envolvido na avaliação de esforço e o que consideramos na incerteza e na complexidade de cada atividade planejada, ao invés de especular quantas horas ou dias isso vai levar.


"Ahhh, mas somos cobrados por dar prazos para entregar algo. Como não considerar o tempo neste caso?".


O tempo é a consequência, não a causa. E isso nunca pode ser posto como uma certeza, já que em gestão de entregas nunca podemos dizer nada com 100% de certeza, devendo sempre considerarmos o nível de confiança. Mas isso é história para um outro papo.


Comments


bottom of page