DevOps: Chocolate, Legos y Scrum

DevOps: Chocolate, Legos y Scrum

7e6d37-136e0ec18cdd4ac79db09ac89a842130mv2-2399040

Pasada ya la declaración de intenciones de lo que pretende ser este blog, vamos a meternos ya en harina, y lo voy a hacer hablando de una de las dinámicas más interesantes, y que mejor resultado me han dado a lo largo de estos años como formador. La dinámica en cuestión se llama Chocolate, Legos y Scrum; y ha sido diseñada por Dana Pylayeva. Esta dinámica se ha puesto en práctica en más de 15 países en diferentes conferencias y empresas, y más de 2.000 personas han podido ver los beneficios que se obtienen de ella.

El principal beneficio de esta dinámica es que permite a los participantes visualizar prácticamente todo el proceso de producción de software entre los desarrolladores, administradores de sistemas, expertos en seguridad informática, y los clientes. El juego demuestra claramente la necesidad de un enfoque sistemático para la optimización de la versión de software, tal y como indica Dana en su libro (descarga en Scribd).

Todo ha de comenzar distribuyendo a la gente, como si de una empresa se tratara, en tres equipos idénticos que desarrollan y producen software. Cada grupo estará compuesto por un equipo de Scrum (5-9 personas, DEV), un grupo de IT (nuestros administradores de sistemas, Ingenieros de seguridad y Ingenieros de liberación, es decir OPS) y por supuesto Negocio (3-9 personas). Cada grupo deberá desarrollar software funcional, el cual en esta dinámica será un animal de LEGO, acompañado del chocolate que actuará como documentación adjunta. Después de recoger al Lego, el equipo tiene que probar su rigidez, pegar una etiqueta con un número de serie, añadir el chocolate y todo empaquetado en una bolsa. El objetivo de cada grupo de trabajo es maximizar el beneficio entregando software que se ajuste a los requisitos del cliente.

Esta parte quizá sea la más compleja, ya que puede llevar algo de tiempo hasta que todos los participantes tienen clara la operativa general de la dinámica y la particular de su rol. Es importante mantener la calma y responder las dudas que puedan tener. Sin embargo, hay que conseguir que la gente entienda que, tal y como dice esa expresión tan conocida, el movimiento se demuestra andando, es decir, puede que haya alguna cosa que no tengan del todo claro, pero que una vez que comience el primer sprint, van a poder visualizar.

La dinámica, de aproximadamente 3 horas de duración, consta de 3 sprints a través de los cuales, la forma de trabajar va a ir variando, y los participantes va a comprobar en primera persona los beneficios de la adopción cultural de DevOps.

  1. Primer sprint: se plantea trabajar tal y como se haría en una organización convencional, con los equipos de desarrollo y operaciones totalmente independientes, con los administradores de sistemas controlando los releases y dejando para el final del sprint los test de seguridad. El objetivo es «sentir el dolor» y vivir los problemas de trabajar en silos. Es muy interesante, al final el sprint, como todos los participantes contribuyen con lo que según ellos, son los problemas que les han llevado a obtener resultados poco satisfactorios.

  2. Segundo sprint: lo que vamos a plantear en el segundo sprint es: incluir a los miembros de seguridad en desarrollo para que el equipo sea consciente de las cuestiones de seguirdad antes de implementar, realizar cross-training para construir las llamadas «T-shaped skills» y por último, invitar a operaciones a unirse al equipo de desarrollo. En la reflexión que se realiza después de este sprint, el feedback generalizado es que, a pesar de que al principio hay un poquito más de caos (debido a la nueva forma de trabajar, la nuevas tareas, las asignaciones, el cross-training), están muy contentos a la par que sorprendidos, ya que han aumentado el rendimiento, y se sienten con capacidad de afrontar mayores retos.

  3. Tercer sprint: el objetivo de este sprint, no es otro que el llegar a la entrega continúa. Para ello, vamos a comenzar haciendo que no trabajen con lotes tan grandes, con lo que crearemos historias más pequeñas, las desarrollaremos y las implementaremos en un flujo de una sola pieza. Aceleraremos la retroalimentación con la conteinerización, y además, permitiremos la creación de entornos bajo demanda. Como resultado, el equipo ha sido mucho más rápido, más ágil, ha sido capaz de adaptarse a las demandas del mercado con poco esfuerzo, ha rentabilizado en espacios cortos de tiempo, ya que los lotes eran pequeños.

Además de los que los participantes han ido aprendiendo acerca de esta evolución en su forma de trabajar, la parte final de la dinámica me parece muy interesante. En esta parte, gracias a un sencillo juego de cartas (aquí), cada participante puede expresar como se ha sentido y cómo ha percibido que se ha comportado la organización. Creo que este es el momento clave, ya que en este ejercicio de análisis y sinceridad, es a partir del cual debe comenzar a crear la nueva cultura de trabajo.

Os dejo unas fotos de la última sesión que dirigí con miembros del área de Tecnología de Assa Group en Panamá.