martes, 23 de junio de 2015

Reunión diaria de Scrum, más allá de las 3 preguntas

En este post me gustaría hablar en profundidad de la ceremonia más conocida del mundo de la agilidad, la reunión diaria de Scrum. Personalmente creo que toda reunión debe tener una buena razón para ser convocada, debe tener una agenda establecida, debe asistir el mínimo de gente y siempre se debe enviar un acta al finalizar la sesión para comunicar la información y decisiones importantes. Sin embargo, creo firmemente que en esta reunión se debe hacer una excepción de todo lo mencionado y llevarla a cabo. Eso sí, para sacar el mayor beneficio y que no se conviertan en una pérdida de tiempodebemos seguir algunas directrices y trucos que a continuación explicaré.

Definición y objetivo de la reunión diaria de Scrum

La reunión diaria como su propio nombre indica consiste en reunirse todos los días el equipo Scrum al completo para que cada cada miembro secuencialmente habla durante 2-3 minutos respondiendo a estas 3 preguntas:
  • ¿Qué hiciste ayer
  • ¿Qué harás hoy?
  • ¿Hay algún impedimento?
El objetivo que se busca respondiendo a estas 3 preguntas para mí son los 2 siguientes:

  • Compartir con el equipo el compromiso para avanzar hacia el objetivo del Sprint
  • Tomar decisiones coordinadas entre todos para eliminar impedimentos que nos impidan llegar a ese objetivo

De qué se habla

La reunión diaria de Scrum está pensada para el equipo, es decir, debe ser una herramienta de sincronización y enfoque del equipo Scrum. Por lo tanto a la reunión no debería invitarse a nadie más que no sea del equipo Scrum. Ocasionalmente puede ser conveniente que asista el Product Owner para tomar contacto con lo que está haciendo el equipo y que tipo de problemas encuentra en los proyectos, pero no debería intervenir ni sobre todo repriorizar ni alterar los objetivos del Sprint.
Las respuestas a las preguntas individuales deberían estar enfocadas siempre a los objetivos del Sprint. A la pregunta qué hiciste ayer, los miembros del equipo responden con una explicación de qué incremento de trabajo conseguiste hacer el día anterior que lleva al equipo a conseguir los objetivos. Con la respuesta de la pregunta qué harás hoy, el equipo se compromete a realizar un nuevo incremento que asegure esos objetivos. Finalmente cada uno identifica los posibles impedimentos que alejan al equipo de conseguir los objetivos, con el fin de decidir entre todos como van a resolverlos. El Scrum Master debe responsabilizarse de que ningún impedimento queda sin un plan de resolución y de que ese plan se lleve a cabo, pues forma parte de sus responsabilidades.

Las formas no son tan importantes

En la teoría, se trata de una reunión bastante informal en la que nadie debería llevar nada preparado. Todos los asistentes deberían estar de pie (de ahí que también se le llame standup) y no debería durar más de 15 minutos. El Scrum Master es el facilitador de esta reunión y por tanto responsable de que se cumplan las directrices y objetivos de la misma.
En la práctica, toda esta liturgia no es tan importante siempre que estemos enfocados en conseguir los objetivos de la sesión.
Si alguien está cansado y quiere sentarse no hay problema con ello. Es complicado que el objetivo de la reunión se vea comprometido por estar sentado o de pie. Es más, si todos los asistentes se sientan el Scrum Master también debería sentarse para evitar posicionarse literalmente por encima del resto en una posición de poder que no le conviene, pues es un miembro más del equipo y no el jefe.
Desde esta posición de igual también debe evitar que la reunión se convierta en un informe hacia el Scrum Master. Los miembros del equipo deben hablar y dirigirse al resto del equipo y no solo hablarle al Scrum Master.
También se suele recomendar que mejor no utilizar salas de reunión para la reunión diaria de Scrum pero lo cierto es que en algunas oficinas hay tanto ruido a primera hora de la mañana que es mejor encerrarse y aislarse del ajetreo para enfocarse mejor en la reunión.
Si el equipo utiliza un tablero Kanban, es muy práctico hacer la reunión delante del tablero. Personalmente además también recomiendo tener delante los objetivos escritos del Sprint. De esta forma será más fácil identificar cuellos de botella, tareas que se quedan bloqueadas, dependencias de terceros, en definitiva cualquier impedimento que nos aleje de los objetivos del Sprint.
Algunas reglas adicionales se deberían incluir en todos los casos para garantizar que todos estamos enfocados y cómodos en la reunión. Conviene por ejemplo evitar traer los portátiles, poner los móviles en silencio y no estar continuamente comprobando whatsapp correo y demás, ser puntuales, no salir de la reunión cuando has terminado de hablar de tu parte, en general seguir las reglas básicas de respeto hacia los compañeros.

El tiempo es limitado, aprovechadlo

Como todas las reuniones de Scrum, la reunión diaria es timeboxed, lo que significa que tiene una duración limitada, 15 minutos como máximo. Para cumplir con este tiempo es necesario una vez más estar enfocados a completar la ronda de preguntas y no estar más de 2-3 minutos por persona.
No se trata de contar una película sino de ser conciso e ir al grano con la información que interesa al resto del equipo. En equipos técnicos es muy fácil caer en discusiones por detalles muy técnicos que se alargan con facilidad. El Scrum Master como facilitador de la reunión tiene que saber parar estas pérdidas de enfoque y retomar el hilo de la reunión donde se perdió.
Es cierto que el límite de 15 minutos es algo orientativo, pues depende del número de asistentes, de si hay mucho o poco de lo que hablar, de si estamos al inicio o al final del Sprint, de si existen muchos impedimentos, etc. En general la directiva es que la reunión no se alargue demasiado  y se pierda el foco en los detalles, pero si un día son 20 minutos de reunión y se consigue el objetivo no se podrá considerar un fracaso.
Pese a que no todo el mundo comparte esta opinión, personalmente opino que la reunión diaria de Scrum es ideal para comunicar información importante al equipo aunque no tenga nada que ver con el objetivo de la reunión. Se trata de aprovechar que el equipo se encuentra reunido y desconectado de su PC para informar u obtener feedback. Es muy complicado encontrar un momento mejor para ello ya que supuestamente el resto del tiempo es para trabajar en el proceso productivo, por lo que en cualquier otro momento fuera de la reunión estaremos interrumpiendo tal proceso de uno o más miembros del equipo.

Conclusión

Si logramos llevar a cabo la reunión diaria de Scrum enfocados y en tiempo, estaremos estableciendo un mecanismo muy potente para conseguir los objetivos del Sprint. Esta reunión permite resolver muchos conflictos y situaciones que de otra forma hubieran estallado demasiado tarde. Aunque pueda parecer una pérdida de tiempo, estamos ahorrando tiempo en reuniones adhoc que muchas veces son complicadas de convocar y que cortan constantemente el flujo productivo del equipo.
Pese a que la reunión diaria de Scrum se pensó desde el principio para equipos de desarrollo de software, esta herramienta es perfectamente aplicable a cualquier trabajo en equipo que necesite sincronizarse para conseguir unos objetivos marcados. Y tú, ¿haces reuniones diarias con tu equipo?

No hay comentarios:

Publicar un comentario