No Somos Spotify
Agile

Que es Swarming

Desde cuando existe esto del Swarming

Hace no mucho, estaba tomando unas cerves con unos ex compañeros con los que trabajé 15 años, y les pregunté si trabajaban usando Swarming. La respuesta a mi pregunta fue «que si hacemos qué? o eso qué é lo que é?

Les explico que si utilizas Swarming, todo el equipo tendría que estar trabajando (en la medida de lo posible) en la misma tarea hasta terminarla. En este momento el equipo de forma completa podría pasar a la siguiente tarea.

Es muy importante en el proceso de generación de valor, las tareas estén priorizadas, de forma que el equipo tome primero la más importante y continúe con la siguiente en prioridad. Es importante que el objetivo sea claro y compartido.

Vamos a practicar Swarming desde la Cocina

Bueno y para explicar este concepto, y esta mañana haciendo el puré de verdura a la familia, se ha ocurrido hacer un ejemplo verduril.

Sprint Backlog

Mi objetivo para hoy es hacer un puré rico rico de verduras, y sabiendo que a mis hijos no les gusta el puré (como a casi ningún niño), les preguntó ! Chicos voy a hacer el puré!!! noooooooo (dicen ellos). Decidme qué verduras os gustan más y cuales os gustan menos. Pues…..

  1. El calabacín es lo que más nos gusta.
  2. La calabaza esta tambien rica.
  3. La patata la toleramos.
  4. Odiamos las zanahorias.

Teniendo una priorización, voy a intentar explicar como funcionaría un sistema sin utilizar Swarming, y como sería utilizando esta técnica.

Puré de verdura sin Swarming (Waterfall)

En el primer ejemplo, llamémosle waterfall, tengo varias personas en mi equipo y cada personas se encarga de preparar un tipo de verdura, porque no quieren tener nada que ver con trabajo de su compañero. La primera persona «ChefCalabacin«, empieza a trabajar con los calabacines.

Scrum estético. Maquilla el waterfall

La siguiente persona lo que hace es coger la siguiente verdura «ChefCalabaza», porque piensa que el responsable de los calabacines es ChefCalabacin. En este momento estamos procesando dos verduras a mismo tiempo

La más importante es la más importante

ChefPatata y ChefZanahoria también entran en el proceso, y cada uno trabaja solo en su proceso. Quedan 5 minutos para que se cumpla el tiempo, y la cosa no pinta nada bien.

El resultado final, es que no hemos podido terminar nada, y todo está en proceso. Es en este momento cuando el MasterChef les pregunta que coño ha pasado, y cada uno de ellos intenta salvar su culo:

» ChefCalabaza dice …. a mi me habeis dado las verduras más grandes»

«ChefPatata dice …. ChefZanahoria me ha quitado el cuchillo de pelar y no he podido trabajar.

«ChefZanahoria dice yo he empezado el último y he perdido 10 minutos.

El resultado señores es que todo está empezado pero nada terminado.

Kanban. Todo abierto y nada cerrado

El que mucho abarca poco aprieta.

Puré de verdura con Swarming

En el segundo ejemplo, llamémosle Swarming, hacemos todo lo que podamos en paralelo, dentro de cada tipo de verdura.

No queremos a un ChefCalabacín, o un ChefZanahoria, queremos que todos sean responsables de todo, y que nuestro equipo mejore con el tiempo.

La primera persona que empiece a trabajar, empezaría a procesar el primer calabacín, y la segunda persona le ayudaría con el resto de calabacines.

Quien coge la primera historia de usuario

Ahora tenemos a dos personas trabajando en los calabacines, con lo que una tercera persona si podría empezar con las calabazas

El arte de maximizar el trabajo

Nos quedan 5 minutos para terminar, y por lo menos hemos terminado de momento de procesar los calabacines. Ahora ayudamos a la persona que está con las calabazas para terminar de procesarlas.

Trabajamos todos en lo más importante

Ha finalizado el tiempo y hemos conseguido terminar los calabacines, las calabazas y las patatas. Es cierto que no hemos terminado de procesar las zanahorias, pero así y todo podríamos hacer el puré.

Tareas en paralelo

Como a mis hijos no les gustaba las zanahorias, me han dado las gracias porque no tenía zanahorias. La próxima vez seremos más eficientes.

Swarming Sprint Goal

Trabajamos en equipo para terminar cuantas más cosas mejor.

Como lo llevamos al mundo del desarrollo

Este ejemplo llevado al mundo del software, sería que si tenemos una historia de usuario donde la definición de terminado es hacer el análisis, desarrollo y las pruebas, podríamos hacer las tres tareas en paralelo.

Por ejemplo el analista empezaría el análisis, el desarrollador empezaría a hacer la pantalla gráfica (tiene info del Sprint planning), y el tester empezaría a desarrollar los casos de prueba. Según el analista vaya avanzando, hablaría con su compi desarrollador, y le diría tío ya puedes hacer esta parte del desarrollo….. y así hasta terminar la historia de usuario.

Este proceso no significa que no haya que hacer algo de re-trabajo porque el analista se podría dar cuenta de algo a última hora. Lo más importante es que todo el equipo está involucrado en cerrar la historia de usuario cuanto antes (responsabilidad compartida). Algún enlace interesante sobre Swarming lo puedes encontrar en el blog de Javier Garzas, pulsa aquí.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *