Aunque el concepto DevOps no es nuevo, de hecho, en 2017 se cumplirán 10 años desde que el belga Patrick Debois lo mencionó por primera vez y 8 desde que se organizó el primer evento DevOpsDays en Ghent, Bélgica.
Después de este período de tiempo parece que ha llegado el momento de que los equipos de desarrollo de software y de operaciones lleguen a una colaboración más efectiva que no condicione el correcto despliegue de las diferentes versiones de servicios de soporte al negocio.
Mi intención con este artículo es presentar los principios que nos servirán de guía para integrar DevOps dentro de una organización que cuente con un área TIC.
¿Qué es DevOps?
Para poder implementar DevOps, lo primero es recordar qué es. Aunque hay muchas definiciones la que vamos a utilizar como referencia es la siguiente:
“DevOps es un modelo CULTURAL y ORGANIZACIONAL que promueve la COLABORACIÓN para HABILITAR equipos TIC de alto rendimiento que CONSIGAN los objetivos del negocio.”
Para ello, las organizaciones tendrán que utilizar como referencia las metodologías ágiles y Lean IT como base de la puesta en marcha del modelo DevOps.
Principios DevOps
Según DASA™ (DevOps Agile Skills Association) DevOps presenta 6 principios necesarios para la entrega de servicios TIC.
Estos principios son:
- Acción centrada en el cliente (valor de actuación, innovación)
- Crear con el fin en mente (pensamiento de producto y servicio, mentalidad de ingeniero, colaboración)
- Responsabilidad Extremo a Extremo (gestión de gastos, nicho, soporte de rendimiento)
- Equipos autónomos interfuncionales (perfiles TI, habilidades complementarias)
- Mejora continua (fallos rápidos, experimentos)
- Automatizar todo lo que se pueda (mejora de la calidad, maximizar el flujo)
Cultura
Como cultura, en este caso organizacional, podemos tomar la definición siguiente:
“Suma de COMPORTAMIENTOS y MENTALIDADES de una organización, soportada y mejorada por los VALORES y CONVICCIONES de la misma”.
Retos culturales
Para poder realizar el cambio cultural que supone la implementación del modelo DevOps la organización tiene que ser capaz de trabajar en los siguientes factores:
- Aprendizaje continuo:
- Los equipos se auto-organizan, facilitan sesiones de aprendizaje, utilizan conceptos de MVP (Minimum Valuable Product)
- Experimentación:
- Ofrecer tiempo, entornos aislados (sandbox), eliminar barreras, fallo controlado
- Calidad en cada versión del producto o servicio:
- Responsabilidad del producto entregado, automatización
- Cultura de ingeniero:
- Ambiciones compartidas por el equipo, experimentación
- Cultura de efectividad:
- El fin en mente, retrospectivas, filosofía Lean
- Cultura de pensamiento en el producto o servicio:
- Feedback de usuario, story boards
- Cultura de toma de responsabilidades:
- No explicar ‘cómo’, explicar ‘qué’, transparencia, pensamiento centrado en el cliente
Resumen
Aunque todos tenemos claro que es crítica la colaboración entre los equipos de desarrollo y los equipos de operaciones, aunque tengan intereses distintos, entrega continua los primeros y protección del entorno actual los segundos, no es una tarea trivial.
Es importante centrarse en los 6 principios DevOps y en los factores que afectan a la cultura organizacional para que ambos equipos piensen como uno solo y tengan claro que su objetivo es la entrega de valor al cliente, ya que sin ellos no tendrían sentido.
Como dijo Michael Jordan (1963), jugador de baloncesto de EE.UU., 6 veces campeón de la NBA con Chicago Bulls y 2 oros olímpicos con la selección de EE.UU. como logros de equipo principales: “El talento gana partidos, pero el trabajo de equipo y la inteligencia gana campeonatos”.