Story Points (SP) es una buena medida, que permite estimar User Stories.
SP ( a mi entender, es una nota importante ) es conveniente porque es relativo y no está relacionado con el tiempo. Todas las estimaciones se basan en la comparación con una base común. Pero, ¿y si dos historias tienen bases completamente diferentes?
Para simplificar, busquemos un ejemplo que no esté relacionado con ningún área específica. Como cavar un hoyo.
Supongamos que se necesitará 1 SP para cavar un pozo de un metro de profundidad. En consecuencia, necesitamos 2 SP para hacer un pozo de dos metros de profundidad. Muy conveniente. No nos importa nuestro equipo. Si tenemos una pala, entonces 1 SP se asignará a 1 hombre-día. Si tenemos una excavadora, 1 SP se asignará a 1 hora-hombre. Pero un foso de dos metros de todos modos nos llevará el doble de tiempo que un foso de un metro.
Todo está bien con la excavación de pozos. Pero, ¿y si la siguiente historia es "atrapar un elefante"?
¿Deberíamos hacer una estimación con otra base (relacionada con elefantes)? En ese caso, tendremos dos tipos de Story Points, que serán absolutamente diferentes.
O, si sabemos que 1) atrapar un elefante nos llevará 1 hombre-día 2) todavía usamos una pala para cavar, ¿deberíamos estimar esta historia del "elefante" en 1 SP? Esta sugerencia suena absolutamente mal para mí. Pero lo escribí porque en mi práctica la gente usa esta opción en la mayoría de los casos.
O, tal vez, simplemente entiendo mal el concepto de Story Points.
No se le puede culpar por estar confundido. Es muy común que las organizaciones intenten hacer coincidir directamente los puntos de la historia con una medición del mundo real. Esto anula exactamente el propósito de usar puntos de historia (y por qué no me gusta Poker Planning para hacer estimaciones).
Un Story Point en términos simples es un número que le dice al equipo qué tan difícil es la historia. Difícil podría estar relacionado con la complejidad, las incógnitas y el esfuerzo. Nunca tuvo la intención de reemplazar una estimación basada en el tiempo. En cambio, ágil (Scrum, XP, etc.) reconoce que la estimación basada en el tiempo es defectuosa y la evita. Por ejemplo, un flujo de estimación clásico basado en el tiempo se vería así:
Las estimaciones de Story Point funcionan mejor cuando son relacionales. No está tratando de estimar cuánto tiempo llevará. En cambio, está tratando de averiguar si la Historia A es más o menos compleja que la Historia B.
Veamos tu ejemplo anterior:
Como dijo Joel, los SP no son una medida del mundo real. Simbolizan el esfuerzo necesario para completar una historia de usuario.
Al ser independientes de una unidad, se pueden aplicar a todo lo que requiera esfuerzo . Debido a esta definición imprecisa, a menudo se recomienda usar el número de Fibonacci para marcar un mayor esfuerzo.
Me ayuda a imaginar botellas de sudor creadas por el equipo necesarias para completar la historia. Siéntase libre de introducir una imagen más conveniente :)
En mi aprendizaje académico, siempre me dijeron que primero aceptara la carta del cliente por razones de gestión de cambios de acuerdo con PMBOK. Luego mire los hitos y calcule estos. Estos te ayudarán a decidir cuántos sprints necesitas. Luego vas y obtienes las historias de los usuarios. Estos forman la acumulación de productos donde se preparan las historias de los usuarios y el usuario las prioriza. Si estas historias están fuera del alcance de la carta del proyecto inicial, se le indica al usuario y se llega a un compromiso o acuerdo. ¿Esto ayuda? Creo que puede estar insinuando la gestión del cambio. Pido disculpas si he malinterpretado la pregunta. Esta es solo una vista de alto nivel de mi implementación de la gestión ágil de proyectos. Creo que primero se necesita una buena carta y un plan para ver la finalización exitosa del software y un usuario satisfecho.
Chris Bretini
Tiago Martín Peres
Tiago Martín Peres