Uso de la escala de Fibonacci en la estimación con la metodología Agile
Lucid Content
Tiempo de lectura: aproximadamente 8 min
Lo más probable es que alguna vez te hayan dado una estimación que resultó ser completamente incorrecta: el automóvil no se reparó en dos días o la mesa del restaurante no estuvo lista en quince minutos.
Si las estimaciones pueden ser imprecisas, ¿por qué son importantes para la planificación de proyectos?
Es cuestión de establecer las expectativas correctas y determinar cuánto trabajo es realmente posible completar en un plazo determinado. Los equipos deben tener en cuenta la complejidad de un proyecto para decidir la cantidad de esfuerzo requerido, el número de recursos necesarios y, en última instancia, cuánto tiempo tomará completar el proyecto.
Muchos desarrolladores en entornos de metodología Agile han logrado mejorar el proceso de estimación usando la escala de Fibonacci o una sucesión de Fibonacci modificada para estimar el trabajo que se necesita completar en una iteración.
Aprende qué es la sucesión de Fibonacci y cómo puedes aplicarla a las estimaciones con la metodología Agile.
¿Qué es la sucesión de Fibonacci?
Fibonacci fue un matemático italiano de la Edad Media que escribió un libro llamado "Liber Abaci" (Libro de cálculo). Ese libro introdujo y popularizó el sistema de numeración arábigo en el mundo occidental. En "Liber Abaci", Fibonacci también presentó el siguiente problema:
Un hombre puso un par de conejos en un lugar rodeado totalmente por paredes. ¿Cuántos pares de conejos se pueden reproducir a partir de ese par en un año, si se supone que, todos los meses, cada par engendra un nuevo par que se comienza a reproducir a partir del segundo mes de vida?
Para estimar la respuesta, Fibonacci introdujo una secuencia exponencial de números, ahora conocida como números de Fibonacci o sucesión de Fibonacci. En ella, cada número es la suma de los dos números anteriores:
0, 1, 2, 3, 5, 8, 13, 21…
Por qué se utiliza la sucesión de Fibonacci en la metodología Agile
La sucesión de Fibonacci se encuentra en muchas disciplinas diferentes y en la naturaleza. Por ejemplo, se ha utilizado para describir el crecimiento de la vida vegetal, calcular los aumentos de la población en un plazo específico, modelar brotes de virus y predecir el comportamiento de los mercados financieros.
Pero ¿qué tiene que ver esta larga cadena de números con la planificación en la metodología Agile?
Básicamente, la escala de Fibonacci desde la perspectiva Agile les ofrece a los equipos una forma más realista de abordar las estimaciones mediante puntos de historia. Los puntos de historia se utilizan para representar el tamaño, la complejidad y el esfuerzo necesarios para completar o implementar una historia de usuario. A cada punto de historia se le asigna un número de la escala de Fibonacci. Cuanto mayor sea el número, más complejo será el punto de historia y, presumiblemente, mayor la cantidad de esfuerzo que se necesite para completarla.
Como dijimos, las estimaciones a menudo pueden ser imprecisas, y eso sucede porque la gente suele ser demasiado optimista.
Por ejemplo, en lugar de hacer una estimación basada en un proyecto similar que completamos en el pasado, creemos que podemos hacerlo más rápido porque tenemos más experiencia y estamos seguros de que esta vez no habrá ningún problema que cause retrasos.
Debido a que la escala de Fibonacci en la metodología Agile es exponencial en lugar de lineal, ayuda a los equipos a ser más realistas cuando analizan tareas más grandes y complejas.
Para ayudarte a entender por qué la naturaleza exponencial de la sucesión de Fibonacci es útil, parafrasearemos una analogía utilizada por Mike Cohn, uno de los fundadores de la Scrum Alliance:
Imagina que tienes una carga de 1 kilo en una mano y una de 2 kilos en la otra. Sin mirar, es probable que puedas determinar cuál es cuál, porque la carga de 2 kilos es notablemente más pesada (es un 100 % más pesada que la carga de 1 kilo).
Si tienes una carga de 20 kilos y otra de 21 kilos, es más difícil determinar cuál es más pesada, porque la diferencia entre los pesos no es tan significativa (la carga de 21 kilos es solo un 5 % más pesada).
Cada número de la escala de Fibonacci es exponencialmente mayor (aproximadamente un 60 %) que el número anterior. Los equipos pueden reconocer más fácilmente las diferencias y definir la complejidad de cada punto de historia.
Cómo usar la escala de Fibonacci en la metodología Agile
Muchos equipos ágiles utilizan la técnica del Planning Poker para estimar los puntos de historia.
Esta técnica consiste en un mazo de cartas con los números de Fibonacci, empezando por el cero (0, 1, 2, 3, 5, 8, 13, 21, etc.) o una versión modificada de la sucesión (0, 0.05, 1, 2, 3, 5, 8, 13, 20, 40, 100). Tu equipo puede usar cualquier secuencia numérica con una relación fija (por ejemplo, 1, 2, 4, 8, etc.), siempre y cuando todos comprendan y estén de acuerdo con lo que significan las proporciones.
En el Planning Poker, cada miembro del equipo de estimación, aparte del moderador, necesita su propio mazo de cartas, y se continúa con estos pasos:
- El responsable del producto le da al equipo una descripción general de una historia de usuario.
- Se le da tiempo al equipo para discutir y hacer preguntas a fin de comprender mejor los riesgos y suposiciones. Los miembros del equipo no deben mencionar ningún número de estimación, para que las estimaciones no estén sesgadas. El moderador debe registrar un resumen del debate y puede usar un temporizador para limitar el tiempo.
- Cada miembro del equipo elige una carta para representar su estimación de la historia y la coloca boca abajo sobre la mesa.
- Todos los miembros del equipo dan vuelta su carta simultáneamente.
- Si todos seleccionan el mismo número, listo. Ese número se utiliza para la estimación, y se puede pasar a la siguiente historia.
- Las personas que seleccionaron números significativamente más altos o más bajos que otros números tienen tiempo para justificar sus estimaciones. Por ejemplo, la tarea puede ser simple de completar para un desarrollador (como agregar un campo a un formulario), pero esa simple adición podría resultar más compleja para los evaluadores más adelante.
- El proceso se repite desde el paso 3 hasta que el equipo alcanza un consenso.
- Se presenta la siguiente historia de usuario para la estimación y se repite todo el proceso.
Si tu equipo no tiene mazos de cartas físicas, puedes realizar el proceso de estimación de la historia de usuario con la siguiente plantilla. Una escala de Fibonacci en línea es una gran solución para equipos desparramados, que no pueden reunirse físicamente en la misma ubicación.
Ventajas de utilizar la estimación con la escala de Fibonacci en un entorno Agile
Al usar la escala de Fibonacci en un entorno Agile, tu equipo puede obtener los siguientes beneficios:
Involucrar a todo el equipo
Es importante que todos los miembros del equipo de desarrollo estén incluidos en el proceso de estimación con la metodología Agile. Cada uno da una perspectiva diferente que ayuda a lograr una estimación más precisa y realista del trabajo requerido para completar una historia de usuario.
Por ejemplo, antes de declarar que la creación de una página web solo debería tardar cuatro horas en completarse, es útil obtener información de las áreas de experiencia de usuario (UX), diseño, desarrollo y control de calidad.
Establecer una escala para comparar la complejidad de los puntos de historia
Asignar puntos de historia con números lineales hace que sea difícil determinar cuánto peso debe tener cada punto de historia.
Por ejemplo, puedes estimar razonablemente que un punto de historia asignado al número dos es el doble de complejo que un punto de historia asignado al número uno. Pero, ¿cuánto más complejo es un número 12 en comparación con un número 11?
La naturaleza exponencial de la escala de Fibonacci hace que sea fácil para todo el equipo entender lo que significan los números asignados.
Por ejemplo, un 1 podría significar que la complejidad es mínima, y el punto de historia se puede completar rápidamente (en una hora). Varias de esas tareas se pueden completar en un día. Un 13 significa que el punto de historia es muy complejo, y completarlo podría llevar semanas.
Aumentar la precisión de las estimaciones
Asignar números más altos a los puntos de historia obliga al equipo a observar de manera realista la complejidad y el esfuerzo necesarios para completar la tarea, lo que puede conducir a estimaciones más precisas.
¿Estás cansado de completar historias de usuario después de los plazos previstos? ¿Estás listo para obtener estimaciones más precisas? Incorpora ya mismo la escala de Fibonacci en tus procesos de planificación con la metodología Agile.
Ahora que has completado tu estimación con la metodología Agile, usa Lucidchart para implementarla sin problemas en toda tu organización.
Aprende másAcerca de Lucidchart
Lucidchart, una aplicación de diagramación inteligente basada en la nube, es un componente central de la Suite de Colaboración Visual de Lucid Software. Esta solución intuitiva basada en la nube les permite a los equipos colaborar en tiempo real para crear diagramas de flujo, prototipos, diagramas UML, mapas de recorrido del cliente y más. Lucidchart impulsa a los equipos a desarrollar el futuro más rápido. Lucid se enorgullece de brindar sus servicios a las empresas más grandes de todo el mundo, incluidos clientes como Google, GE, NBC Universal y el 99 % de la lista Fortune 500. Lucid está asociada con líderes de la industria como Google, Atlassian y Microsoft. Desde su fundación, la empresa ha recibido numerosos premios por sus productos, prácticas comerciales y cultura corporativa. Para obtener más información, visita lucidchart.com.