Mantener el sistema tradicional de construcción y despliegue de software ya no tiene sentido. Se hace cada vez más necesario adoptar otro basado en la filosofía Lean, que permita la optimización de los procesos, la reducción de costes mediante la eliminación de las tareas manuales, la reducción del time-to-market y la reducción del riesgo a la hora de realizar modificaciones en el entorno.
En estos momentos, lo normal aún sigue siendo encontrarse con que los grupos de trabajo que participan en un proyecto –Desarrollo, SQA, Operaciones…- realizan su labor de forma independiente, manteniendo entre ellos sistemas de comunicación poco eficientes. Además, muchos procesos se siguen llevando a cabo de forma manual, lo que da lugar a la generación de errores que acaban provocando trabajo extra, retrasos, necesidad de asignar más recursos y, por tanto, el encarecimiento del proyecto. Esta situación puede solucionarse mediante la adopción de prácticas de Entrega Continua y DevOps.
Necesario cambio de cultura
En este necesario cambio de cultura, la automatización juega un papel fundamental a la hora de asegurar la calidad en los procesos de despliegue del software. Si el proceso de construcción, pruebas y despliegue no está automatizado, no es reproducible. Es decir, al trabajar de forma manual, cada vez que se lleve a cabo un despliegue de una nueva versión se hará de forma distinta, porque resultará imposible auditar e identificar los errores cometidos a la hora de realizar cambios en la aplicación, en la configuración del sistema o en los entornos. No hay control en el proceso de release y, por lo tanto, no hay forma de asegurar la calidad final del producto.
Además, mediante la automatización de los procesos se hace también posible incrementar la frecuencia de la liberación de nuevas versiones de software con muy poco esfuerzo, lo que implica dos beneficios colaterales: por una parte, el conjunto de cambios entre una release y otra será pequeño, algo que reducirá significativamente el riesgo asociado con la liberación de cambios en los entornos de producción, y hará mucho más fácil la aplicación de un posible roll back. Por otra, será también posible obtener feedback de forma mucho más rápida y se empezarán a explotar las funcionalidades mucho antes.
Benficios de la metodología Entrega Continua y DevOps:
- Reducción del time-to-market.
- Rentabilidad más rápida del software desarrollado.
- Menor coste, al reducirse recursos dedicados y horas de trabajo.
- Mayor seguridad a la hora de introducir cambios.
- Despliegues más sencillos, sin necesidad de tener conocimientos técnicos.
Nadie dice que implantar una metodología de Entrega Continua y DevOps resulte algo sencillo. Implica derribar barreras entre equipos, eliminar silos, utilizar nuevas herramientas, modificar procesos existentes, crear otros nuevos… pero los beneficios para la organización a nivel de negocio son de tal calibre que, sin duda, merece la pena.