Trabajando en Squads
Divide y Vencerás
Trabajar en un equipo grande implica desafíos, más aún cuando dicho equipo es distribuido, desafíos en el hecho de conservar prácticas ágiles y que estas aporten valor y no sean ejecutadas solamente porque así lo dice el manual; parte importante de ser un equipo ágil, es no solo ser reactivos a situaciones inesperadas sino también es estar inmiscuido en un proceso de mejora continua, en el que se puede evidenciar escenarios, que aunque no sean problemáticos a simple vista y formen parte de la rutina de trabajo, no son los más adecuados para ciertas condiciones.
Evidenciamos que en un equipo de alrededor 20 personas, en el que se trata de cubrir las necesidades de varias aristas del negocio, existen aspectos que no favorecen el evolucionar dentro de un proceso de mejora continua, por lo que luego de un tiempo y hacer hincapié en las ideas propuestas, se decidió dividir al equipo en grupos más pequeños llamados squads.
Porqué hacerlo
-
El trabajar en un grupo tan grande dificulta la colaboración y comunicación entre los miembros, las ideas de mejora se pueden desvanecer, o tardar demasiado en probarlas, llegar a consensos no es lo más fácil y rápido.
-
Al tener varias aristas del negocio, se comienzan a formar grupos que no siempre siguen una línea clara.
-
La coordinación se centraliza y no da mucho campo de acción ni espacio a la auto organización del equipo.
-
Cuando tu equipo es grande y tienes diferentes perspectivas de negocio, es fácil perder el panorama general y empezar a concentrarse en los detalles perdiendo de vista objetivos por parte del negocio.
-
“Si funciona no lo toques”. Así como en el código, podemos evidenciar este fenómeno también en el proceso; si las cosas funcionan de cierta manera, ¿no existe la necesidad de cambiarlo? no es verdad; siempre puede ser mejor. El proceso en el que veníamos trabajando ya llevaba así por largo tiempo y prácticas que en un inicio tenían mucho sentido y agregaban valor, después de un tiempo no.
-
Prácticas como el stand up diario pueden carecer de significado, al ser un equipo grande donde ciertas personas están enfocadas en un tema y otras en otro, muchas veces los detalles diarios carecen de importancia para los demás miembros.
Como lo implementamos
Formar los equipos
Se formaron 3 equipos con un promedio de 6 integrantes, buscando equilibrar la carga entre miembros del cliente y consultores; guiados por líneas del negocio en las cuales nos podamos enfocar el menos en el mediano plazo.
Objetivos Claros
Cada squad debe tener una meta clara que no sea a muy corto plazo; es importante trabajar juntos en un objetivo en común y que todos los miembros estén conscientes a todo momento de lo que se busca alcanzar.
Analistas del negocio
Si estamos buscando agregar valor al negocio, es imprescindible contar con al menos un experto en cada squad que pueda dar directrices claras de lo que se está esperando alcanzar; al tener tres analistas en el equipo, lo primero que se hizo fue que cada uno sea parte de un squad, sin embargo hemos evidenciado que ellos pueden participar activamente en más de un squad durante un mismo periodo de tiempo.
Kick of de la meta planteada
Antes de iniciar la ejecución y desarrollo, existe una sesión de análisis con todos los miembros del squad dónde el analista de negocio explica claramente que es lo que se quiere lograr y para qué; de esta forma todos están claros antes de dar inicio.
Squad Amigos
Al iniciar con una tarjeta lo que hacíamos anteriormente es hacer una sesión denominada 3 amigos, donde intervenía el analista de negocio, el desarrollador y el tester; al dividir al equipo en squads, viendo que somos relativamente pocos en cada uno, decidimos probar haciendo está sesión entre todos los miembros en lugar de solo 3. Esto fue fruto de la auto organización de un squad que realizó la prueba y luego fue adoptada por los demás.
QA
Se busca que que la etapa de QA se la haga dentro del mismo squad, sin embargo hemos evidenciado que ciertos cambios que son de interés y conocimiento de todo el equipo, pueden ser revisados por otros squads.
Standups
-
Internos
Al finalizar cada día se realiza un standup entre los miembros de los squads, esté es el standup tradicional, donde cada miembro o pair habla de lo que ha hecho, lo que piensa hacer, los problemas que ha tenido, etc. Los standups son agendados a diferentes horas al final del día ya que existen personas como los BA´s que pueden estar en más de un squad.
-
Externos
Al inicio de cada día todo el equipo de trabajo se reúne y una persona de cada squad informa de manera general como va el squad en su búsqueda de alcanzar la meta, no comparte detalles, identifica si hay algo relevante que compartir al grupo como problemas o soluciones transversales a todo el equipo, esto ha causado que en lugar de sesiones de 20 a 30 minutos se reduzca a 5 o 10 como máximo.
Rotación y Pairing
-
Interno
El haber dividido en squads nos ha posibilitado ejecutar prácticas como pairing remoto con el cliente más a menudo de lo que se hacía antes; es importante mantener la rotación entre los miembros del squad.
-
Entre squads
Hemos iniciado la rotación entre squads: luego de terminar la meta establecida un integrante de un squad puede ir a otro sin debilitarlo.
Retrospectivas
-
Internas
Realizamos retrospectivas entre los miembros del squad donde interviene también la persona que funge como Iteration Manager, que se convierte en un veedor del proceso en todos los squads y es quien puede generar un feedback mucho más rápido acerca de lo que ha funcionado o no en otros squads.
-
Externas
El Iteration Manager facilita la sesión cada fin de periodo, donde expone estadísticas e información relevante a todo el equipo de trabajo, es este el espacio donde se puede también discutir temas transversales, comunes y donde se puede compartir las conclusiones de la gestión de cada squad.
Despliegue:
El paso final de la gestión de entrega a producción sigue siendo centralizada, con resultados positivos.
Conclusiones y Ventajas:
-
Independencia en la organización: Equipos auto organizados con libertad de acción.
-
Llegar a acuerdos es más fácil y rápido
-
Retroalimentación más eficiente y rápida
-
Podemos probar prácticas en solo un squad para ver resultados y poder extrapolarlos al resto si funcionan o desecharlas sin causar demasiado impacto en el equipo.
Hemos visto luego de casi 5 meses de trabajar en squads, que los resultados son positivos, y perfectibles sin lugar a dudas, lo importante está en aprender de los errores y potenciar los aciertos, ya que esto no termina, es un camino de diario aprender y mejorar.
Aviso legal: Las declaraciones y opiniones expresadas en este artículo son las del autor/a o autores y no reflejan necesariamente las posiciones de Thoughtworks.