Si entregó una historia de usuario en un sprint anterior y luego necesita realizar cambios en esa función en el sprint actual, ¿qué debe hacer?
Ejemplos:
Si entrega una historia de usuario en un sprint anterior y luego necesita modificarla en un nuevo sprint, ¿qué hace?
tu no Todo el trabajo debe ser priorizado por el Product Owner en el Product Backlog, y no se deben introducir historias no planificadas en la iteración actual después de que se complete la Planificación de Sprint.
Si descubre trabajo que debe realizarse en un sprint futuro, escriba una nueva historia de usuario y envíela al propietario del producto para que la incluya en la cartera de productos. Si es realmente un obstáculo que bloquea el progreso dentro del sprint actual, plantee el problema dentro del equipo (por ejemplo, durante la reunión diaria) y deje que el Scrum Master lo escale.
La refactorización no cambia el comportamiento de una característica, solo cambia la implementación interna. Es posible que deba refactorizar el código existente para acomodar una nueva característica, pero el código anterior debería comportarse fundamentalmente de la misma manera, y todas sus pruebas anteriores aún deberían pasar.
Además, dichas refactorizaciones deben mantenerse al mínimo absoluto necesario para adaptarse a la nueva característica. Este no es el momento de volver atrás y hacer mejoras u optimizaciones que se extiendan más allá del alcance de la historia en la que está trabajando.
Si necesita cambiar el comportamiento, mejorar una interfaz de usuario u optimizar una sección de código, eso es trabajo nuevo . Debe agregarse al Product Backlog, priorizado por el Product Owner durante la Preparación del Backlog, y luego agregarse al Sprint Backlog durante la Planificación del Sprint para un sprint futuro en lugar del actual.
Hay excepciones a cada regla. Algunos ejemplos incluyen:
Scrum y otros marcos ágiles no están destinados a ser una camisa de fuerza. Hay suficiente flexibilidad en el sistema para acomodar variaciones y casos extremos. Sin embargo, un equipo realmente necesita dominar los principios subyacentes antes de intentar violar principios como YAGNI o eludir los controles de alcance formales, o de lo contrario corre el riesgo de convertir su marco en ScrumBut o su equivalente que induce fallas.
Todd A. Jacobs