El pasado fin de semana tuvo lugar el Codemotion en Madrid, un evento de referencia en el mundo del desarrollo de software a nivel
mundial
.

Tino Romero y yo (David Roncero), nos aventuramos a presentar un taller para que los asistentes se llevaran, de una forma más cercana y guiada, cómo hacer un Sprint Planning y el Refinamiento

El objetivo era presentar y guiar paso a paso a los asistentes al taller, a través de un backlog inventado y de forma totalmente experiencial, en cómo son un refinamiento y un sprint planning. Se analizaron tres conceptos

  • Value Driven Planning
  • Design Driven Planning
  • Velocity Driven Planning

La clave fue empezar presentando el concepto de MMF (Minimum Marketable Feature), que consiste en el mínimo conjunto de historias de usuario que me permiten llegar al mercado para validar mi idea y, además, recibir retorno económico. El MMF, junto con la elección de la arquitectura a nivel global, se descubrirían en la etapa de inception y en el taller se supuso como algo que ya se había realizado. El foco del taller estaba en el sprint planning y el refinamiento.

El proceso, una vez que se tiene el backlog es sencillo: en cada sprint, para cada historia de usuario, se deben seguir los siguientes pasos:

  • Definir los criterios de aceptación de la historia de usuario desde la visión del cliente final.
  • Realizar el diseño técnico de la historia de usuario haciendo lo mínimo para cumplir los criterios de aceptación.
  • Desglosar el diseño en las tareas técnicas concretas que abarcan la historia de usuario.
  • Colocar las tareas en el panel de estimación y hacer estimación relativa por comparación.

Imagen de la estimación del Codemotion.

Hay varios puntos importantes a destacar en este proceso:

  • Debe existir una historia de usuario de referencia que no cambia durante el desarrollo total y que sirve como base para las comparaciones.
  • Cada sprint tiene una proposición de valor, de tal forma que no perdemos de vista las necesidades del cliente.
  • En todos los pasos, lo realmente importante, además de llegar a un acuerdo, es la conversación que se establece en el equipo.
  • En cada paso podemos preguntarnos: ¿qué más hace falta para cumplir la proposición de valor? ¿Qué bloqueos se pueden producir? Con lo propuesto, ¿seguimos cumpliendo la proposición de valor? ¿Estamos haciendo lo mínimo posible para cumplir la historia de usuario?
  • El Sprint 1, al no haber información de la velocidad del equipo, se escoge un número arbitrario de historias de usuario.

Los 9 equipos que surgieron en la sesión realizaron todos los pasos y, aunque el tiempo se nos echó encima, sí llegamos a tiempo para comentar que aunque Sprint Planning y Refinamiento no son dos cosas diferentes, sin embargo, suelen separarse en el tiempo. Realizando el Refinamiento algunos días antes del Sprint Planning conseguiremos detectar bloqueos y posibles problemas para, cuando llegue el momento de planificar, tengamos la claridad necesaria para generar una propuesta de valor alcanzable.

Contentos con la experiencia y con el feedback recibido por los asistentes, volveremos, si la organización nos da el espacio, con más ideas sobre el proceso de creación de valor y no tanto las tecnologías de creación de producto.