Muchos equipos ágiles se enfrentan a un dilema cuando toman una nueva historia al final de un Sprint. Todavía existe tiempo restante, pero no lo suficiente para terminar esta nueva historia. Un interesante debate en el grupo Scrum Development intenta encontrar algunas soluciones a esta cuestión.
Según Alan Shalloway, que empezó el debate,
¿Qué ocurre si usted hace algo por la mitad? Ahora usted tiene un exceso (historias incompletas en el próximo sprint). Si ya tuvieras una situación donde no todas las historias restantes están terminadas, añadir una nueva historia no es una buena idea. Es preferible recibir la ayuda de un desarrollador para cerrar otras historias que, de otro modo, podrían también desbordar para un futuro sprint. El trabajo en curso tiene un efecto negativo. Nosotros queremos e intentamos diminuir esa situación, y no aumentarla.
La idea parece ser que, en lugar de iniciar una nueva historia, debe darse más atención a la finalización de las historias que están cerca de ser completadas y añadir valor al producto.
Rob Park sugirió que algunas historias no finalizadas transferidas al próximo sprint podría ser una señal saludable. Esto sugiere que el equipo está trabajando a una buena velocidad. Si no hay trabajo en progreso, puede indicar falta de compromiso del equipo y que hay tiempo de inactividad al final del sprint.
Jose M Beas dice que si hay una historia que no se puede completar en un sprint, se debe partir en partes menores. Así, en lugar de tener una gran historia y no finalizarla, el equipo podría tener pequeñas historias terminadas. Un post relacionado en InfoQ también sugiere la ruptura de las historias en pedazos más pequeños como una opción viable para hacer frente a esta situación.
Ron Jeffries añadió que, si bien está de acuerdo en que no es bueno llevar 'sobras', iniciar una historia y llevarla inconclusa para el próximo sprint no es muy diferente a llevar una historia no finalizada para la próxima semana, dentro del mismo sprint. Según él, si no hay tareas suficientes para ser terminadas antes del final de un sprint, iniciar una nueva historia no parece una mala idea.
Philip Cave también expuso sus ideas de una manera muy similar. Según él
Minimiza el trabajo en progreso (WIP - en inglês Work in Progress), aunque siempre necesitamos tenerlo... cualquier proceso debe ser alimentado sólo con una cantidad cierta de esfuerzo (también conocida como SWIP - do inglês Standard Work in Progress), de otro modo su "línea de producción" puede ser apática. Uno de los objetivos de tiempos definidos (time boxes) en los métodos ágiles es crear SWIP (para ayudar a administrar nuestro flujo), y otro es crear intervalos de feedback cortos con el cliente (a prueba de errores) ... permitiendonos, así, definir la cantidad cierta de trabajo y entregar valor a la mayor brevedad posible.
La mayoría de los agilistas de la discusión concuerdan que las historias no finalizadas son muy comunes. Durante la planificación del próximo sprint la estimación de la historia no terminada debería ser ajustada de acuerdo al trabajo que aún queda por hacer.
Entonces, ¿qué podemos hacer al final del sprint en lugar de iniciar una nueva historia?
Utilice el tiempo disponible para escribir test para las siguientes historias, haciendo análisis cortos, o haciendo algo que sabes que puede ser mejorado.
Philip Cave sugiere que los equipos deben plantear cuestiones de interés para ellos mismos para gestionar sus SWIPs:
Cuando llegamos cerca del final del ciclo y los puntos de nuevas historias nos indican que no caben en ese sprint, es el momento de preguntarnos si ... podemos tomar una historia menor... podemos realizar la restrospectiva ahora mismo con el cliente... podemos comenzar un "análisis" de una nueva historia para el próximo ciclo ... o si podemos hacer alguna otra cosa...
Así que el mensaje en común es que antes de comenzar una nueva historia, el equipo debe evaluar algunas opciones que puede añadir más valor al producto. Si la alternativa de iniciar una nueva historia es la que agrega más valor, entonces, no hay que tener miedo de tomarla y trasferirla inconclusa al próximo sprint.