Dado que la historia de usuario que estamos transfiriendo está parcialmente completa, ¿cómo la estimamos correctamente en la próxima sesión de Sprint Planning?
No creo que las opciones A a C sean buenas, principalmente porque (creo) que debería ser más importante con respecto a la velocidad de un equipo es su velocidad promedio y no si la velocidad de un sprint determinado subió o bajó.
Cuando se define una historia de usuario, debe tener criterios de aceptación. Si se hace no en los criterios de aceptación, el equipo simplemente no gana ninguno de los puntos. Si la historia está terminada (es decir, codificada, probada y aceptada por el P.O.), el equipo obtiene todos los puntos.
Esto funciona bien cuando el equipo se enfoca en su velocidad de promedio en lugar de la velocidad de un sprint dado.
Al igual que M. Cohn en su libro, tiendo a tener una preferencia por un escenario de todo o nada. Después de todo, tratar de estimar si has completado 5 puntos de una historia de 8 puntos, o tal vez solo 6 o 7 va a terminar siendo otro juego de adivinanzas ... y no olvides que ya tienes la inicial estimar lejos. Probablemente sea mejor usar el método más simple y obtener todos los puntos una vez que se hayan completado.
Citando a M. Cohn de su libro¹ (mi énfasis):
Generalmente estoy a favor de una postura de todo o nada para contar la velocidad: si se hace una historia (codificada, probada y aceptada por el propietario del producto), el equipo gana todos los puntos, pero si hay algo en La historia no está hecha, no ganan nada. Al final de una iteración, este es el caso más fácil de evaluar: si se hace todo, obtienen todos los puntos; Si falta algo, no obtienen puntos. Si es probable que el equipo asuma la parte restante de la historia en la próxima iteración, esto funciona bien. Su velocidad en la primera iteración es un poco menor de lo esperado porque no tienen crédito por completar parcialmente una historia. Sin embargo, en la segunda iteración, su velocidad será mayor que la esperada porque obtendrán todos los puntos, aunque se haya completado algún trabajo antes del inicio de la iteración. Esto funciona bien siempre y cuando todos recuerden que estamos interesados principalmente en la velocidad promedio del equipo a lo largo del tiempo, no en si la velocidad aumentó o disminuyó en una iteración determinada.
¹ Estimación y planificación ágiles , reestimación de historias parcialmente completadas, p.66
Mi equipo había intentado previamente asignar puntos parciales, a pesar de algunas objeciones, y no creo que funcionara bien en absoluto. (Ya no lo hacemos ... imagínense) Este es especialmente el caso porque se supone que las historias se estiman como como un equipo , pero si solo una persona está trabajando en ello, será más difícil para el equipo saber cuánto ha completado realmente un individuo . Agile está más interesado en la velocidad promedio de un equipo que en lo "bonito" que se ve un sprint en particular.
Dicho esto, el autor hace menciona que la asignación de puntos parciales puede considerarse si es poco probable que el equipo aborde el trabajo restante en la próxima iteración. En este caso, el equipo estimaría el trabajo restante y lo dividiría en nuevas historias de usuarios con el tamaño que consideren que deberían tener. Como el autor menciona²:
Las estimaciones combinadas no necesitarían igualar la estimación original ...
² Ditto, p.66
La mejor recomendación para el equipo es dividir las historias a un tamaño lo suficientemente pequeño para evitar este tipo de problema³:
Sin embargo, las dos mejores soluciones para asignar puntos a historias incompletas son no tener historias incompletas y usar historias lo suficientemente pequeñas como para que el crédito parcial no sea un problema.
³ Ditto, p.67
Espero que esto ayude.