Close

La metodología ágil y DevOps frente a frente

¿Qué diferencias y similitudes hay entre la metodología ágil y DevOps?

Foto de cara de Tom Hall
Tom Hall

Defensor y profesional de DevOps


Cuando la metodología ágil experimentó una amplia adopción a principios de la década de los 2000, transformó nuestra forma de desarrollar software y otros productos. Sin embargo, a los pocos años de convertirse en un estándar del sector, surgió un fallo crítico: los procesos y requisitos del equipo de operaciones encargado de la implementación y gestión de los productos de software quedaron al margen de esta revolución.

Esto llevó a la metodología DevOps, un enfoque que favorecía la coordinación de los equipos de desarrollo y operaciones. ¿Esto significa que DevOps reemplazó a la metodología ágil o pueden complementarse? La respuesta es que existen diferencias y similitudes entre los dos. Cuando la metodología ágil y DevOps coexisten en una organización, cada enfoque puede incluir o excluir al otro.

¿Qué es ágil?

La metodología ágil es un enfoque iterativo de la gestión de proyectos y el desarrollo de software que se centra en la colaboración, el feedback de los clientes y las publicaciones rápidas. Surgió a principios de la década de los 2000 en el sector del desarrollo de software y ayudaba a los equipos de desarrollo a reaccionar y adaptarse a las cambiantes condiciones del mercado y a las demandas de los clientes.

En la metodología ágil, parte de la planificación y el diseño se hacen por adelantado, pero el desarrollo se lleva a cabo en pequeños lotes e implica una estrecha colaboración con las partes interesadas. Se van incorporando los cambios continuamente y, a menudo, las versiones utilizables de un producto se publican más rápido que los productos desarrollados mediante la metodología de cascada. Esto aporta muchas ventajas. Podríamos decir que la más importante es que si el software no satisface las necesidades o expectativas del cliente, se puede solucionar en tiempo real.

La metodología ágil es un conjunto de metodologías, no un enfoque único del desarrollo. Incluye el marco scrum, eXtreme Programming (XP) y otros sistemas de práctica anteriormente usados por los desarrolladores, y surgió de la colaboración entre estos profesionales por unificar todos estos enfoques en un solo conjunto de principios. El resultado fue el Manifiesto ágil, que consta de 12 principios basados en cuatro valores fundamentales.

Icono de nodo centralizado
Material relacionado

Más información sobre el marco CALMS

Icono de estructura en la cabeza
Material relacionado

Más información sobre la historia de DevOps

Los cuatro valores fundamentales del Manifiesto ágil

Personajes observando un flujo de trabajo de desarrollo de software

Individuos e interacciones
sobre procesos y herramientas

Carpeta que se abre con tickets finalizados

Software funcionando
sobre documentación extensiva

Personajes trabajando en una plataforma

Colaboración con el cliente
sobre negociación contractual

Bola de cristal

Respuesta ante el cambio
sobre seguir un plan


Comienza con DevOps

DevOps es un enfoque del desarrollo de software que permite a los equipos compilar, probar y publicar software de forma más rápida y fiable mediante la incorporación de principios y prácticas ágiles, como una mayor automatización y una mejor colaboración entre los equipos de desarrollo y operaciones. El desarrollo, las pruebas y la implementación tienen lugar tanto en la metodología ágil como en DevOps. Sin embargo, la metodología ágil tradicional no tiene en cuenta las operaciones, que son una parte integral de DevOps.

El objetivo de DevOps es unir a los desarrolladores que programan el software de las aplicaciones y al equipo de operaciones que ejecuta el software en producción, además de crear y mantener la infraestructura donde se ejecuta. DevOps reemplaza el antiguo enfoque en el que los equipos de desarrollo creaban aplicaciones y pasaban la pelota al equipo de operaciones para que implementara y gestionara el software sin apenas conocer cómo se había desarrollado. En un entorno de DevOps, los equipos de desarrolladores y de operaciones trabajan codo con codo durante todo el proceso de desarrollo, implementación y gestión de aplicaciones.

Dos marcos comunes para entender DevOps son "Los tres principios de DevOps" y "CALMS", acrónimo de cultura (Culture), automatización (Automation), metodología lean (Lean), medición (Measurement) y compartir (Sharing). La cultura se refiere al cambio cultural en el que el desarrollo y las operaciones funcionan de forma más cohesionada. La automatización aumenta la velocidad y garantiza una mayor calidad. Los principios lean de mejora continua y aceptación de los errores sientan las bases de una mentalidad experimental. La medición hace referencia a la práctica de medir los resultados para mejorar los procesos. Compartir hace hincapié en la importancia de DevOps como esfuerzo conjunto y en la adopción de prácticas recomendadas.

Los tres principios de DevOps

Conectando las piezas del rompecabezas

Pensamiento sistémico
Comprender que las aplicaciones de software son sistemas complejos

Puntero de navegador con reproducción

Aumentar los ciclos de feedback
Mejorar la comunicación bidireccional entre compañeros de equipo

Personajes observando un flujo de trabajo de desarrollo de software

Cambio cultural
Cultura de experimentación y aprendizaje continuos

¿Cuándo se combinan la metodología ágil y DevOps?

DevOps puede considerarse una evolución de las prácticas ágiles o la pieza que faltaba en la metodología ágil. Es un intento de tomar las innovaciones del enfoque ágil y aplicarlas a los procesos operativos. Al mismo tiempo, es la pieza que faltaba en la metodología ágil, puesto que ciertos principios de esta metodología solo pueden aplicarse al cien por cien cuando se emplean prácticas de DevOps. Por ejemplo, hay varias referencias a la entrega continua de software en los documentos sobre metodología ágil, pero como las canalizaciones de entrega engloban los asuntos relacionados con las operaciones, la entrega continua suele considerarse una práctica de DevOps. Aumentar los ciclos de feedback requiere una mejor comunicación entre los equipos y dentro de ellos. La metodología ágil, específicamente scrum, ayuda a facilitar esta comunicación con distintos protocolos, como las reuniones rápidas diarias, las reuniones de planificación y las retrospectivas.


¿Qué diferencias y similitudes hay entre la metodología ágil y DevOps?

  • La metodología ágil hace hincapié en la colaboración entre los desarrolladores y la gestión de productos, mientras que DevOps incluye al equipo de operaciones.
  • La metodología ágil se centra en el recorrido del software, desde la idea hasta la finalización del código, mientras que DevOps amplía el foco a la entrega y el mantenimiento.
  • La metodología ágil hace hincapié en el desarrollo iterativo y en los lotes pequeños, mientras que DevOps se centra más en la automatización de pruebas y entregas.
  • La metodología ágil estructura el trabajo planificado de los desarrolladores, mientras que DevOps incorpora el trabajo no planificado habitual de los equipos de operaciones.

El Manifiesto ágil da prioridad explícitamente a las personas y las interacciones, al software en funcionamiento, a la colaboración con el cliente y a la respuesta frente al cambio. DevOps tiene estas mismas prioridades, pero las amplía más allá del proceso de desarrollo, llegando hasta la gestión de los sistemas y la ejecución de aplicaciones.

Además, los doce principios del software ágil incluyen referencias a los principios de DevOps, como el énfasis en la integración y la entrega continuas, el trabajo en lotes pequeños con publicaciones frecuentes y el uso de la automatización.


Conclusión: la metodología ágil y DevOps suman, no restan

En última instancia, la metodología ágil y DevOps tienen el mismo objetivo: mejorar la velocidad y la calidad del desarrollo de software. Por eso no tiene mucho sentido hablar de uno sin el otro. Muchos equipos han descubierto que las metodologías ágiles les resultan de gran ayuda, mientras que a otros les ha costado ver las ventajas que prometen los enfoques ágiles. Esto puede deberse a varias razones, entre ellas, que los equipos no entiendan del todo o no implementen correctamente las prácticas ágiles. También puede ser que incorporar un enfoque de DevOps ayude a eliminar las lagunas de las organizaciones que tienen dificultades con la metodología ágil y las ayude a obtener el éxito que esperaban.

Atlassian conecta a los equipos de desarrollo, operaciones de TI y ágiles con una automatización que abarca tanto nuestros productos como las herramientas de terceros. Para obtener más información, visita Atlassian DevOps.

Tom Hall
Tom Hall

Tom Hall es usuario y entusiasta de DevOps, lector voraz y pianista aficionado.
En los últimos 20 años ha conseguido, entre otros logros, certificaciones de Novell, EMC, VMware y AWS. Ayudó a organizar las jornadas DevOpsDays en Atlanta en 2016 y en Austin (Texas) en años posteriores.


Compartir este artículo
Siguiente tema

Lecturas recomendadas

Consulta estos recursos para conocer los tipos de equipos de DevOps o para estar al tanto de las novedades sobre DevOps en Atlassian.

Ilustración de Devops

La comunidad de DevOps

Ilustración de Devops

Taller de simulación

Ilustración de un mapa

Pruébalo gratis

Suscríbete para recibir el boletín de DevOps

Thank you for signing up