DevOps, más allá de la aplicación de métodos Agile

Caso de estudio: cambio en la cultura colaborativa de Venca mediante Agile & DevOps – Por Sylvain Loubradou.

En el departamento de informática de Venca, empezamos hace 3 años un viaje hacia metodologías Agile. Tanto los equipos de desarrollo de software como de sistemas (hardware) aplicaron técnicas de scrum y Kanban a proyectos y operaciones con un cierto éxito, debido seguramente a las ganas de los equipos. Esto nos permitió sacar adelante un proyecto de web móvil en pocos meses, con bbdd NoSQL y enlace al AS400, y así ganar en eficiencia percibida por los usuarios.

Reforzados con esta idea, atacamos 2 grandes bloques tecnológicos que teníamos en la agenda: acoplar la web al AS400 en directo para el 100% del tráfico, y ser capaces de subir a producción una vez al día sin riesgo. O, mejor dicho, sin sufrimiento.

Y seguimos en la misma línea: cada equipo en su línea de trabajo, con su tablero y siguiendo sus necesidades de desarrollo, de sistemas y de AS400 en 3 silos Agile.

Los hechos nos enseñaron con mucha crueldad que no bastaban los métodos y la buena voluntad. Después de un fracaso espectacular en la puesta en marcha, y de unos meses de instabilidad de la plataforma tecnológica, tuvimos que cambiar de manera de trabajar. Y un análisis post mortem ágil común nos permitió arrancar los debates y el cambio necesario.

¿De qué habíamos sufrido? De demasiada certeza, poca coordinación entre equipos y pocos conocimientos compartidos. ¿Por qué? Porqué, según cómo programemos, las máquinas reaccionaran de una manera u otra. Es decir: la complejidad técnica que habíamos puesto en marcha no permitía más una separación de equipos y unos silos de conocimientos. Por ejemplo las máquinas iban lentas porque las llamadas al Web Service estaban repetidas y no concentradas en el código. La complejidad técnica y nuestra ambición nos obligaron a cambiar de enfoque cultural.

Tanto la estabilidad de la web como su capacidad para cambiar rápidamente dependían de la capacidad de los equipos de desarrollo de software y hardware para hablar y trabajar conjuntamente con frecuencia diaria. Por eso empezamos a facilitar los intercambios:

  • Interlocutores interesados en Software para el Hardware, y en Hardware para el Software invitados en las reuniones de los demás.
  • Tableros de trabajo comunes.
  • Píldoras de conocimiento de software y hardware organizadas.
  • Formación sobre Software para el interlocutor de Hardware, y de Hardware para el interlocutor de Software.

Además fue necesario quitar impedimentos a la colaboración:

  • Transparencia absoluta a través de la monitorización sobre la plataforma (Monitorización PRTG en pantalla grande).
  • Objetivos compartidos de resultado de servicio e innovaciones (estabilidad y control de riesgo).
  • Priorización en cada tablero de un tema técnico de los colegas para impedir cuellos de botella.

Hemos decidido llevar el tema Agile hacia un nivel más importante entre equipos. Esto permitió a los equipos de desarrollo de software darse cuenta que hay técnicas de programación para mejorar la calidad de las puestas a producción (TDD, flags para release, transparencia sobre la deuda técnica,...). Y a los equipos de gestión de hardware les permitió percibir la importancia de tener máquinas muy estándares, con scripts automatizados de despliegue, de la importancia de una buena calidad de plataformas de desarrollo, test, pre producción y producción, y del sentido de responsabilidad de la plataforma puesta a disposición de sus colegas de desarrollo.

Estos esfuerzos permitieron conseguir logros como pasar de una a dos puestas a producción diarias desde el desarrollo, una estabilidad de sistemas del 99,75% descontando paradas de AS400 por mantenimiento, y superar con creces una campaña de televisión de 6 semanas con minuto de oro cada 2 días consiguiendo la estabilidad de las máquinas a pesar de la multiplicación por 10 del tráfico, únicamente con un sobrecoste de 20%.

Y es que llevar a cabo una cultura colaborativa entre desarrollo y sistemas apoyándose en métodos ágiles tiene payback :-)

 

Para más información en referencia a este caso de estudio, y a las características y beneficios de las metodologías Agile & DevOps, puedes inscribirte gratuitamente al seminario gratuito ‘Agile y DevOps, o cómo sacar el máximo potencial a la tecnología’, organizado conjuntamente por Sylvain Loubradou y Nexica, que se celebrará el próximo 7 de Octubre.

 

En cuanto a Sylvain Loubradou

Sylvain LoubradouSylvain Loubradou fue director de Informática y de Logística de Venca durante casi tres años, donde se encargó de impulsar la revolución tecnológica y metodológica en IT, pasando de una arquitectura basada en AS400, con procesos clásicos secuenciales, a un entorno .Net basado en Web Services, utilizando métodos Agile (Scrum, Kanban), herramientas Opensource y servicios en la nube. También dirigió la puesta en marcha de la web móvil, la puesta en marcha de una plataforma Middle Office compartida entre el teléfono y la web, el desarrollo de Pentaho, BI opensource, y el impulso de metodologías agiles en toda la empresa.

Actualmente es consultor-hacker en Organización y Cultura Organizativa.