Puntos de historia de Jira versus estimación de subtarea

Usamos Jira para un PM ágil, pero tenemos problemas para trabajar con los puntos de la historia y la estimación de las horas de las subtareas.

Artículos como este y este simplemente no parecen ayudar. El segundo artículo tiene una imagen gráfica que no parece coincidir con la descripción, por lo que estamos bastante atascados. He leído esta excelente descripción de por qué usar ambos, y estoy convencido.

Queremos hacer un seguimiento de los puntos de la historia desde un punto de vista de alto nivel o podemos ejecutar solo subtareas y realizar un seguimiento de las estimaciones de horas, pero no ambas al mismo tiempo.

-- Editar

La razón por la que creemos que necesitamos hacer ambos tipos de estimación es que las historias de usuario que tenemos cruzan tres grupos de habilidades del personal y tienen (por ejemplo) 8 puntos de historia. Entonces, en las tareas estimadas, podría ser SQL de 6 días, .net de 1 día, HTML de 1 día, o SQL de 1 día, .net de 5 días, HTML de 2 días, pero no lo sabré hasta que calcule las tareas . Entonces, desde el punto de vista de la planificación del personal, yo (como Scrum Master) quiero saber si tengo la cantidad correcta de historias de usuario/subtareas/mezcla de personal para el sprint. No puedo hacer eso a menos que estime subtareas.

¿O me estoy perdiendo algo?

Gracias a las personas que han puesto respuestas. He hecho una edición a lo anterior ...
Siempre me desespero cuando los programadores se dividen en db, backend, frontend. Es realmente contraproducente
Tenemos un equipo, pero históricamente hemos intentado que nuestros desarrolladores de SQL hagan .net y tardan aproximadamente 5 veces más, y nuestros desarrolladores de SQL tienen más de 15 años de experiencia en SQL... así que usted está diciendo que cada uno de su personal en proyectos ágiles son igualmente hábiles en todas las cosas? ¿No parece razonable...?
Todos tienen áreas preferidas, pero sí. Cualquier programador contratado debe poder cubrir sql/db, código backend y html/javascript. ¿Qué pasa si necesita usar una nueva tecnología, digamos una base de datos sin SQL? ¿Despedirías a todos los chicos de sql y contratarías gente nueva?
@Ewan ... buena pregunta "¿Qué pasa si necesita usar una nueva tecnología, digamos una base de datos sin sql?", en su modelo tendría que mejorar la habilidad de cada miembro del equipo en esa habilidad
Amigo, espero que lo busquen en Google y lo hagan funcionar. Esperas que tus chicos de sql hagan inserciones y selecciones, ¿verdad?
sí, definitivamente, pero ¿espera que su chico de .net aprenda a instalar y configurar un clúster de Spark? Esto quizás no se está volviendo productivo en términos de resolver mi pregunta. Tomo su punto de que usted siente que todos los miembros del equipo deben tener múltiples habilidades, creo que eso no es realista.
Estás dejando que tu herramienta impulse tu proceso. Eso siempre es una receta para los problemas.
@CodeGnome... ¿Cómo se hace Agile PM? ¿Te importa dar una respuesta?
En realidad, @MarcusD, mi equipo espera que el desarrollador de .Net aprenda a instalar y configurar un clúster Spark. Por cierto, soy el desarrollador de .Net que está aprendiendo a instalar y configurar un clúster Spark. (Ni siquiera estoy siendo figurativo sobre esto. Lo digo en serio literalmente).

Respuestas (5)

La razón por la que los equipos de Scrum a menudo usan puntos de historia para estimar es que proporciona una forma efectiva de calcular la capacidad de un equipo. También permiten realizar pronósticos livianos cuando se planifica el lanzamiento.

Las razones por las que usan estimaciones basadas en el tiempo en las tareas son diferentes. Es para que puedan:

  • Dedique tiempo a dividir el trabajo, lo que a menudo ayuda cuando se trata de la implementación.
  • Puede verificar que no se hayan comprometido demasiado en un sprint (puede haber parecido bien como puntos de la historia, pero el desglose de tareas puede revelar un compromiso excesivo)
  • Verifique que no hayan sobrecargado una disciplina en particular (por ejemplo, demasiado trabajo de prueba y el equipo usa evaluadores dedicados)

Muchos equipos de Scrum comienzan con este enfoque, ya que ayuda a evitar algunos de los escollos de un equipo que es nuevo en Scrum. Los equipos más experimentados pueden abandonar las estimaciones basadas en el tiempo si ya no las encuentran valiosas.

+1000 en la publicación de Daniel: no use horas de tareas en absoluto.

La estimación de horas es algo que recomendarán muchos de los principales expertos ágiles. Y luego mira que las marcas de tiempo. No conozco ninguna voz ágil líder que aún admita el seguimiento de horas de tareas. Se ha considerado contraproducente para la estimación relativista de los puntos de la historia. El objetivo de estimar no es averiguar cuántas horas tomará, es estrictamente el equipo el que decide cuánto trabajo puede realizar en el sprint.

No nos importa cuánto tiempo tome una tarea, o incluso una historia. Nos importa si el equipo entrega lo que estimaron que entregarían.

En lugar de horas para las tareas, la directriz general sobre la que entreno a los equipos es "las tareas deben encajar en el valor de un día de trabajo". Esto permite un seguimiento más fácil del estado, ya que, desde el inicio diario hasta el inicio diario, debe completar tareas. Esta es una guía GENERAL. Recuerde también que un "día" es en realidad solo 4-5 horas de trabajo real.

puntos interesantes aquí. He modificado mi respuesta con mi problema con eso. Gracias por la sugerencia de 4-5 horas/día de tiempo trabajado. Usamos 6, pero prácticamente es más bajo, ¿no?

¡Solo haz puntos de historia! Si ya obtuvo información sobre su velocidad, no necesita estimar horas adicionales. Por lo general, estimamos solo la complejidad de la historia y, en la planificación, el equipo tiene la oportunidad de volver a estimar la historia después de planificar todas las tareas. Luego, el equipo confirma solo aquellas historias que logran hacer en el sprint.

-- Editar

Nuestro equipo también consta de backend (Java) y front-end (HTML, CSS, ...). Como en tu descripción las historias siempre tienen relaciones diferentes de ambas habilidades. Por lo general, el propietario del producto comienza a presentar las historias comenzando por la más importante. Después de cada historia presentada, le preguntamos al equipo si pueden hacer más o si debemos detenernos aquí. Cuando uno de los grupos de habilidades tuvo suficiente para el sprint, revisamos el trabajo pendiente de arriba hacia abajo y tomamos la siguiente historia que los demás pueden hacer. ¡Espero eso ayude!

Actualicé mi pregunta con el problema que tengo al no estimar el tiempo en las subtareas... ¿podría modificar su respuesta para abordar este tema específico, por favor?
Describí cómo resolvimos un problema similar en nuestros equipos. Por el momento solo tenemos dos grupos de habilidades y no tres. Podría imaginar que eso es aún más complicado. Lo que estamos haciendo es acercar el front-end y el back-end permitiéndoles cada vez más hacer pequeñas tareas de la otra habilidad. Al principio teníamos dudas, pero es muy interesante cómo lo aprecian y dejan que el equipo crezca más juntos.
Puedo ver el valor de las habilidades cruzadas, pero las cosas de SQL y .net que estamos haciendo son de muy alto nivel, por lo que no es factible tener la profundidad de habilidades cruzadas, excepto en tareas bastante moderadas.

En el caso de su equipo, diría que es necesario un cambio en su proceso de estimación. Ya que llegaron a la conclusión de que están teniendo dificultades para hacer una estimación precisa hasta que conozcan todas las tareas que se requerirán para cumplir con la historia, deben pensar en ellas antes de hacer su estimación.

Puede hacer esto durante su proceso normal de planificación de sprints, simplemente describa la historia en discusión de la manera más completa posible, tal vez tenga un debate rápido sobre cuál es el mejor enfoque para resolver ese problema y luego simplemente escriba todas las tareas (preferiblemente en la publicación). es para que no necesite volver a escribirlos más tarde) y base sus estimaciones en el esfuerzo total requerido para esas tareas + pruebas adecuadas.

Incluso con este enfoque, su equipo aún debe tener una cantidad límite de puntos donde, si la estimación es mayor que esa cantidad, la historia se divide en varias historias. Siempre trate de mantener sus historias lo más autosuficientes posible sin dejar de mantenerlas fácilmente alcanzables en un solo sprint.

Me parece que la organización de su equipo es la raíz de su problema.

Si necesita saber cuánto trabajo de SQL hay en sprint, supongo que es porque si no hay mucho, el tipo de SQL estará jugando con sus pulgares y podría parecer que podría incluir algunas tareas de SQL más.

Sin embargo, el problema con esto es que estropea la finalización de las historias. Es muy difícil decir que una tarea individual está terminada a menos que también puedas decir que la historia está terminada.

Por ejemplo, tengo una tarea: escribir Db para página web y Tarea: escribir HTML para página web.

y Característica: la página web muestra el nombre de usuario.

A menos que trabajen juntos como un equipo, tanto las tareas de HTML como las de SQL podrían marcarse como realizadas, y cada programador supondría que la otra tarea estaba realizando la función de nombre de usuario.

Si llega al final y la función no está lista, pero el tipo de SQL está ocupado con otra tarea para una historia diferente y no puede volver a la función, entonces terminará con muchas tareas abiertas y 'algo así como listo. ' características.

Tu comentario "Es muy difícil decir que una tarea individual está terminada a menos que también puedas decir que la historia está terminada". es muy cierto, por eso reservamos tiempo de integración en las tareas antes de que se cierren. Tenemos un equipo pequeño (8 personas) en SQL, Neo4j, .net, Spark, R... muy complicado