Planificación del Sprint
La ceremonia de Planificación del Sprint marca el inicio de cada Sprint. Es lo primero que debe hacerse al comienzo de cada uno de ellos.
Sprint Planning
El objetivo de esta ceremonia es definir qué se entregará al terminar el Sprint, tomando como base las prioridades y necesidades de negocio del usuario, y se determinan cuáles y cómo van a ser desarrolladas las funcionalidades que se incorporarán al producto en el siguiente Sprint, es decir, cómo llevará a cabo el equipo el trabajo necesario para realizar el incremento previsto.
Se trata de una reunión conducida por el Gestor del Proyecto o un miembro del Equipo de Desarrollo. Durante esta ceremonia, deben participar el Dueño del Producto y el Equipo de Desarrollo completo, y también pueden asistir otros implicados en el proyecto.
La Planificación del Sprint es una reunión crítica, probablemente la más importante de estas ceremonias. Una Planificación del Sprint mal ejecutada puede arruinar por completo todo el Sprint. Esta ceremonia consiste en que:
- El Dueño del Producto pueda presentar al Equipo de Desarrollo, las Historias de Usuario prioritarias, comprendidas en la Pila del Producto.
- El Equipo de Desarrollo comprenda el alcance de las mismas mediante preguntas.
- Tanto el Dueño del Producto como el Equipo de Desarrollo negocien cuáles pueden ser desarrolladas en el Sprint que se está planificando.
Una vez definido el alcance del Sprint, es cuando el Equipo de Desarrollo divide cada Historia de Usuario en tareas, las cuales serán necesarias para desarrollar la funcionalidad descrita en la historia. Estas tareas, serán pasadas a la Pila del Sprint y tendrán un esfuerzo de desarrollo estimado en horas, que se deducen de la Estimación del Esfuerzo realizada mediante técnicas como: T-Shirt Sizing o Columnas, que veremos más adelante. De allí se visualizarán en el tablero, una vez que cada miembro se haya asignado aquellas que considere puede realizar.
Precondiciones
- La organización tiene determinados los recursos disponibles para llevar a cabo el Sprint.
- Ya están “preparados” los elementos prioritarios de la Pila del Producto, de forma que ya tienen un nivel de detalle suficiente y una estimación previa del trabajo que requieren.
- El equipo tiene un conocimiento de las tecnologías empleadas, y del negocio del producto, suficiente para realizar estimaciones basadas en juicio de expertos, y para comprender los conceptos del negocio que expone el propietario del producto.
Entradas
- La Pila del Producto.
- El producto desarrollado hasta la fecha en los incrementos anteriores (excepto si se trata del primer Sprint).
- Circunstancias de las condiciones de negocio del usuario y del escenario tecnológico empleado.
- Dato de la velocidad o rendimiento del equipo en el último Sprint, que se emplea como criterio para estimar la cantidad de trabajo que es razonable suponer para el próximo Sprint.
Resultados
- Pila del Sprint.
- Objetivo del Sprint.
- Asignación compartida de las Historias de Usuario de la Pila del Sprint entre el Equipo de Desarrollo.
- Duración (tentativa) del Sprint.
- Fecha (tentativa) de la ceremonia de Revisión del Incremento.
Formato de la reunión
- Duración máxima: Un día, consta de dos partes separadas por una pausa de café o comida, según la duración.
- Asistentes: Dueño del Producto, Equipo de Desarrollo y Gestor del Proyecto.
- Pueden asistir: todos aquellos que aporten información útil, ya que es una reunión abierta.
Tablero operativo para la reunión
Es recomendable, que el propietario del producto emplee una hoja de cálculo o alguna herramienta similar para guardar en formato digital la Pila del Producto. Aunque no es aconsejable usarla como base para trabajar sobre ella en la reunión.
En la reunión es preferible usar una pizarra o un tablero y fichas o etiquetas removibles. El tablero facilita la comunicación y el trabajo de la reunión.
Algunos soportes habituales:
- Pizarra blanca y notas adhesivas.
- Tablero de corcho laminado y chinchetas para sujetar las notas.
- Tablero de acero vitrificado y soportes magnéticos para sujetar notas.
Con cinta adhesiva removible se marca una línea para delimitar:
- Un área para ordenar los elementos de la Pila del Producto de mayor a menor importancia.
- Un área donde el equipo anota:
- Las unidades de trabajo que según la velocidad media del equipo se podrían realizar en Sprints de 2, 3, 4 y 5 semanas.
- Duración que finalmente tendrá el Sprint, así como el objetivo establecido, duración y hora fijada para las reuniones diarias, y fecha prevista para la reunión de revisión del Sprint.
- Un área paralela para descomponer cada elemento de la Pila del Producto en las correspondientes tareas de la Pila del Sprint.
La Planificación del Sprint puede durar toda una jornada laboral completa, o solo unas horas, cuando se trata de planificar un Sprint largo (de un mes de duración) o un tiempo proporcional para planificar un Sprint más breve.
Esta ceremonia esta conformada en dos (2) partes, la primera parte debe dar respuesta a qué se entregará al terminar el Sprint. La segunda parte, determina cuál es el trabajo necesario para realizar el incremento previsto y cómo van a ser desarrolladas las funcionalidades que se incorporarán al producto.
Parte 1° de la Planificación del Sprint
El usuario principal presenta la Pila del Producto, exponiendo los requisitos de mayor prioridad que necesita y que prevé que se podrán desarrollar en el siguiente Sprint. Si la Pila del Producto ha tenido cambios significativos desde la anterior reunión, explica las causas que los han ocasionado.
El objetivo es que todo el equipo conozca las razones y los detalles con el nivel suficiente para comprender el trabajo del Sprint.
Gestor de Proyecto
- Realiza esta reunión antes de cada Sprint.
- Asegura que se cuenta con una Pila de Producto adecuadamente preparada por el Dueño del Producto.
- Ayuda a mantener el diálogo entre el Dueño del Producto y el Equipo de Desarrollo.
- Asegura que se llegue a un acuerdo entre el Dueño del Producto y el Equipo de Desarrollo respecto de lo que incluirá el incremento.
- Ayuda al Equipo de Desarrollo a comprender la visión y necesidades de negocio del usuario.
- Asegura que el Equipo de Desarrollo ha realizado una descomposición y estimación del trabajo realistas, y ha considerado las posibles tareas necesarias de análisis, investigación o apoyo.
- Asegura que al final de la reunión están objetivamente determinados:
- Los elementos de la Pila del Producto que se van a ejecutar.
- El objetivo del Sprint.
- La Pila del Sprint con todas las tareas estimadas.
- Duración (tentativa) del Sprint
- Fecha (tentativa) de la reunión de Revisión del Incremento.
- Modera la reunión para que no dure más de un día.
- Evita que el Equipo de Desarrollo comience a profundizar en trabajos de análisis o arquitectura que son propios del trabajo del Sprint.
Dueño del Producto
- Presenta las funcionalidades de la Pila del Producto que tienen mayor prioridad y que estima se pueden realizar en el Sprint.
- La presentación se hace con un nivel de detalle suficiente para transmitir al equipo toda la información necesaria para construir el incremento.
Equipo de Desarrollo
- Realiza las preguntas y solicita las aclaraciones necesarias.
- Propone sugerencias, modificaciones y soluciones alternativas.
- Los aportes del equipo pueden suponer modificaciones en la pila.
Esta reunión es un punto caliente para favorecer la fertilización cruzada de ideas en equipo y añadir valor a la visión del producto.
Tras reordenar y replantear las funcionalidades de la Pila del Producto, el Equipo de Desarrollo define el “objetivo del Sprint” o frase que sintetiza cuál es el valor que se le va a entregar al usuario.
Exceptuando los Sprints dedicados exclusivamente a refactorización o a colecciones de tareas desordenadas (estas últimas deberían ser las menos), la elaboración de este lema de forma conjunta en la reunión es una garantía de que todo el equipo comprende y comparte la finalidad del trabajo, y durante el Sprint sirve de criterio de referencia en las decisiones que auto-gestiona el equipo.
Parte 2° de la Planificación del Sprint
El equipo desglosa cada funcionalidad en tareas, y estima el tiempo para cada una de ellas, componiendo así las tareas que forman la Pila del Sprint. En este desglose, el equipo tiene en cuenta los elementos de diseño y arquitectura que deberá incorporar el sistema.
Los miembros del equipo establecen cuáles van a ser las tareas para los primeros días del Sprint, y se las autoasignan tomando como criterios sus conocimientos, intereses y una distribución homogénea del trabajo.
Esta ceremonia debe considerarse como una “reunión del equipo”, en la que deben estar todos sus miembros, y ser ellos quienes descompongan estimen y asignen el trabajo.
El papel del Dueño del Producto es atender a dudas y comprobar que el Equipo de Desarrollo comprende y comparte su objetivo. El Gestor del Proyecto actúa de moderador de la reunión.
¿Por qué debe asistir el Dueño del Producto?
A veces el Dueño del Producto se resiste a pasar horas con el Equipo de Desarrollo preparando la Planificación del Sprint y esto es un problema bastante serio. La razón por la que el equipo y el propietario del producto deben asistir a la Planificación del Sprint es que cada historia contiene tres variables que son muy dependientes unas de otras:
- Calidad
- Alcance
- Importancia
- Estimación
Cuando hablamos de la calidad, hay que dejar claro que esta variable es algo que no puede ser discutido. Es responsabilidad del Equipo de Desarrollo mantener la calidad del sistema bajo toda circunstancia y simplemente no es negociable. En cuanto al alcance y la importancia, son variables que fija el Dueño del Producto. Mientras que la estimación la proporciona el Equipo de Desarrollo. Durante la Planificación del Sprint, estas variables sufren un ajuste fino y continuo a través del diálogo (cara a cara) entre el equipo y el propietario del producto.
Normalmente, el Dueño del Producto comienza la reunión resumiendo cuál es su meta para el Sprint y las historias más importantes. A continuación, el Equipo de Desarrollo las repasa y les asigna una estimación, comenzando con la más importante.
Habrán circunstancias donde el Equipo de Desarrollo le hará preguntas al Dueño del Producto, entonces las respuestas sorprenderán al equipo y les obligarán a cambiar sus estimaciones.
En algunos casos, la estimación para una historia no será la que el Dueño del Producto esperaba. Esto puede forzarle a cambiar la importancia de la historia o su alcance, lo que obligará al Equipo de Desarrollo a re-estimarla.
Este tipo de colaboración directa es fundamental en todo el desarrollo ágil de software.
Ahora, ¿Qué ocurre si el Dueño del Producto insiste en que no tiene tiempo de unirse a las reuniones de Planificación de Sprint? Lo más recomendable es intentar alguna de las siguientes estrategias, en el siguiente orden:
- Intentar que el Dueño del Producto comprenda por qué su participación es crucial y esperar que cambie de parecer.
- Intentar que el Dueño del Producto designe algún otro usuario conocedor del negocio y se presente como delegado durante la reunión.
- Tratar de convencer a la gerencia de que asigne un nuevo Dueño del Producto.
- Posponer el lanzamiento del Sprint hasta que el Dueño del Producto encuentre el tiempo o el delegado para asistir a la reunión. Mientras tanto, no comprometerse a ninguna entrega y permitir que el equipo pase el día haciendo cualquier cosa que les parezca importante hacer.
Cuando la ceremonia se alarga demasiado...
¿Qué hacer cuando la reunión de Planificación del Sprint está llegando al final y no hay señales de una Pila de Sprint? ¿Limitar la reunión al tiempo establecido? ¿O extenderla una hora? ¿O terminar y continuar al día siguiente?
Al intentar que las reuniones se alarguen, normalmente no vale de nada, porque los participantes están cansado. Si no han producido un plan de Sprint decente en 2 – 8 horas (o lo que sea que duren), probablemente no lo lograrán en otra hora más. Por lo tanto, acabar por hoy con la reunión es la mejor opción.
La ventaja, es que todos los participantes han aprendido una lección muy valiosa, y en las próximas reuniones de Planificación del Sprint serán mucho más eficientes. Adicionalmente, ofrecerán menos resistencia cuando se proponga una duración para las reuniones que anteriormente hubieran considerado excesiva.
Se debe aprender a mantener las duraciones determinadas y a establecer duraciones realistas. Esto aplica tanto a las reuniones como a los Sprints.
Definiendo la duración del Sprint
Uno de los resultados de la Planificación del Sprint es una fecha de Sprint definida. Eso significa que se debe determinar una duración del Sprint. ¿Y cuanto debería durar un Sprint?
- Los Sprints cortos están bien: Permiten a la empresa ser “ágil”, es decir, cambiar de dirección frecuentemente. Sprints cortos igual a ciclos cortos, igual a más entregas frecuentes, igual a más retroalimentación con el usuario, igual a menos tiempo desarrollando en dirección incorrecta, igual a aprender y mejorar más rápido, etc.
- Los Sprints largos tampoco están mal: El equipo tiene más tiempo para conseguir impulso, tienen más espacio para recuperarse de los problemas que surjan y aun así cumplir la meta del Sprint, tiene menos carga de gestión en términos de reuniones de planificación de Sprints, demos, etc.
Generalmente, los usuarios prefieren los Sprints cortos y a los desarrolladores les gustan los Sprints largos. Así que la duración del Sprint es un valor de compromiso. La mayoría de los equipos (pero no todos) hacen Sprints de 3 semanas. Suficientemente cortos para proporcionar agilidad corporativa, suficientemente largos para lograr flujo y recuperarse de los problemas que aparezcan durante el Sprint.
Sin embargo se recomienda experimentar con las duraciones al principio. No perder mucho tiempo analizando, simplemente seleccionar una duración prudencial y probar un Sprint o dos, y entonces cambiar la duración. En cualquier caso, una vez que se haya establecido una duración, mantenedla durante un buen periodo de tiempo. A veces puede parecer un poco corto, a veces un poco largo. Pero manteniendo la misma duración se consigue un latido corporativo al que todo el mundo se acostumbra confortablemente.
Para tener una visión general de la ceremonia de Planificación del Sprint, se muestra la siguiente tabla:
Objetivos:
- Que el Equipo de Desarrollo conozca los ítems prioritarios de la Pila del Producto.
- Que el Dueño del Producto negocie con el equipo los ítems a desarrollar.
- Que el equipo defina las tareas necesarias para cumplir con la entrega.
Participantes:
- Dueño del Producto
- Equipo de Desarrollo
- Gestor del Proyecto
Momento:
- Al comienzo del Sprint
Duración:
- Fija, entre 2 y 8 horas
Artefactos involucrados:
- Pila del Producto: para negociar los items a desarrollar y comprender su importancia.
- Pila del Sprint: se define durante la planificación.
Dinámica:
- Presentar items: El Dueño del Producto presenta los ítems.
- Hacer preguntas: El Equipo de Desarrollo realiza las preguntas que considere necesarias al Dueño del Producto a fin de entender los ítems presentados.
- Estimar esfuerzo: El Equipo de Desarrollo realiza las estimaciones de esfuerzo y complejidad necesarias para desarrollar los ítems propuestos por el Dueño del Producto.
- Definir alcance: Basados en la estimación efectuada, el Equipo de Desarrollo define el alcance del Sprint.
- Negociar: El Dueño del Producto, acepta, rechaza o solicita cambios al alcance definido por el Equipo de Desarrollo.
- Definir tareas: El Equipo de Desarrollo, define las tareas para cada ítem seleccionado, estimando la duración de horas de cada una.
- Armar tablero: Se chequea la lista y se arma el tablero.