Tan cercanas y tan distantes. Las metodologías Agile y DevOps comparten objetivos, entre los cuales los más importantes son promover la agilidad, aceptar el error como instancia de aprendizaje y evolución, estimular la innovación, dar protagonismo a la colaboración entre las personas y mejorar el producto o servicio final.
Entendemos DevOps como una metodología para el desarrollo y mejora de software que se basa en la integración de la cultura de desarrollo de aplicaciones con la de operación, en general a cargo de los administradores de sistemas, para crear soluciones más rápido, de más alta calidad, con una alta frecuencia de actualizaciones y con costos más controlados. Su filosofía se basa en cuatro pilares: la cultura, la automatización de tareas, la colaboración y la medición permanente de resultados.
En términos de mecanismos de trabajo, DevOps se divide en planeamiento y seguimiento, desarrollo, compilación y pruebas, entrega y supervisión, y operaciones. Los equipos de creación de software, operaciones, ingeniería de calidad y seguridad trabajan en conjunto para incrementar la eficiencia del producto a entregar, se trate de una herramienta nueva, de una actualización de un software existente o de una versión que tenga apenas variaciones respecto de su antecesora.
Las metodologías ágiles, por su parte, son la llave para que una empresa pueda revisar sus prácticas y adaptarse más fácilmente, una virtud esencial en el marco de un contexto tan vertiginosamente cambiante como el que vivimos en la actualidad. Los beneficios nos hablan de un trabajo en equipo más gratificante, de un mayor impulso a la innovación y, por supuesto, de un incremento notable en la eficiencia. Un dato interesante es que la agilidad no tiene por qué limitarse al desarrollo de software: el concepto aplica cada vez más a nivel escalar para ser implementado en toda la organización.
Sus mecanismos apuntan a la creación de un prototipo funcional en el marco de una realidad en que los requisitos del cliente final cambian con elevada frecuencia. La prioridad, en todos los casos, la constituyen las necesidades de los usuarios.
Muchas veces se los piensa como conceptos imposibles de integrar y compatibilizar: carecen de definiciones en común y cada uno tiene su propia jerga. Sin embargo, es posible encontrar puntos de intersección que actúen de manera sinérgica de cara a una mejora continua en la organización.
Por ejemplo, pueden complementarse de forma que DevOps promueva lanzamientos frecuentes a partir de un despliegue completamente automatizado mientras Agile suma la capacidad de adaptación a requisitos cambiantes y propone una mejor colaboración entre los equipos. El uso en combinación de ambos conceptos podría resultar en un incremento significativo en la velocidad de desarrollo. Entre las ventajas de Agile se encuentran un desarrollo centrado en el usuario, una gran flexibilidad y una entrega rápida de productos. DevOps acelera la innovación, garantiza la máxima calidad y un rendimiento óptimo. El resultado, si todo transita normalmente, debería tender a ser mucho mejor que la suma de las partes.
Otro punto en común es que ni DevOps ni Agile proponen recetas mágicas: el éxito depende de que se efectúe un cambio efectivo de cultura. Como solía decir Peter Drucker, “la cultura se come a la estrategia en el desayuno”.
Es común que los equipos de las organizaciones hayan desarrollado hábitos o maneras de trabajo muy arraigadas. Por eso, se trata de una transformación que necesita de un cuidadoso plan de comunicación, de forma que todos los involucrados estén al tanto de los riesgos y los beneficios, y de una hoja de ruta que no se exceda en ambiciones al principio: son los pequeños pasos -y los consecuentes resultados tangibles- los que impulsan el cambio actitudinal necesario para que la transformación sea posible. Y, lo fundamental, producir en los equipos el deseo de emprender este camino tan apasionante.
El componente de agilidad es fundamental para que las empresas de la región puedan continuar creciendo. Los latinoamericanos somos ansiosos y, en ese afán, solemos confundir “agilidad” con “vértigo”. Pero no se trata de hacer las cosas rápido, sino de hacerlas bien: con una planificación cautelosa es posible lograr un cambio significativo y pronunciado.