¿Cómo abordar la entrega de arreglos de producción en scrum?

Digamos que la cartera de productos tiene 90 historias y alrededor de 30 historias que hacen que parte de la funcionalidad de la aplicación se desarrolle y entregue durante los sprints anteriores. La OP elige liberar esta funcionalidad entregada y ponerla en producción.
Actualmente, estoy en el sprint 6 y la duración del sprint es de 3 semanas. El sprint ha comenzado con aproximadamente 5 historias, ya que son elementos de la cartera de pedidos del sprint y ya ha pasado una semana del sprint.

Ahora, el PO descubre un error de producción o una funcionalidad importante que debe agregarse en la aplicación de producción con máxima prioridad. La estimación de esta solución o funcionalidad son solo algunos puntos de la historia que se pueden entregar en unas pocas horas según la velocidad de los equipos.

A estas alturas, es de esperar que vea la situación en la que se encuentra el PO. Incluso si el equipo de desarrollo (ya que solo DT puede modificar el trabajo pendiente del sprint, no el PO) está dispuesto a incorporar esta corrección/funcionalidad en el trabajo pendiente del sprint, la entrega tardará otras 2 semanas (ya que solo ha pasado una semana de las 3 semanas de sprint) y el PO no puede esperar tanto.

¿Qué puede hacer el PO en esta situación?
1) ¿Puede iniciar otro nuevo Sprint que dure solo unas pocas horas o como máximo un día (me gustaría llamar a esto micro sprints). Entonces, aquí parte de la pregunta: ¿los sprints pueden durar unas pocas horas o un día o dos como máximo? (por lo que he leído en cualquier lugar, la duración de sprint más corta que he leído o escuchado es de 1 semana) Entonces tengo esta duda, ¿es posible tener sprints cortos de unas pocas horas o un día y son válidos y aceptables en scrum? .
2) ¿Qué sugiere sobre cómo la OP debe manejar esta solución/funcionalidad de prioridad máxima y urgente que necesita entrega inmediata?

Nota: todo lo relacionado con el proyecto debe realizarse únicamente a través de un proceso formal de scrum.

No. Los Sprints siempre deben programar el mismo tamaño para un cuadro de tiempo. Sin embargo, puede cancelar su Sprint actual y comenzar un nuevo Sprint de 3 semanas a discreción del PO.
gracias por el "No. Los sprints siempre deben programar el mismo tamaño para un cuadro de tiempo". aclaración. Pero al cancelar el sprint en curso y comenzar otro sprint de 3 semanas, el problema aún no se resolverá, ya que el PO quiere una entrega inmediata de la solución/funcionalidad crítica que sabe que tomará solo unas pocas horas. No puede esperar 3 semanas para trabajar unas pocas horas. Entonces, ¿qué es lo mejor que puede hacer? La aclaración de Kempeth responde a menos que desee señalar un enfoque diferente.
Sprints must always schedule the same size for a time boxes gramaticalmente problemático e incorrecto. Un Sprint es una caja de tiempo. Aunque se recomienda, no se requiere que la duración del Sprint sea consistente. Porque A new Sprint starts immediately after the conclusion of the previous Sprintla siguiente no empiezaat the PO's discretion.

Respuestas (6)

Grandes respuestas arriba.

Pero agregaré... Tómese un tiempo con el PO y el DT para discutir las correcciones de errores de producción e intente tener una política implementada para que su equipo comprenda mejor las correcciones Scrum Vs Emergency.

Por lo general, los equipos adoptan una metodología... "Si es tan importante... arreglarlo, implementarlo, volver a las tareas de sprint".

Luego, tenga cuidado con el cambio furtivo de PO como emergencias cuando, de hecho, solo son requisitos que no se cumplieron.

¡Buena suerte!

"Si es tan importante... Arréglalo, despliégalo, vuelve a las tareas de sprint". Gr8 Realmente estoy de acuerdo. De esta manera, no tengo que interrumpir la acumulación de primavera y no necesito preocuparme por la regresión debido a la nueva funcionalidad agregada al producto... que podría no ser necesaria en la versión fija del producto. Ahora, ¿cómo llamo a este mecanismo de entrega... otro sprint corto?
+1 por mantenerse alerta. Consideré mencionar eso en mi respuesta.
Es un enjambre... problemas de enjambre ... pero no es un sprint dentro de un sprint... eso es un "No No"

Scrum es el vehículo para llegar a tu destino de forma más rápida y cómoda. No es un garrote para golpearse en la cabeza...

No hay nada en Scrum que le impida renegociar el alcance de este sprint o lanzar una nueva versión durante el sprint. SCRUM solo dice que los sprints deben ser lo suficientemente cortos como para que, por lo general, este tipo de cosas no sean necesarias (es decir, el PO puede esperar al próximo sprint para todo lo que surja). Pero el objetivo de Agile es que puede adaptarse a las circunstancias cambiantes. Además, Scrum no dice que solo puede entregar al final del sprint, sino que debería poder liberar al final del sprint.

Si el impacto del error o la funcionalidad faltante es tan grande como dice el pedido de compra, entonces debe abordar esto de inmediato y lanzar una nueva versión dentro del sprint. También debe usar su próxima retrospectiva para abordar cómo fue posible pasar por alto este problema.

Individuos e interacciones sobre procesos y herramientas.

Software de trabajo sobre documentación completa

Colaboración con el cliente sobre la negociación del contrato

Responder al cambio sobre seguir un plan

gr8, entonces, la forma en que PO aborda este problema es permitiendo que la corrección/funcionalidad se agregue al sprint en curso con la aceptación del DT. Luego deje que DT arregle o agregue la funcionalidad. Y una vez hecho, en lugar de esperar el final del sprint, el PO puede aceptar el software en funcionamiento durante el sprint y liberarlo.
Nada en Scrum le impide publicar diariamente o incluso cada hora (o cuando quiera) si lo desea.

He visto a personas agregar un carril de emergencia a su tablero Kanban, y esos boletos tienen prioridad.

Esto evita romper el concepto Kanban, pero, como Kempeth ya respondió con tanta elocuencia, existen herramientas de gestión de proyectos para facilitar (y, con suerte, acelerar) el proceso de entrega, con la última esperanza de enriquecer a la empresa. :-)

Tratar a PjM como reglas inmutables es una tontería, aunque hay que tener cuidado de no tener una lista interminable de " emergencias " que destruyan todo el concepto.

Diría que hay algunas cosas diferentes que abordar.

La situación es diferente si se trata de un error o de una funcionalidad faltante. Si se trata de un error, analice realmente el alcance y el posible impacto del mismo. El propietario del producto debería poder decidir realmente con sentido común si esto es algo que puede esperar hasta el próximo sprint. Por lo general, puede. Y si no, el enfoque probablemente debería ser: arreglarlo, volver al sprint y tener esto en cuenta cuando el Equipo Scrum inspeccione ese sprint en la retrospectiva y hable sobre cómo mejorar para que eso no suceda muchas veces en el futuro. . Por ejemplo: ¿El equipo tenía una definición de hecho? ¿El desarrollo desplegado pasó la definición de "lista de verificación" completa?

Si es una funcionalidad faltante, negocie con el Equipo de Desarrollo. Es importante no cambiar el alcance de un Sprint porque estás afectando tu Sprint Goal. Si se trata de unas pocas horas de trabajo, probablemente puedan aceptar trabajar en ello. Pero nuevamente, hable de esto en la retrospectiva e intente analizar por qué una funcionalidad, que parece ser un requisito faltante, aparece de repente de una manera tan urgente que no puede esperar al próximo sprint.

Acerca de las implementaciones, Scrum dice que debe tener un incremento de producto al final del sprint. No dice que tiene que implementar la funcionalidad solo al final del sprint. Puede tener tantas implementaciones como desee, necesite o pueda realizar durante un sprint.

Muchas formas de lidiar con esto, pero en mi opinión, las siguientes dos son las más sostenibles:

  1. Si la velocidad del equipo es de 50 pisos, comience el sprint con 35 pisos. Dejando 15 para corrección de errores y/o mejora/aprendizaje continuo.
  2. Acortar el sprint tanto como sea posible. No tiene sentido distraer al equipo con errores. La mayoría de los errores podrán esperar a que se priorice la planificación del próximo sprint.

Obviamente, el objetivo a más largo plazo debe ser minimizar los errores mediante la introducción de prácticas que promuevan la calidad. Si tiene un gran % de esfuerzo destinado a errores, entonces lo anterior será útil.

Después de hacer todo, es posible que los tapones de la producción rara vez aparezcan. Mi enfoque es detener a todo el equipo, arreglarlo y seguir adelante.

Lo que hacemos en este momento.

Tenemos un sprint planeado que constará de 2 partes.

  • obra nueva (70%)
  • Corrección de errores/incidentes/producción en llamas

Con esta propuesta se tiene en cuenta el tiempo para corregir errores. No los soluciona todos en un solo sprint, sino que simplemente adopta un enfoque continuo para eso. Cuando el PO tiene un problema de producción muy alto, se tiene en cuenta el tiempo de error. De esa manera, el nuevo desarrollo no se detiene y puede solucionar el problema de producción.

Esta es una situación en la que el producto está activo y tenemos muchos errores (compramos el maldito precio fijo). Funciona bastante bien para nosotros.

Sea consciente de llamar a esto pequeños sprints más o menos. Si esto es realmente un problema, tal vez haga sprints un poco más cortos. 1 (o máximo 2) semanas. De esa manera, también puede entregar más rápido esos molestos problemas de producción.

Con este enfoque, no se aborda el problema de raíz de la calidad.