Story Points: todos los puntos cuentan en esta historia
Para evaluar el tiempo necesario para completar un proyecto, los Story Points o puntos de historia son una de las herramientas de Scrum preferidas de los equipos de desarrollo.
De hecho, este método es una alternativa cada vez más popular a la estimación tradicional de horas por actividad; a diferencia, no se centra en una duración hipotética, sino en la cantidad de esfuerzo que hay que realizar para lograr un objetivo o tarea.
Si es la primera vez que oyes hablar del Story Points, puede que te confundas, ya que no es tan intuitivo como asociar una cantidad de horas a cada tarea.
Que no cunda el pánico, hoy vamos a hacer un recorrido por los Story Points: te explicaremos qué son, sus ventajas y cómo calcularlos.
¿Qué son los Story Points?
Los puntos de historia se definen como una unidad de medida utilizada principalmente en la gestión de proyectos ágiles de la metodología Scrum. Se utilizan para estimar la carga de trabajo global de los equipos, con el fin de planificar cada sprint o iteración.
En concreto, se asigna un número o valor a cada user story (o historia de usuario) para evaluar el esfuerzo total que debe asignarse a su realización. Por lo tanto, la estimación en Story Points debe considerar todos los parámetros que afectarán a este esfuerzo:
- La cantidad de trabajo a realizar,
- la complejidad de las tareas,
- cualquier riesgo o incertidumbre que pueda comprometer su consecución,
- las capacidades técnicas del equipo.
Story points vs Horas de trabajo
Pero, ¿por qué no utilizar la tradicional estimación por horas para determinar la carga de trabajo de los equipos?
Sencillamente porque esta fluctúa en función de las personas. Por ejemplo, un desarrollador senior y un desarrollador junior no necesitarán la misma cantidad de tiempo para completar una tarea similar. Los Story Points eliminan este problema porque la estimación ya no depende de la persona encargada de la historia de usuario, sino de todos los otros factores ya mencionados (complejidad, riesgo y repetición).
💡 En pocas palabras, se trata de asignar un puntaje a una actividad comparándola con otras actividades que han sido previamente evaluadas y resultan más familiares.
¿Cuándo se calculan los puntos de historia?
Los puntos de historia se asignan generalmente durante la definición de los escenarios de usuario, más concretamente durante el backlog grooming.
Antes de cada sprint, el propietario del producto prioriza las futuras user story en las que debe trabajar. A continuación, el equipo del proyecto realiza una estimación del esfuerzo necesario para completarlos, ya que dispone de un tiempo limitado (un sprint) para terminar las tareas seleccionadas.
☝️ Es importante que todo el equipo actúe conjuntamente para determinar los puntos de la historia. De hecho, cada miembro tiene sus propios conocimientos y experiencia en lo que respecta a las particularidades de cada desarrollo.
Puntos de historia → pasos para calcularlos
Los valores y significados de los puntos de historia son específicos de cada proyecto y cada organización. Sin embargo, algunas reglas siguen siendo universales:
- A cada historia, independientemente de su naturaleza, se le asigna un determinado número de puntos.
- La cuantificación del esfuerzo por punto de historia debe permanecer estable en cada sprint, y de una historia a otra.
- 2 puntos de historia equivalen al doble del esfuerzo correspondiente a 1 punto de historia. 3 puntos de historia es 3 veces el esfuerzo de 1 punto de historia... Y así sucesivamente.
- No importa el número de puntos que otorgue, lo que importa es la proporción.
Al final, los puntos de historia son una herramienta para demostrar el esfuerzo relativo entre cada historia de usuario y cada sprint.
Entonces, si no se utiliza la estimación por horas, ¿qué escala se utilizará para obtener la estimación? y ¿cómo se establece?
Veamos paso a paso cómo calcular los Story Points 👇 :
1. Story Points → Fibonacci
Existen diferentes tipos de escala, sin embargo la más popular es la sucesión de Fibonacci: una serie de números cuya suma de los dos últimos dará como resultado el siguiente número y así sucesivamente:
Ventajas de la secuencia Fibonacci:
A diferencia de la escala lineal, los intervalos entre los números de esta serie son cada vez más amplios. Como resultado, la estimación se vuelve menos precisa a medida que aumenta el valor, lo que en última instancia refleja mejor la incertidumbre inherente a los proyectos a gran escala.
2. Analizar los Story Points
Una vez que se han determinado los valores asociados a los los puntos de historia, y antes de hacer estimaciones concretas para los diferentes escenarios de usuario, se debe analizar:
- La naturaleza de las futuras tareas a realizar,
- su complejidad,
- los riesgos e incertidumbres que el equipo puede encontrar en el camino.
Algunos consejos:
- Mide el tamaño de cada historia de user story con la mayor precisión posible, calculando el número de tareas y subtareas necesarias para completarla.
- Evalúa la complejidad real de las tareas. Por ejemplo, escribir 100 mensajes de dos frases es diferente a crear 10 descripciones técnicas completas. Aunque esta última requiere menos subtareas, exigirá más esfuerzo.
- Anticipa los riesgos y las zonas grises en la medida de lo posible, para obtener resultados más precisos. Por ejemplo, ¿algún miembro del equipo se irá? De ser así, ¿esto tendrá un impacto importante en su proceso?
Y ahora que ya tienes la escala y se han analizado las diferentes variantes, llegó la hora de una partida de poker 🃏.
3. Planning poker
La estimación de los Story Points se basa en las discusiones del equipo, y a menudo se hace con un juego de cartas: el Planning Poker o el Poker Scrum.
Durante un partido:
- Los colaboradores se familiarizan con la user story seleccionada y sus objetivos.
- A continuación, estiman, de forma anónima, los esfuerzos que hay que realizar. Para ello, cada persona selecciona la carta con el valor más adecuado de su baraja.
- A continuación, los participantes revelan sus cartas. Si coinciden, se encuentra la estimación final. Pero si no lo hacen, cada miembro del equipo discute sobre sus elecciones.
- A continuación, tras el debate, se repite la estimación hasta llegar a un consenso.
💡 El historial de proyectos pasados puede ser de gran utilidad para ser usado como punto de referencia para las nuevas estimaciones.
4. Plazos finales
Una vez que se determinado el número de Story Points, es el momento de establecer la línea de tiempo para el escenario del usuario. Para ello, determina la velocidad a la que cada colaborador es capaz de ejecutar un solo punto de la historia.
Tomemos el ejemplo de una tarea a la que se le asigna un valor total de 89 Story Points. Un miembro del equipo con experiencia completará un punto en 2 horas. Por otro lado, un miembro junior puede tardar 3 horas. Si las responsabilidades de la tarea se dividen a partes casi iguales entre estos dos colaboradores, la estimación se puede convertir en horas de esta manera:
45 SP x 2 horas + 44 SP x 3 horas = 222 horas
👏 Gracias a este cálculo, ahora es posible establecer el tiempo exacto necesario para completar la historia de usuario.
Ventajas de los puntos de historia
Calcular el tiempo que debe tomar una actividad no es tarea fácil y si se calcula en horas puede ser un arma de doble filo:
- Si la tarea se realiza en más tiempo del estimado, el equipo no se esforzó al máximo;
- si toma menos tiempo que el estimado, significa que hubo un problema en el sistema de cálculo.
Es por esto que los Story Points resultan beneficiosos para:
- Reducir los riesgos y las zonas grises en las estimaciones;
- ganar en precisión, eficacia y flexibilidad;
- adaptarse al ser humano y, en consecuencia, crear un clima de confianza en el equipo del proyecto.
Ahora conoces todos los secretos de los puntos de la historia. Claro está, para utilizar esta técnica correctamente, es necesario el aprendizaje y la formación.
Pero vale la pena el esfuerzo, porque los Story Points ofrecen la oportunidad de obtener estimaciones más precisas y menos rígidas, y de replantear tu enfoque de la gestión de proyectos en beneficio de los miembros de tu equipo.