Lo más probable es que alguna vez te hayan dado una estimación que resultó ser completamente incorrecta, por ejemplo, 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 equipos en entornos de metodología Agile han logrado mejorar el proceso de estimación usando la serie 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 secuencia de Fibonacci y cómo puedes aplicarla a las técnicas de estimación Agile de tu equipo.
¿Qué es la secuencia de Fibonacci?
Fibonacci fue un matemático italiano de la Edad Media que escribió un libro llamado “Liber Abaci” (Libro de cálculo). En “Liber Abaci”, Fibonacci presentó el siguiente problema:
Un hombre puso un par de conejos en un lugar totalmente cerrado con 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 espiral de Fibonacci. En ella, cada número es la suma de los dos números anteriores:
0, 1, 1, 2, 3, 5, 8, 13, etc.
La secuencia de Fibonacci se encuentra en muchas disciplinas diferentes y en la naturaleza. Por ejemplo, se ha utilizado para describir el crecimiento de las plantas, estimar el aumento de la población en un periodo de tiempo determinado y modelar brotes de virus.
¿Por qué se emplea la secuencia de Fibonacci en Agile?
La escala de Fibonacci ofrece a los equipos que trabajan en entornos de metodología Agile una forma más realista de abordar las estimaciones mientras planean el trabajo a realizar durante un determinado periodo de tiempo (como un sprint). Los equipos suelen usar Story Points para representar el tamaño, la complejidad y el esfuerzo necesarios para completar una historia de usuario. Asignan a cada punto de la historia un número de la escala de Fibonacci. Cuanto mayor sea el número, más complejo será y, presumiblemente, más esfuerzo requerirá completarlo.
Por ejemplo, si necesitas cambiar el color de un botón de llamada a la acción en una página de tu sitio web, esa tarea puede clasificarse como de menor esfuerzo y se le asigna un punto de historia. Otra tarea, como introducir una función de inicio de sesión en redes sociales (iniciar sesión con una cuenta de Apple o Google) en una aplicación existente, puede clasificarse como de mayor esfuerzo y se le asignan ocho puntos de historia. Las tareas más grandes generalmente se dividen en tareas más pequeñas o se distribuyen entre varios miembros del equipo para trabajar en ellas.
Como dijimos, las estimaciones a menudo pueden ser imprecisas, y eso sucede porque la gente tiene la tendencia a ser demasiado optimista. A menudo, la gente cree que puede completar una tarea más rápido si la ha hecho antes o cree que no habrá retrasos. Debido a que la escala de Fibonacci es exponencial en lugar de lineal, ayuda a los equipos a ser más realistas al analizar tareas más grandes y complejas. Al usar la escala de Fibonacci para la estimación con la metodología Agile, los equipos pueden reconocer con más facilidad las diferencias entre las tareas y definir la complejidad con puntos de historia exponencialmente mayores.
Cómo usar la serie de Fibonacci en la estimación con la metodología Agile
Muchos equipos usan números de la escala de Fibonacci en actividades estilo Planning Poker u otras actividades de estimación de equipo, ya que asignan puntos de historia y otras unidades de estimación a los elementos de trabajo. Si no tienes tarjetas físicas para mostrar números (o tienes un equipo distribuido), puedes organizar una actividad de estimación de forma virtual usando una plantilla de escala de Fibonacci. Una escala Fibonacci en línea es una gran solución para los equipos distribuidos que no se pueden reunir físicamente en el mismo lugar.