En este post quiero hablar de uno de los eventos de Scrum más importantes: las RETRO meetings. Estuvimos hablando de esto con Arcadio en la charla del último Encuentro GeneXus, al hablar de cómo el testing podía ser un impulsor de la adopción de una cultura DevOps (tal vez prefieras ver el video para tener la explicación más completa).
Uno de los temas que tocamos ahí era el cómo generar una “cultura de continuous feedback”, aprender no solo de mis errores y aciertos, sino también de los de otros, ya sean de mi área o de las áreas con las que colaboro.
El primer paso que siempre damos al intentar impulsar el cambio cultural, es el de plantear una reunión de retrospectiva. Las famosas RETROs que vienen de la metodología SCRUM. Este es un evento puntual donde se enfoca a obtener feedback del proceso y de la forma en la que el equipo está trabajando. Esta metodología apunta a tener este tipo de reuniones de manera frecuente, y por eso ayuda a incorporar en nuestra cultura esta idea de dar y recibir feedback.
Nuestra costumbre como testers de buscar oportunidades de mejora y brindar feedback nos hace buenos para “hacerle testing al proceso”. De ahí que creo que nuestra participación es fundamental, e incluso impulsando en la adopción de estas prácticas.
Lo que nos ha pasado en la mayoría de los equipos donde planteamos hacer esto, es que al principio se ve como una pérdida de tiempo, y luego no pueden vivir sin tener estas reuniones. Literal. “¿Cómo hacíamos antes?” “¿Cómo trabajaríamos sin hacer estos análisis?”
Gracias a esto se comparten aprendizajes, se experimenta, se innova. Además, todos conocen los problemas, suyos, y de los demás. Fomenta a que haya transparencia, visibilidad e inspección, para poder así adaptar el proceso y mejorar.
La recomendación es comenzar con dinámicas simples. Creo que la dinámica más simple que conozco es la de dividir un pizarrón o papelógrafo con las siguientes categorías:
- lo que anduvo bien
- lo que anduvo mal
- lo que nos gustaría comenzar a hacer
- lo que nos gustaría dejar de hacer
- propuestas de ideas
O tal vez una como la planteada aquí.
Nos tomamos 10 minutos aproximadamente en silencio para que cada uno apunte ideas en post-its, cada idea en un papelito separado, en base a esas categorías (sin restricciones, la cantidad que queramos, sin obligación de completar todas las categorías).
Brevemente pasamos a presentar los temas que cada uno pensó, colocando cada cual los post-its en la columna correspondiente de la pizarra.
Luego para organizar la discusión, priorizamos los temas a conversar, lo cual puede ser en base a una votación o similar. Para esto es importante reconocer que no es posible hablar de todos los temas, así que tenemos que priorizar, pensando en qué cosas le pueden dar más valor a cada uno y al equipo y sus objetivos.
Es fundamental poner foco en el plan de acción, para poder así luego dar seguimiento a las ideas propuestas. Que no quede en una reunion de catarsis y nada más.
Luego se pueden variar las dinámicas para hacer las reuniones más entretenidas, y pensar los problemas con una perspectiva diferente. Acá se pueden conseguir ideas:
- http://tastycupcakes.org/es/category/agile/
- https://es.atlassian.com/team-playbook
- http://www.funretrospectives.com/
- https://www.atlassian.com/blog/jira-software/5-fun-sprint-retrospective-ideas-templates
- https://retromat.org
- https://www.javiergarzas.com/2019/05/agile-coaching-la-confianza.html
- http://blog.agileclassrooms.com/2015/12/10-reflections-for-agile-learners.html
- https://gamestorming.com/
Y como plus, acá hay diversas dinámicas grupales. En este hay 700 dinámicas grupales en español, con actividades para conocerse, integración, juegos, etc.
Creo que para apuntar a una cultura DevOps, lo importante acá también pasa por a quién invitamos a estas reuniones. Si solo lo hacemos entre los desarrolladores, no es un enfoque muy devops que digamos. Deberíamos invitar también a testers, gerencia, negocio, soporte, infra, etc. (no digo de hacer una reunión de toda la empresa, pero tal vez se podrían rotar distintos invitados de vez en cuando, pero sí incluir a los que deberían formar parte del equipo de entrega).
Realmente hemos notado una unidad, una conformación de equipo buenísima YA SOLO gracias a esta práctica. Hemos visto cómo se ha logrado que todos se pongan de acuerdo en qué hacer y qué no, incluso llegando a determinar que todos se hagan cargo de probar, documentar, mejorar el proceso y uso de herramientas, etc.
Creo que si apuntás a mejorar la cultura de tu equipo, un buen punto de partida es generar espacios para conversar, buscando feedback y definiendo acciones para cambiar lo que el equipo identifica, haciendo que el cambio no solo venga de arriba, sino que todos se hagan responsables para que suceda.
Dejo por acá un post relacionado con dos videos de Gabriel Ledesma de Wyeworks (el Cholo) que cuenta brevemente lo más importante que hay que entender de las retro meetings
https://www.wyeworks.com/blog/2019/09/02/how-we-facilitate-the-sprint-retrospective-meeting/