Publicaciones

Secuencia de Fibonacci en Agile: Por qué usamos 1, 2, 3, 5, 8, 13 para Story Points

Cartas de planning poker mostrando números de Fibonacci esparcidas en una mesa con manos de desarrolladores alcanzándolasCartas de planning poker mostrando números de Fibonacci esparcidas en una mesa con manos de desarrolladores alcanzándolas
Matt Lewandowski

Matt Lewandowski

Última actualización 16/02/20268 min de lectura

Se sienta para su primera sesión de planning poker. El líder del equipo saca un elemento de la cartera y pide que todos voten. Mira sus opciones de tarjeta: 1, 2, 3, 5, 8, 13. ¿Dónde se fue el 4? ¿Por qué salta de 5 a 8? ¿Por qué no simplemente usar 1 a 10? Es la pregunta que hace cada nuevo miembro del equipo. Y la respuesta revela algo fundamental sobre cómo los humanos estiman el trabajo complejo.

Qué es realmente la secuencia de Fibonacci

La secuencia de Fibonacci es una serie de números donde cada número es la suma de los dos anteriores: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, y así sucesivamente. Fue descrita por el matemático italiano Leonardo de Pisa (conocido como Fibonacci) en 1202, aunque el patrón aparece en la naturaleza en todas partes, desde la espiral de una concha de nautilo hasta la ramificación de los árboles. Los equipos ágiles no usan la secuencia de Fibonacci por alguna conexión con la naturaleza. La usan porque los espacios entre números crecen a medida que los números se hacen más grandes, y eso refleja cómo funciona la incertidumbre en la estimación de software.

Por qué las escalas lineales fallan en la estimación

Imagine que su equipo usa una escala simple del 1 al 10. Alguien saca una historia y dos desarrolladores votan diferente. Uno dice 6, el otro dice 7. ¿Es ese desacuerdo significativo? Probablemente no. La diferencia entre un 6 y un 7 es tan pequeña que es ruido. Pero ahora el equipo gasta cinco minutos debatiendo si realmente es un 6 o un 7, intentando justificar una distinción que no existe. Eso son cinco minutos desperdiciados en falsa precisión. Una escala lineal implica que puede distinguir entre niveles de esfuerzo con precisión uniforme. No puede. Y cuanto más grande es el elemento, peor es su precisión. Comparación en pizarra mostrando una escala lineal con números espaciados uniformemente versus una escala de Fibonacci con espacios cada vez más grandes entre valoresComparación en pizarra mostrando una escala lineal con números espaciados uniformemente versus una escala de Fibonacci con espacios cada vez más grandes entre valores

Por qué importan los espacios

La secuencia de Fibonacci funciona para la estimación por tres principios convergentes.

El cono de incertidumbre

Las tareas pequeñas son predecibles. "Cambiar el color del botón de azul a verde" tiene mínimas incógnitas. Puede estimarlo con confianza. Las tareas grandes llevan exponencialmente más incógnitas. "Crear la integración de pagos" suena como un solo elemento, pero contiene autenticación, manejo de errores, lógica de reintentos, requisitos de cumplimiento y casos extremos que aún no ha considerado. Cuanto más grande es el trabajo, más amplia es su incertidumbre, y su escala de estimación debería reflejarlo. Los espacios de Fibonacci se ensanchan a medida que aumenta la complejidad, reflejando la realidad de que una historia de 13 puntos tiene mucha más incertidumbre que una historia de 3 puntos. Ofrecer una opción entre 12 y 13 para algo tan grande sería una precisión sin sentido.

Obligar a desacuerdos significativos

Con una escala de Fibonacci, cuando dos desarrolladores no están de acuerdo, el desacuerdo es significativo. El salto de 5 a 8 es un aumento del 60%. Este tipo de brecha refleja una diferencia genuina en la comprensión: una persona ve una implementación sencilla, la otra ve complejidad oculta. Ese desacuerdo desencadena exactamente la conversación que desea en planning poker. "¿Por qué crees que es un 8?" "Porque necesitaremos manejar el caso de sincronización sin conexión." "Ah, no lo consideré." La escala obliga a discusiones que realmente sacan a la superficie riesgos y malentendidos. Con una escala lineal, un desacuerdo de 6 vs. 7 no desencadena la misma urgencia de discutir. El espacio es demasiado pequeño para sentirse importante, incluso cuando los supuestos subyacentes son completamente diferentes.

Ley de Weber

Existe un principio en la psicofísica llamado Ley de Weber: los humanos perciben las diferencias como proporciones, no valores absolutos. Puede fácilmente notar la diferencia entre 1 kilogramo y 2 kilogramos. ¿Pero notar la diferencia entre 50 y 51 kilogramos? Mucho más difícil. Lo mismo se aplica a la estimación. Puede decir con confianza si algo es un 2 o un 3 (un salto del 50%). No puede decir con confianza si algo es un 14 o un 15 (un salto del 7%). La secuencia de Fibonacci respeta esto manteniendo la diferencia proporcional entre opciones adyacentes aproximadamente consistente, lo que significa que cada opción en la escala representa un nivel de esfuerzo genuinamente distinguible.

La secuencia de Fibonacci modificada

Si ha utilizado diferentes escalas de estimación, notará que la mayoría de las herramientas ágiles no utilizan la secuencia de Fibonacci pura. Utilizan una versión modificada: 1, 2, 3, 5, 8, 13, 20, 40, 100 La modificación comienza después de 13. Fibonacci puro le daría 21, 34, 55, 89. En su lugar, los equipos redondean a números más limpios: 20, 40, 100. ¿Por qué? Porque en esa escala, la precisión de Fibonacci no importa. Algo estimado en 40 puntos tiene tanta incertidumbre que la diferencia entre 34 y 40 es irrelevante. Los números redondos comunican el mensaje correcto: "Esto es muy grande, y estamos adivinando." La mayoría de los equipos que usan esta escala tratan cualquier cosa por encima de 13 como una señal de que el elemento necesita ser dividido en historias más pequeñas antes de poder ser ejecutado.

Las tarjetas de infinito y signo de interrogación

Desarrollador sosteniendo una tarjeta de infinito y una tarjeta de signo de interrogación durante una sesión de planning pokerDesarrollador sosteniendo una tarjeta de infinito y una tarjeta de signo de interrogación durante una sesión de planning poker Más allá de los números, la mayoría de los barajas de planning poker incluyen dos tarjetas especiales: Infinito significa "esto es demasiado grande para estimar." Es la forma del equipo de decir que una historia necesita ser descompuesta antes de que la estimación sea significativa. Si alguien juega infinito, la respuesta correcta no es negociar con ellos a un 40. Es dejar de estimar y empezar a dividir. Signo de interrogación significa "No tengo suficiente información para estimar esto en absoluto." Quizás los requisitos no sean claros. Quizás el desarrollador no ha trabajado con esta parte de la base de código. Quizás la historia depende de una decisión que aún no se ha tomado. El signo de interrogación saca a la luz estas brechas para que se aborden durante refinamiento del backlog antes de que el trabajo entre en un sprint. Ambas tarjetas sirven al mismo propósito: evitan que el equipo asigne un número a algo que aún no se lo merece. Una adivinanza presentada como número se trata como un plan. Un signo de interrogación se trata como un elemento de acción.

Cuándo Fibonacci no es la opción correcta

La secuencia de Fibonacci es la escala de estimación más común, pero no siempre es la mejor opción. Estimación de tamaño de camiseta (XS, S, M, L, XL) funciona mejor cuando necesita estimaciones rápidas y aproximadas y no desea entrar en debates numéricos. Es especialmente útil para planificación a nivel de roadmap donde los puntos exactos no importan. Lea nuestra guía sobre técnicas de estimación ágil para ver cómo se comparan el tamaño de camiseta y otros métodos. Potencia de 2 (1, 2, 4, 8, 16, 32) atrae a equipos que quieren espacios aún más agresivos entre opciones. Cada paso duplica el esfuerzo, lo que hace que los desacuerdos sean aún más obvios. Las escalas lineales pueden funcionar para equipos que hacen trabajo altamente predecible y uniforme donde los elementos se agrupan genuinamente alrededor de tamaños similares. Pero estos equipos normalmente no necesitan estimación en absoluto. Contar elementos le da la misma precisión de pronóstico. El movimiento #NoEstimates hace un caso convincente para cuándo omitir completamente la estimación. La escala correcta depende del contexto de su equipo, pero para la mayoría de los equipos ágiles que hacen trabajo variado con cierta incertidumbre, Fibonacci sigue siendo la opción predeterminada por buena razón.

Poner Fibonacci en práctica

Comprender por qué Fibonacci funciona es útil. Pero el verdadero valor viene de usarlo en sesiones de estimación estructuradas donde todo el equipo participa. Si está ejecutando planning poker por primera vez, comience con la escala de Fibonacci estándar (1, 2, 3, 5, 8, 13). Establezca una historia de referencia temprano ("todos están de acuerdo en que este cambio de formulario de inicio de sesión es un 3") y estime todo lo demás en relación con ese anclaje. Si un elemento genera estimaciones muy diferentes, no las promedie. Discuta el desacuerdo. Eso es donde la escala hace su trabajo. Puede intentar esto con su equipo utilizando la herramienta de planning poker de Kollabe. Elija Fibonacci como su escala, invita a su equipo y comience a estimar. También puede desear ejecutar elementos a través del analizador de complejidad de estimación antes de la sesión para identificar historias que probablemente generen desacuerdo.

Las horas miden la duración, que varía según la persona. Un desarrollador senior podría terminar una tarea en 2 horas que toma a un desarrollador junior 8 horas. Los story points miden la complejidad relativa a otro trabajo, en el que todo el equipo puede estar de acuerdo independientemente de quién haga la tarea. Los puntos también evitan la trampa de tratar las estimaciones como plazos.

Un story point representa el esfuerzo relativo y la complejidad en comparación con otras historias que su equipo ha estimado. Una historia de 5 puntos debería ser aproximadamente el doble de compleja que una historia de 3 puntos y aproximadamente la mitad de compleja que una historia de 8 puntos. Los números específicos carecen de significado en aislamiento. Solo tienen significado relativo entre sí dentro de su equipo.

Algunos equipos incluyen 0 en su escala de Fibonacci para representar trabajo que es trivialmente pequeño, como un error tipográfico o un cambio de configuración. Señala "esto requiere casi ningún esfuerzo pero deberíamos rastrearlo." Otros equipos omiten 0 y usan 1 como su valor más pequeño. Ambos enfoques funcionan, solo sea consistente.

Si la mayoría de sus estimaciones se agrupan alrededor de dos valores, sus historias podrían ser demasiado del mismo tamaño (lo que en realidad está bien para el pronóstico de rendimiento) o su equipo podría no estar diferenciando lo suficiente. Intente recalibrar sus historias de referencia. Asegúrese de que su anclaje "3" sea genuinamente pequeño y su anclaje "13" sea genuinamente grande. Si todo sigue agrupándose, sus historias pueden necesitar dividirse de manera diferente. Vea nuestra guía sobredivisión de épicaspara patrones.