Cómo manejar tareas del Sprint anterior en el gráfico actual de Sprint Burndown

Digamos que un proyecto tiene 2 o más Sprints y para cada Sprint está utilizando un gráfico de quemado para seguir el progreso del Sprint. Si al final del primer sprint hay tareas que se iniciaron pero no se completaron y, por lo tanto, pasarán al siguiente sprint para trabajar en cómo se manejarían esas tareas en el gráfico de quemado del próximo sprint, ¿ajusta el estimado? tiempo para que las tareas reflejen el hecho de que se ha trabajado en ellas o utilizar el tiempo estimado original? Gracias.

Lea lo que piensa Mike Cohn: mountaingoatsoftware.com/blog/…

Respuestas (3)

He probado ambos con mi equipo. El que encontramos que tiene más sentido es ajustar la estimación. La idea de Agile es actualizar su plan en función de nueva información. Actualizar sus estimaciones para reflejar el trabajo restante para sus Historias hará que la estimación sea mucho más fácil y reflejará mejor lo que realmente está sucediendo en Sprint 2.

Lo único que realmente 'perdió' es el esfuerzo general que se requirió para esa Historia, pero se decidió (en nuestro caso) que realmente ni siquiera necesitábamos eso.

Buena respuesta. Descubrimos que también ayuda usar gráficos de trabajo pendiente de Story Point en algunos casos, en lugar de tiempo.
Votado como una buena respuesta. Sin embargo, aparte de los propósitos retrospectivos, iría más allá y diría que el seguimiento del esfuerzo realizado en lugar del esfuerzo restante es un antipatrón de Scrum que surge del principio CYA en lugar de uno ágil.

TL: DR: use la estimación original. Mantiene sus datos consistentes, responsabiliza al equipo y refleja la naturaleza real del trabajo en una configuración de Scrum.

Esta respuesta se basa en ganarse la vida como entrenador ágil a tiempo completo y haber experimentado las formas saludables y no saludables de lidiar con el trabajo sin terminar.

Por qué : una de las mejores cosas de Agile es su naturaleza binaria para el seguimiento del trabajo. El trabajo es Terminado o No terminado. No hay ambigüedad en esto. Al final del sprint, la historia es "potencialmente entregable" o efectivamente "ni siquiera ha comenzado". Nunca hay un área gris de "Oh, hemos terminado en un 90%" y luego estar terminado en un 90% durante tres sprints.

Advertencia : voy a hablar sobre Scrum de nivel Shu, o "scrum inicial". A medida que un equipo obtiene un rendimiento demasiado alto (o nivel de Ri), pueden comenzar a experimentar con los conceptos básicos. Hasta que lo hagan, siempre recomiendo comenzar con lo básico. La razón es que hay más de 30 años detrás de por qué esos conceptos básicos funcionan. Si tiene problemas con esta premisa, le recomiendo el blog de Ron Jefferies " Probamos el béisbol, no funcionó ".

En primer lugar, cuando llega al final del sprint, todo se mueve desde la acumulación del sprint a la acumulación del producto. La planificación comienza de nuevo. Han pasado dos semanas y el propietario del producto debe priorizar el trabajo pendiente en función de la realidad actual. Aunque el equipo dedicó dos semanas a algo, es posible que ya no sea una prioridad y que el propietario del producto decida abandonarlo. Esto está 100% bien, no es un costo irrecuperable. En cambio, se da cuenta de que algo ya no es valioso y decide no enviarlo y, por lo tanto, incurre en el costo de mantenerlo. Una empresa para la que trabajé una vez terminó en un aprieto con eBay porque habían implementado esta característica "bonita", que realmente no funcionó, en la que eBay terminó confiando para negocios de misión crítica. Terminaron teniendo que soportar esta pobre función durante más de una década.

A continuación, no vuelve a estimar el trabajo en curso. Hay un número de razones. La parte superior de la lista es que el resto del mundo no se quedó quieto durante las últimas dos semanas. Incluso si la historia está "terminada en un 90%" (ver arriba), no se ha implementado y conozco muy pocos sistemas que no cambien en el transcurso de dos semanas. Es probable que ese código esté desactualizado para el sistema actual. Necesitas repasar toda la historia y asegurarte de que funcione con el entorno actual.

La reestimación también destruirá por completo sus métricas de velocidad. Esto reducirá la capacidad del equipo para planificar el trabajo de manera predecible.

Al final del día, si no está terminando las historias en un sprint, debe preguntarse por qué no poner una curita en el problema y seguir adelante. Haga sus historias más pequeñas, planifique menos trabajo, arregle su proceso de lanzamiento, lo que sea. Simplemente no vuelva a estimar.

Ah, y no divida la historia en trabajo hecho y no hecho. Ese es otro antipatrón ágil.

Gracias por tu contribución. El equipo perdió casi un par de días de esfuerzo laboral trabajando en una emergencia. Mi preocupación aquí es que digamos que una de las tareas se estimó originalmente para 5 horas de esfuerzo y ya se usaron 3 horas en el sprint anterior. Suponiendo que en el sprint actual el desarrollador dedica otra 1 hora a la tarea y la completa, mi preocupación de tener esa tarea en el sprint 2 con la estimación original es que puede sesgar significativamente los datos de Adherencia al Sprint del gráfico Burn down.
@Joel Bancroft-Connors "Volver a estimar [...] reducirá la capacidad del equipo para planificar el trabajo de manera predecible". Tengo problemas para entender... por qué. Quiero decir, obviamente, si simplemente dices sin pensar: "Calculamos que tomará 5 días y hemos terminado en un 80%, por lo que queda 1 día", entonces sí, eso no funcionará. Pero eso no es volver a estimar; eso es solo quitar partes de su estimación original. ¿Por qué la reestimación real, es decir, mirar toda su información nueva y crear una estimación (¡más!) realista para ese trabajo, reduciría la previsibilidad?
@Sarov Es una explicación más larga que puedo incluir en 500 caracteres. Las buenas métricas analizan los puntos de partida, los puntos finales y las tendencias. Si está cambiando sus puntos al final del sprint, corrompe los datos. Esta es una de las razones menores para no hacerlo. Es el no centrarse en "Llegar a Hecho" que es el mayor problema.
@KTBFFH En primer lugar, no calcule en horas. Casi no tiene sentido estimar si usa horas. Demasiado largo para explicar aquí. En segundo lugar, no se preocupe por algunos puntos aquí y allá. Los datos de un solo sprint no son lo que nos importa estimar. Lo que queremos son tendencias de múltiples sprints y con eso, un par de puntos aquí y allá no son importantes. Es la gran tendencia. Supongo que debería bloguear sobre esto un poco más.
Me encantaría leer un comentario tuyo sobre las respuestas de @CodeGnome aquí y allá .
Habiendo probado ambos por un tiempo, estoy muy de acuerdo con esto. Nuestro equipo pasó de reestimar todo a no reestimar y eso parece funcionar mucho mejor. No gastamos tiempo innecesario discutiendo sobre "cuántos puntos quedan" en la planificación, por buenas o malas que sean las estimaciones, ya no se arruinan al volver a estimar: ahora al menos tenemos algunos números para la planificación, antes no teníamos ninguno. .
Aunque el último punto, hemos encontrado que dividir historias es algo útil en algunos casos. Cosas menores que fueron descubiertas durante el trabajo y añadidas a la historia, pensando que era "trivial" cuando por supuesto no lo era => nueva historia separada. También cosas que, para empezar, no deberían haber sido parte de la historia, como "terminar este documento o tarea por separado", lo que termina impidiendo que se complete durante semanas/sprints sin una buena razón. Ambos tipos probablemente deberían haber sido historias separadas en primer lugar, pero las cosas cambian y la retrospectiva, etc., yadayada...

TL;RD

Un gráfico de trabajo pendiente de Sprint rastrea el trabajo restante, no el trabajo completado. Si desea realizar un seguimiento del trabajo completado, utilice un gráfico de quemado en su lugar.

Inspeccionar y adaptar el trabajo incompleto

El cuarto valor del Manifiesto Ágil es responder al cambio siguiendo un plan. Llevar adelante el trabajo de forma automática no solo viola el principio del límite de tiempo que sustenta el marco Scrum, sino que también reduce la capacidad de un equipo para adaptarse a los requisitos cambiantes.

Cuando se implementa correctamente, el trabajo en Scrum nunca se transfiere automáticamente de Sprint a Sprint. Los incrementos de trabajo, ya sea que se realicen o no, siempre deben inspeccionarse y adaptarse en los límites de la caja de tiempo. Cualquier trabajo que esté incompleto al final de un Sprint se vuelve a colocar en el Product Backlog, donde el Product Owner puede volver a priorizarlo (o incluso descartarlo por completo) según las necesidades cambiantes del negocio o el Sprint Goal actual.

La próxima vez que el trabajo esté dentro del alcance de Sprint Planning, el equipo vuelve a planificar y estimar el trabajo en función de la nueva información, el contexto actual y el nivel de esfuerzo restante para completar el trabajo. Si bien las lecciones aprendidas sobre el trabajo de Sprints anteriores pueden informar el proceso de estimación, las estimaciones históricas se descartan como irrelevantes para el cuadro de tiempo actual.

Ver también

Las siguientes respuestas están relacionadas, aunque las preguntas que abordan no son necesariamente duplicados exactos de la que está preguntando actualmente. Ofrecen explicaciones y orientación adicionales sobre la importancia de la reestimación y la replanificación.