lunes, 4 de junio de 2018

Agile Team: Swarming work o Trabajo Enjambre

El trabajo enjambre o swarming se menciona en el contexto de Agile o Extreme Programming para indicar el trabajo en donde todos los miembros del equipo trabajan, colaborando, sobre un mismo problema o artefacto. Es decir, todo el equipo frente a una pizarra o una computadora analizando y resolviendo un solo problema, diseñando y diagramando una arquitectura, escribiendo un documento o desarrollando una sección de programa (Mob Programming). 

Scrum en Enjambre


Por ejemplo, en un equipo que trabaja bajo Scrum, todos en en el equipo trabajan en la misma historia al mismo tiempo. Es decir, todos toman una historia y se reparten trabajo de la misma historia o se enfocan en una tarea a la vez hasta que se completa, para luego pasar a la siguiente tarea, donde todos trabajan juntos en ella; así hasta completar la historia y poder pasar a la próxima. El equipo puede manejar un WIP de 1, todos en una historia y una historia por vez. Esto es particularmente importante y útil cuando un equipo recién comienza, ya sea como equipo o en un producto nuevo.


Mob Programming



Mob programming es una estrategia de programación en la que un equipo de desarrolladores trabajan sobre una única tarea al mismo tiempo, en el mismo ordenador y, sobre todo, colaborando entre ellos. Es decir, todos sentados con una computadora y en lo posible con un monitor grande, pantalla grande o proyector.

La dinámica puede consistir en que uno de los desarrolladores se encargue de liderar o “pilotar” (por 15 min. rotativo) y el resto actúe de “navegadores” o colaboradores. El piloto guía el desarrollo de la tarea, mientras el resto va opinando y dando ideas sobre la mejor forma de afrontar el código: detectando malas prácticas (smells) a tiempo, aportando posibles refactors o consideraciones de calidad y ayudando a que emerja un diseño lo mejor posible.

Puede parecer poco productivo que todo un equipo esté todo el tiempo con una tarea en una computadora, pero no es necesario que sea una práctica constante. Puede ser utilizada, por períodos de tiempo estipulados, para nivelar conocimiento en un equipo, para desarrollos de partes complejas o creativas y para diseños grupales.

Swarming work meeting

El equipo suele tener ceremonias (de Scrum, por ejemplo), reuniones técnicas o de análisis de problemas. Las reuniones en equipo altamente colaborativos, son donde participan todos, de manera equilibrada, usando un único artefacto que posibilite la colaboración (como una pizarra, herramienta de colaboración, lámina canvas, etc.) pueden ser llamadas "swarming work meeting".


El equipo de Dr. House haciendo swarming.

Las herramientas digitales que favorecen el swarming son Google Drive, herramientas de texto por código (como LaTeX, etc), pizarras digitales, herramientas de diseño y diagramación colaborativas, herramientas de votación colaborativas, etc.


Referencias:


No hay comentarios:

Publicar un comentario