¿Está bien corregir una estimación de una historia durante la ejecución?

Durante la ejecución del sprint, se debe permitir que el equipo cambie la estimación de una historia en los siguientes escenarios.

  1. Durante la ejecución
  2. Cuando se termina una historia
  3. Reestimación en ausencia del Product Owner (PO)
¿Cuál es el valor de volver a estimar la historia durante la ejecución? La estimación no dice nada sobre el tamaño real de la historia, solo la expectativa.
Pregunta tonta: ¿estamos hablando de corregir la estimación restante de una historia (generalmente proporcionada en horas/días) o corregir la estimación del punto de historia original de una historia? Según las respuestas, supongo que es lo último, pero también podría interpretarse como lo primero.

Respuestas (7)

Durante la ejecución

Eso no es ideal, pero en el mundo real esto sucede. ¿Y cuál es la alternativa? ¿No comunicar que podría llevar más tiempo? Esa no es una opción. Entonces, sí, la estimación de una historia puede cambiar durante la ejecución. Si eso sucede a menudo, una retrospectiva de por qué sucede podría estar en orden.

Cuando se termina una historia

Eso es bastante inútil. Una estimación es para cuando la historia no está terminada. Tiene algún valor volver a todas sus historias terminadas y verificar si sus estimaciones fueron buenas o dónde necesita mejorar, pero cambiar la estimación en sí... no tiene ningún valor en ese punto.

Reestimar en ausencia del propietario del producto (PO)

no _ El objetivo de una historia de usuario es la comunicación entre el PO y el equipo de desarrollo. Hacer esta comunicación en ausencia de una parte es simplemente incorrecto.

Si se modifican las estimaciones durante la ejecución, ¿no sería cierto que todas las estimaciones serían casi correctas, lo que en un mundo real está lejos de la realidad, y en una retrospectiva aparecerá sin ninguna calificación (que la estimación se revisó a mitad de camino)? vuelo)
La estimación es una estimación. Ocurre antes de que comience el trabajo. Cambiar el presupuesto una vez iniciada la obra lo convierte en un hecho. Si el trabajo no coincidió con la estimación, es algo de lo que se debe aprender (ya sea positiva o negativamente) una vez que se completa el sprint, durante la retrospectiva. Esta respuesta no deja esto claro y parece implicar que las historias pueden cambiar sus estimaciones. Sí, el hecho de que una historia llevará más tiempo debe comunicarse bien, pero si las estimaciones siempre se actualizan a medida que avanza el trabajo, no hay nada de lo que aprender más adelante.
@MattW No estoy seguro de poder seguirte. Dije que se necesita una retrospectiva cuando las estimaciones cambian con frecuencia. Pero las estimaciones cambian. Quiero decir, si digo "oye PO, tenemos un problema, esto llevará más tiempo del esperado debido a X", entonces el PO seguramente querrá una nueva estimación basada en el nuevo conocimiento adquirido. ¿Cuál sería tu alternativa? ¿Cómo podría reaccionar la OP a esos cambios si no tenemos una nueva estimación? ¿Cómo determinaríamos, por ejemplo, si el objetivo del sprint todavía es alcanzable?
Presiona para hacer el trabajo en el sprint. La reestimación ocurre al final del sprint. Si cree que tomará más tiempo que el pensamiento original, pero aún se puede hacer dentro del sprint, entonces hágalo, discútalo después. Si cree que ya no se puede hacer dentro del sprint, discuta si es prudente continuar con la historia o cancelarla. Cancelar puede significar: no se hace en absoluto, se divide en historias más pequeñas o se retrasa hasta un momento posterior. Pero si siempre sobrescribe la estimación actual con una nueva, perderá métricas.
Supongo que me refiero más al registro de los puntos estimados (o lo que sea que calcules). Este es el valor que no debe sobrescribirse. No estoy diciendo "nunca digas que una historia tomará más tiempo de lo esperado", estoy diciendo que debes jugar con las métricas. Si necesita volver a estimar, debe hacerse al comienzo del próximo sprint, porque lo más probable es que eso implique dividir un poco la historia o cambiarla significativamente.
¿Y cómo sabría si se puede hacer en el sprint, si no lo estimo? ¿Y por qué crees que al hacer una nueva estimación se pierde la anterior? ¿Es esto algún tipo de problema de herramientas?

Una vez que un Sprint está bloqueado, las estimaciones están bloqueadas, por lo que no está bien cambiar una estimación después de que se haya realizado la planificación del Sprint y el Sprint esté bloqueado. Hay un par de propósitos de las estimaciones:

  1. Basado en tendencias históricas: permita que Sprint Planning alcance la cantidad deseada de puntos/horas
  2. Hacer un seguimiento de la precisión de los estimadores y proporcionar constantemente comentarios sobre sus estimaciones para mejorar las estimaciones.

Básicamente, haga el trabajo por adelantado en las estimaciones y responsabilice a los estimadores para que mejoren con el tiempo. O despedirlos de la estimación.

¿Alguna desventaja de permitir que el equipo corrija la estimación?
(1) No podrá evaluar la calidad de la capacidad del equipo para estimar (2) A menudo, el sprint es su contrato con las partes interesadas, y cambiar la naturaleza de eso por algo tan corto como un sprint es problemático (suponiendo que tus sprints son generalmente de 1 a 2 semanas). Tenga en cuenta que agregar un nuevo alcance a un sprint es diferente a cambiar las estimaciones
Los sprints no están bloqueados, solo los objetivos de sprint lo están. La acumulación de Sprint puede cambiar siempre que tenga sentido. Y si despide al equipo de la estimación, ¿quién hará la estimación?
Estaba siendo un poco irónico al despedir al equipo de estimación. Mi punto es que alguien tiene que hacer cumplir la disciplina establecida para el equipo y apegarse a ella. Cada equipo varía su implementación hasta cierto punto, por lo que, independientemente del nivel en que se realicen las estimaciones, no veo ninguna razón para cambiarlas durante la ejecución. Si lo hace, esto causará estragos en cosas como las métricas de velocidad a lo largo del tiempo.
Parece que te aferras a un contrato en lugar de colaborar para alcanzar una meta.

Todo trabajo de desarrollo incluye un elemento de descubrimiento. Un buen equipo de Scrum permitirá algo de capacidad adicional para esto, en lugar de llenar un sprint tan completo que no haya contingencias.

¿Necesita volver a estimar? Bueno, eso depende de las circunstancias y del impacto que pueda tener el cambio.

Si el equipo descubre que algún trabajo está tardando más (o menos) de lo esperado, normalmente hay dos formas de reaccionar:

  • Si el impacto es pequeño, entonces el equipo puede continuar como de costumbre.
  • Si el impacto es significativo, es posible que el equipo deba volver a planificar y, en una situación extrema, es posible que deba abortar el sprint.

De cualquier manera, puede ser útil que el equipo considere lo que sucedió con la estimación en su próxima retrospectiva. Si hay un problema constante con las estimaciones (por ejemplo, subestimar el tiempo que tardan las dependencias), entonces el equipo puede querer pensar en formas de abordar este problema.

Si es durante su sprint, es posible que desee cambiarlo si surge nueva información. Sin embargo, lo ideal es que lo supere y vuelva a planificarlo, si es posible, y obtenga una historia con la que se sienta más cómodo con la estimación. Si no es posible: entonces sí, hazlo en vivo. Agile se trata de lo que funciona para su equipo y su cliente. Si desea volver a estimar en medio del sprint y usar la nueva estimación: entonces hágalo. Por lo general, a los clientes les preocupa el trabajo que realmente se realiza, no la estimación. Si toma más tiempo de lo que esperaba: bueno, así es la vida, pero cambiar la estimación para reflejar eso realmente no sirve de mucho.

Probablemente no quieras cambiarlo después de que se haya completado la historia . Es como decir "Bueno, supongo que esta tarea llevará 100 horas". Luego, si resulta que la tarea lleva 200 horas, no regresas y dices "Oh, mira, supusimos que la tarea tomó 200 horas... ¡y tomó 200 horas! ¡Somos perfectos!". No, supuso que tomaría 100 horas y, de hecho, tomó el doble de esa cantidad de tiempo. Aprende de ese error, no finjas que nunca sucedió. Sus estimaciones nunca pueden mejorar si siempre las manipula para que sean estimaciones "perfectas".

Respuestas Rápidas:

  1. Si la historia está en curso, pero no completa, sería innecesario volver a señalar. Comunique los posibles retrasos de inmediato, pero los puntos no ayudan allí. Los puntos se utilizan para medir la capacidad, y ese cálculo ya se habrá realizado cuando comience el sprint.

  2. Diría que sí, si se aplica el escenario que describo a continuación. De lo contrario, no tiene sentido.

  3. No sé si entiendo completamente lo que se propone aquí, pero no cambie los puntos sin el conocimiento de su PO. La capacidad es algo muy importante para ese rol, y cambiar los puntos de forma inesperada causará una confusión innecesaria.

Escenario de reorientación válido

En nuestros equipos de ingeniería, usamos la aplicación Agile Poker Jira. Es una solución fantástica para las sesiones de señalización sincrónicas o asincrónicas.

Lo menciono porque una de las excelentes características que ofrece es mostrarle algunos ejemplos de historias a las que se les han asignado valores de puntos específicos. Entonces, si cree que una historia va a ser de 5 puntos, le mostrará algunas historias completas de 5 puntos para comparar.

Dejar los puntos de la historia sin corregir después de un sprint en este caso en realidad contribuye a señalar de manera inexacta el avance. Impide la capacidad de su equipo para medir adecuadamente su velocidad.

Como ejemplo simple, si le das a una historia 2 puntos, pero terminó siendo 5, si alguna vez tienes una historia similar en tu próximo sprint y no corrigiste los puntos, sobreestimarás tu capacidad.

En mis equipos, si alguien siente que la historia en la que está trabajando se estimó incorrectamente, lleva su sugerencia de punto revisada a su equipo para su aprobación. Es bastante raro que suceda, y se vuelve cada vez más raro a medida que los equipos aprenden.

Si no compara historias al señalar, entonces realmente no importa. Solo tendrá un margen de error más amplio en su planificación de sprint, lo que significa que debe dejar un búfer ligeramente más grande en su capacidad estimada.

En mi opinión, el proceso de señalar por su naturaleza ya tiene un amplio margen de error y, aunque está bien, sigo pensando que vale la pena considerar cualquier paso simple que podamos tomar para mejorar nuestra consistencia.

Sí, siempre es importante comunicarle a la parte relevante del equipo que una tarea llevará más tiempo.

Le sugiero que tenga algunas acciones cuando una estimación ha cambiado. Por ejemplo:

  • ¿Todavía es alcanzable el objetivo del sprint?
  • ¿Debería el equipo centrarse en otras tareas dado que el flujo de trabajo actual dependía de esta?
  • Informe a todos los afectados por esto (no solo al equipo interno, por ejemplo, si fue parte de un entregable para las partes interesadas, también debería haber una manera de comunicarles estos cambios).
  • Si tiene sentido hacerlo: registre los detalles de por qué necesitaba cambiar la estimación para que pueda usarse para hacer mejores estimaciones en el futuro

La estimación en Agile es una medida de complejidad e incertidumbre (un 5 está entre 3 y 8). Cambiar la estimación sobre la marcha es perjudicial: sus estimaciones históricas deben tener el mismo factor de incertidumbre y error que las estimaciones actuales. Comparar el tamaño estimado de la cartera de pedidos con la velocidad basada en "precisiones" es manzanas con naranjas.

Cuando tome más tiempo, solo diga: "Toma más tiempo, necesito desglosarlo" o algo así. Es por eso que tienes standups. Entonces la próxima vez no seas demasiado optimista.

Al final del sprint, debe verificar la precisión de la estimación en el nivel Sprint y aprender. Y subestimar es tan malo como sobreestimar.