En la transformación digital que están viviendo muchas organizaciones, están sonando mucho los conceptos de Agile y DevOps. Hoy en día, tienen unas connotaciones muy positivas en el ámbito IT y queda demostrado que las organizaciones que hagan el esfuerzo por adoptar estas culturas obtendrán una ventaja competitiva sobre las demás.

En el mercado cada vez son más las empresas que optan por estas filosofías a la hora de construir productos de software. Adoptar esta forma de trabajo puede ser clave y, para comprenderla mejor, vamos a hablar un poco sobre estos dos conceptos y cómo se pueden seguir de forma conjunta.

¿Qué es DevOps?

DevOps representa el cambio en la cultura IT. Se centra en una entrega rápida a través de la adopción de prácticas Agile en el contexto de entrega de software. Podríamos definirlo como una combinación del desarrollo de software y operaciones, rompiendo las barreras que hay entre ambas. El trabajo colaborativo entre ambos desemboca en un beneficio mutuo.

A parte de un movimiento cultural, DevOps trae consigo una adaptación a nivel tecnológico. La selección de herramientas es crucial para asegurar que la calidad de entrega de los productos sea rápida, con una mayor calidad, menor costo y una alta frecuencia de releases.

gráficos adopción devops

Cifras sobre la adopción de la cultura DevOps. Fuente: State of DevOps Report by Puppet and Dora.

¿Qué es Agile?

Agile surgió a través de un manifiesto de valores y principios que se creó en el año 2001 por un conjunto de referentes del desarrollo de software. Su intención era declarar un cambio en la forma en la que se estaba desarrollando software hasta ese momento con el ánimo de buscar equipos autoorganizados y empoderados que generaran incrementos de valor de forma iterativa y en estrecha colaboración con el cliente.

Esta filosofía sirvió para agrupar y dar pie a la creación de metodologías de desarrollo de software o frameworks que están o estarían alineados con esa forma de pensar: Scrum, Kanban, Crystal Clear, FDD… Y es seguida por muchas organizaciones como forma de realizar una transformación cultural interna en los procesos que estaban siguiendo antes de empezarla.

por qué adoptar agile

Razones para adoptar Agile. Fuente: The 12th Annual of State Agile Report

Uniendo dos conceptos: DevOps + Agile

Seguir una metodología de trabajo basada en la cultura DevOps es más fácil en organizaciones que siguen los principios ágiles. Dichas organizaciones valoran el progreso iterativo e incremental y una fuerte colaboración entre usuarios y clientes.

Los ciclos de desarrollo en organizaciones que siguen la filosofía Agile están basados en iteraciones cortas (normalmente de una a tres semanas) y pequeños equipos que se centran en entregar software a usuarios comprometidos que puedan proveer de un feedback continuo mientras la solución evoluciona.

Adoptar #DevOps es más fácil para organizaciones que ya siguen principios #agile Clic para tuitear

Este enfoque se complementa mejor con la cultura DevOps, la cual promueve trabajar conjuntamente entre los perfiles de desarrollo y operaciones del equipo y la colaboración con las partes interesadas (stakeholders) fuera del equipo de desarrollo.

Los integrantes de estos equipos tienen las competencias necesarias para llevar a cabo el trabajo sin depender de otros que no sean parte del equipo. Esto no significa que una persona solo pueda formar parte de un equipo. Por ejemplo, una persona con una elevada experiencia en operaciones puede formar parte de varios equipos y aportar sus habilidades y conocimientos para mejorar la calidad de los entregables y ayudar a aumentar los conocimientos de otros miembros del equipo.

Conclusión

El primer paso para trabajar con las filosofías Agile y DevOps es enfocarse en la entrega temprana y frecuente de software de calidad. Muchas organizaciones se centran en tener equipos dedicados en reducir costes y riesgos, en lugar de estar alineados en la entrega de valor al cliente. El primer paso es evitar esto y tomar un enfoque holístico para entregar valor de negocio.

Una vez que el equipo está más integrado con estas filosofías, el siguiente paso es seguir los procesos para ganar una mejor comprensión tanto en la construcción como en la entrega de software. Analizar estos procesos resulta favorable a la hora de tomar decisiones por parte del Product Owner acerca del producto. También es de ayuda para los equipos de desarrollo y operaciones para tener mejores ideas en sus prácticas de trabajo, fomentando la mejora continua.

El objetivo final consiste en unir ambos equipos para trabajar conjuntamente. El trabajo del equipo se basa en resultados claramente mensurables en cada iteración o sprint, trabajando en base al aprendizaje.

Imagen: startupstockphoto.com

Author

  • Carlos Sanchez

    Cloud Engineer en Keepler. "In recent years I have developed my activity in the public cloud (mainly AWS and Azure) and in the automation of processes and services. Always trying to work under an Agile and DevOps mindset."