Llega la transformación DevOps a las organizaciones
Desde hace ya algún tiempo se ha dado a conocer el término DevOps, que nació con la intención de promover la comunicación y la colaboración entre equipos de desarrollo y operaciones.
Tradicionalmente, las organizaciones se han compuesto de silos estancos (departamentos). Esto ha sido así también en el entorno IT, dónde los equipos de desarrollo y operaciones se han mantenido separados.
Para intentar solucionar este problema que produce organizaciones con un bajo rendimiento se pretende implantar en las organizaciones la filosofía DevOps. Es un cambio que supone un cambio cultural, requiere colaboración, discusión y es transversal a toda la organización.
La cultura DevOps busca mejorar la colaboración y comunicación entre desarrollo y operaciones IT
Three ways
Una de las personas referencia en la promoción de la cultura DevOps en las organizaciones, Gene Kim, define tres conceptos sobre los que descansan el resto de patrones y acciones a tomar para una transformación DevOps. Las llamadas Three Ways son:
- Pensamiento orientado a sistemas: enfatizar el buen funcionamiento de la organización al completo y no de silos independientes. Desarrolladores y operadores de sistemas deben participan conjuntamente en todo el ciclo de vida de desarrollo de un producto, empezando, en primer lugar ,cuando se definen requisitos, pasando por el desarrollo y acabando en la entrega a operaciones para ofrecer el resultado como un servicio seguro, fiable, eficiente en rendimiento y coste. Aplicar este concepto incluye la no propagación de defectos en la cadena hacia operaciones, no permitir mejoras locales que supongan degradación del flujo completo de valor de la organización y perseguir un profundo conocimiento del sistema en la organización.
- Amplificación de ciclos de feedback: el objetivo de las iniciativas de mejora de procesos es, en parte, amplificar los ciclos de feedback para que las mejoras continuas puedan ser realizadas dónde corresponda. Este concepto conlleva el entendimiento de los clientes, internos y externos, acelerando y amplificando el ciclo de feedback para abarcar a todos los actores del flujo de producción de valor de la organización.
- Cultura de experimentación continua y aprendizaje: crear una cultura en la empresa que respalde y promueva la experimentación y el aprendizaje del fallo, repetición y práctica llevan a la perfección. Esto garantiza la posibilidad de la mejora continua en la organización. Además, ayuda a aprender a salir de la zona de peligro si durante la experimentación se ha ido muy lejos. Este concepto conlleva obtener tiempo para mejora en el trabajo del día a día y recompensar a los equipos por haber innovado y asumido riesgos.
Personas
Hablar sobre DevOps es hablar sobre cultura y personas. Los equipos crecen y tienden a construir arquitecturas complejas lo más rápido posible y, habitualmente, todos intentan hacer todo. Simplemente, esto no es sostenible.
Adoptar DevOps en los equipos no es inmediato ya que es necesario desterrar viejas costumbres que suelen estar muy arraigadas y el cambio es progresivo. Es un aspecto a tener muy en cuenta y sobre el que se debe trabajar. Miedos como que la automatización acaben con el empleo del personal de sistemas o que tu organización no encaja en la cultura DevOps son falacias.
Abrazar la creatividad y soluciones inteligentes en el proceso de automatización deben ser recompensadas con evolución y nuevas responsabilidades en la organización. De este modo, es más sencillo involucrar a las personas en una transformación DevOps.
Al contrario de lo que pueda parecer, no desaparece la necesidad de realizar actividades de operación. Simplemente se produce una transformación en la gestión de la infraestructura y se hace foco en el valor que proporciona el departamento de operaciones a lo largo de la cadena de producción de la organización.
Procesos
El proceso de creación de un producto, desde que se crea una idea hasta que es entregada al cliente, debe ser definido y puesto en valor. Los miembros de la organización deben conocerlo. Conoce tu negocio, en qué puntos la gestión de sistemas IT aporta valor y cómo, detecta cuello de botella, obtén feedback y mejóralo. Haz que personas de cada departamento participen en la creación de dicho proceso. Esto es aplicable a todo tipo de procesos de gestión de proyectos, independientemente de la metodología utilizada, aunque metodologías ágiles lo favorecen.
Tecnología
En este punto, la tecnología puede ser de gran ayuda. Se utiliza como elemento acelerador que aporta características indispensables al proceso como son repetibilidad y fiabilidad. Ambos aspectos impactan directamente sobre la calidad y la predecibilidad de los equipos, la empresa y por lo tanto mejora la relación con el cliente. Existen numerosas herramientas que pueden ayudar a mejorar puntos diferentes del proceso. Versionado de código, infraestructura como código, integración continua, entrega continua y gestión de la configuración son algunas de las áreas clave en las que la tecnología ofrece mejoras considerables.
Referencias
DevOps no es solo un término, no es un rol ni un equipo concreto en la organización, no es automatización y no es únicamente un cambio en los procesos. Es una filosofía o actitud. Libros como The Phoenix Project, Continuous Delivery y Release It son indispensables. Informes como el ‘2016 State of DevOps Report’ de Puppetlabs, o el éxito de conferencias como Velocity o DevOps Enterprise Summit son semáforos excelentes con los que estar a la última y aprender las últimas tendencias. Además, no hay que dejar de seguir IT Revolution, @RealGeneKim, @jezhumble y @patrickdebois.
Comentarios