Thumb

DevOps es uno de los términos más mencionados en el actual entorno de IT.

Normalmente se asocia a estrategias de transformación digital, y a metodologías como Continuous Delivery o Desarrollo Agil.

DevOps es un conjunto de prácticas que automatizan los procesos entre los equipos de desarrollo de software y TI para que puedan compilar, probar y publicar software con mayor rapidez y fiabilidad. El concepto de DevOps se basa en establecer una cultura de colaboración entre equipos que, tradicionalmente, trabajaban en grupos aislados. Entre las ventajas que promete, se incluyen el aumento de la confianza y de la velocidad de publicación de software, la capacidad de solucionar incidencias críticas rápidamente y una mejor gestión del trabajo imprevisto.

¿DevOps, metodología ágil?

Así es DevOps es una metodología ágil aplicada más allá del equipo de software.

Se alinea fundamentalmente al principio de la metodología ágil "aceptar la variación de los requisitos, aunque sea tarde, en Desarrollo. Los procesos ágiles aprovechan los cambios para lograr la ventaja competitiva del cliente".

Mucha gente piensa que "ágil" significa scrum y que DevOps significa "entrega continua". Esta simplificación excesiva genera una tensión innecesaria entre la metodología ágil y DevOps, ¡pero te sorprendería saber que se llevan superbién!

Pero DevOps no es solo entrega continua

Cuando se hace bien, la disciplina de entrega continua (CD) ayuda a limitar el trabajo en curso, al tiempo que la automatización de la implementación ayuda a erigir restricciones. Con ello, la CD ayuda al equipo de software a entregar con mayor frecuencia y calidad, en lugar de tener que elegir una de las dos cosas. Sin embargo, de igual modo que los equipos que solo se centran en scrum se pueden perder la amplitud del contexto ágil, los que se centran en la entrega continua se pueden perder la amplitud del contexto de DevOps.

En la comunidad de DevOps, los que tienen experiencia con la metodología ágil admiten que scrum es útil para realizar el seguimiento del trabajo planificado. Se pueden planificar algunas tareas de operaciones, publicar un gran cambio del sistema, desplazarse entre centros de datos o llevar a cabo actualizaciones del sistema. Pero gran parte del trabajo de operaciones no se planifica, como los picos de rendimiento, las interrupciones del sistema y los fallos de seguridad.

Estas situaciones exigen una respuesta inmediata. No se puede esperar a priorizar los elementos en un backlog o a la siguiente sesión de planificación de sprints. Por este motivo, muchos equipos que han llegado a adoptar la filosofía de DevOps no se fijan en scrum, sino en kanban. Así pueden realizar el seguimiento de ambos tipos de trabajo y comprender su interacción. O bien adoptan una estrategia híbrida, a menudo llamada “scrumban” o “kanplan” (kanban con backlog).

En esencia, DevOps es una cultura, un movimiento, una filosofía.

Es un firme apretón de manos entre Desarrollo y Operaciones que pone de relieve un cambio de mentalidad, una mejor colaboración y una integración más sólida. Aúna la metodología ágil, la entrega continua, la automatización, etc. Para que los equipos de desarrollo y operaciones sean más eficientes, innoven antes y aporten más valor a los negocios y los clientes.

En definitiva, podemos concluir que DevOps permite promover una cultura de romper barreras entre departamentos y fomentar un poco más la visibilidad y empatía entre las distintas áreas y en distinto grado, optimizar el proceso de desarrollo para poder reducir los tiempos de paso a producción y de entrega al cliente.