Metodología Agile: DevOps y XP
En el enfoque Agile y Lean, el DevOps y XP busca poner de acuerdo el desarrollo de entrega rápida, actuando con intensidad, junto con operaciones buscando la continuidad del desarrollo que no implique grandes cambios. El objetivo principal es el despliegue de soluciones tecnológicas que sean clave en el negocio con el mínimo coste posible, mediante MPV.
Artículos Scrum recomendados antes de seguir con la lectura:
- Framework Scrum en la gestión de proyectos
- Framework Scrum: roles y responsabilidades
- Framework Scrum: proceso de entrega
- Framework Scrum: Eventos, Artefactos y Backlog
- Framework Scrum: Ceremonias
¿Qué es DevOps?
DevOps proviene del acrónimo development -desarrollo- y operations -operaciones-, es una práctica que fusiona el desarrollo y las operaciones. Desde el punto de vista de la digitalización, el desarrollo está enfocado en la creación de nuevas funcionalidades, ya sea en un sitio web o aplicación.
El objetivo es hacer más rápido el ciclo de vida del desarrollo de software y proporcionar una entrega continua de alta calidad. DevOps es una práctica complementaria al desarrollo de software ágil, debido a que varias de las características de DevOps provienen de la metodología Agile.
Principios y valores DevOps
Los principios DevOps son:
- Acción centrada en el cliente: Promueve una cultura abierta que reduce la burocracia y se enfoca en la innovación.
- Alcanza objetivos: No debe perderse de vista el objetivo final y no debe considerarse el trabajo que cada uno realiza como una participación puntual, sino una parte de un todo.
- Responsabilidad compartida: Mantener la continuidad del producto o servicio no es responsabilidad únicamente de operaciones, sino que pasa por ser compartida por todos los que han participado en su concepción.
- Equipos autónomos y multifuncionales: Los equipos estables autónomos y autorganizados son la forma para conseguir el máximo compromiso e implicación de sus participantes.
- Mejora continua: Comunes con Lean y Agile, se trata de incrementar el flujo, reducir el desperdicio, inspeccionar y adaptarse.
- Automatizar todo lo que se pueda: La automatización permite eliminar tareas repetitivas liberando a las personas para actividades de mayor valor. Además, reduce el riesgo de errores.
Prácticas DevOps
Las mejores prácticas DevOps son las siguientes:
- Automatización: Sustituir funciones manuales por software que las ejecute, con soluciones como n8n.
- Entrega continua: Aplicar técnicas, métodos y prácticas que siguen los principios de automatización, feedback y mejora continua.
- Testing automatizado: La calidad en el centro de todo proceso de definición, construcción y explotación de productos y servicios, como BDD.
- Integración continua: Conjunto de técnicas y herramientas que automatizan el proceso de generar, compilar, integrar con otros elementos, mover a entornos adecuados para la prueba y validar automáticamente los componentes, con soluciones como CI.
- Despliegue continuo: Mover productos de software a distintos entornos, con soluciones como CD.
- Provisión automatizada: Poder utilizar equipo hardware.
- Release on demand: Mecanismos para poder activar la entrega de nuevos productos y servicios a sus destinatarios finales, con soluciones como Docker o Kubernetes.
¿Qué es XP?
Extreme Programming (XP) es una metodología de desarrollo que pertenece también a las metodologías Agile, cuyo objetivo es el desarrollo y gestión de proyectos con eficacia, flexibilidad y control. Ambos conceptos, aunque relacionados estrechamente, son distintos. Agile es el marco de trabajo para el desarrollo del software, se hace mediante un proceso iterativo y define las prácticas y roles del equipo. Por su lado, el Extreme Programming es una metodología basada en la comunicación, la reutilización del código desarrollado y la realimentación.
Principios y valores XP
Por su parte, los valores de XP son sencillos:
- Comunicación
- Simplicidad
- Feedback
- Coraje
- Respeto
Prácticas XP
El conjunto de prácticas que recoge XP está representado en la siguiente gráfica. XP es un marco para equipos técnicos que mejora el código aplicando buenas prácticas.
Conclusión
Dentro del framework Agile, la utilización de metodologías DevOps y XP te permite seguir innovando, aportando valor al negocio, sin olvidar el mantenimiento y optimización del mismo.
Referencias:
· C Iglesias, F Lopez. Business Agility, ESADE 2021
· La Guía Definitiva de Scrum: Las Reglas del Juego
· A Álvarez, S Aguilera, S Jurado, M Rodríguez. La empresa Ágil (2019). Editorial Anaya.