En el nuevo escenario digital, las organizaciones necesitan aprender a trabajar de una forma diferente. Para ello, no solo deben tener en cuenta la evolución de las TI, sino también la que afecta a los procesos de negocio, al puesto de trabajo o a la seguridad. Sin embargo, a pesar de que en este contexto los cambios se producen a un ritmo más rápido que los propios desarrollos, aún es muy común encontrarse con empresas en las que los procesos relacionados con el desarrollo y puesta en producción de sus aplicaciones siguen estando liderados por equipos que trabajan de forma independiente y llevándose a cabo de forma manual.
La implantación de DevOps puede resultar de gran ayuda a la hora de superar esta realidad, pero su adopción suele generar dudas e inseguridades en las organizaciones. Para superarlas, lo más adecuado es abordar este cambio de forma ordenada, analizando, en primer lugar, la situación de la que parte cada empresa. En MTP proponemos, como punto de partida, llevar a cabo un análisis basado en los cinco valores de DevOps que aparecen agrupados en las siglas CALMS: Cultura, Automatización, Lean, Medición y Colaboración (o Sharing). En esta fase, la aplicación de metodologías probadas resulta de gran ayuda. Una de ellas es ODA+ (Omnia DevOps Assessment), que permite obtener una evaluación completa de la madurez de cada organización con respecto al modelo DevOps.
Tras la fase de análisis, la automatización aparece como uno de los factores más relevantes a tener en cuenta en la adopción de una cultura DevOps
ODA+ analiza los pilares de este cambio: el aspecto cultural (transparencia, confianza, experimentación, responsabilidad y orientación E2E al cliente); el aspecto organizativo (equipos autónomos y multidisciplinares; cambio/ adaptación a nuevas arquitecturas, como microservicios; el modelo de gobierno (uso de metodologías de desarrollo Agile-Lean) y el aspecto de proceso y herramientas, en el que se evalúan seis áreas: gestión de configuración, gestión de build e integración continua, gestión de despliegue y entornos, gestión de releases y cumplimiento, gestión de pruebas y gestión de datos. Por otra parte, tras la fase de análisis, la automatización aparece como uno de los factores más relevantes a tener en cuenta en la adopción de una cultura DevOps.
Los proyectos DevOps utilizan procesos estandarizados que permiten la automatización de los mismos, a fin de mejorar su fiabilidad y, por extensión, la calidad del software. De esta forma, la automatización, combinada con otros principios DevOps, facilita que los equipos puedan focalizarse en proporcionar valor en la entrega del software, siguiendo el primer principio del Manifiesto Agile: “Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor”.
Procesos de automatización
Para ello, los procesos de automatización se desarrollan en cuatro áreas: construcción, testing, despliegue y aprovisionamiento. Aplicado a estas cuatro áreas nos encontramos con el concepto ‘Everything as Code’ que, basado en el uso de diferentes herramientas de desarrollo, permite automatizar, de forma rápida y sencilla, las tareas de cualquier organización tradicional con silos de responsabilidad. Los beneficios de la implantación de DevOps en cuanto a incremento de la calidad, ahorro de costes y mejora del time to market ya han sido probados. Si sabemos, además, cómo empezar a disfrutar de ellos, pocas excusas quedan para no ponerse en marcha cuanto antes.