Es una realidad innegable que el mercado actual y futuro exige una respuesta ágil a las necesidades del cliente, por lo que aplicar los conceptos DevOps se ha convertido en un desafío inevitable para las organizaciones.
Existen multitud de definiciones para este concepto, pero todas coinciden en los siguientes aspectos clave:
1. Se basa en una cultura o disciplina de trabajo que promueve la comunicación y la colaboración entre negocio, el mundo del desarrollo (Dev) y el de las operaciones tecnológicas (Ops).
2. Su objetivo es ayudar a las organizaciones a ofrecer productos y servicios software más rápidamente, con mayor calidad y a un coste menor.
3. Para mejorar y agilizar la respuesta a las necesidades del negocio, la filosofía DevOps aplica un conjunto de prácticas orientadas a la automatización de procesos que reducen los tiempos de entrega de productos de software.
Podemos decir que DevOps es una extensión de Agile que exige un grado de madurez superior en los procesos. Los equipos Agile utilizan automatización en la generación de ejecutables, en validación, en testing y en los despliegues. Es decir, utilizan integración y entrega continua.
Los equipos DevOps van más allá al trabajar en “Infraestructura como código” dentro del mundo de la infraestructura moderna. Utilizan para ello herramientas de gestión de configuración, contenedores, virtualización, monitorización, entre otras muchas herramientas.
Es un hecho que el concepto DevOps aún está por llegar a muchas empresas, y en especial al mundo del contact center.
La adaptación a DevOps es un proceso largo que debe ir acompañado de un plan estratégico y sobre todo realista. Esta nueva forma de trabajar exige facilitar la colaboración y la comunicación entre las diferentes áreas, lo que requiere un cambio cultural y organizativo en las empresas.
Uno de los problemas principales que se encuentran las empresas es la separación tradicional entre Desarrollo y Operaciones. Esta realidad plantea fuertes barreras que hay que romper y que van desde problemas de comunicación y diferencias en objetivos e intereses hasta el miedo al cambio. Por ello, es imprescindible que el cambio esté interiorizado y apoyado por la alta dirección para lograr su objetivo a largo plazo.
Para generar una verdadera implicación de los equipos, es fundamental hacer entender que esta nueva forma de trabajar puede convertirse en una gran ventaja competitiva. La aplicación de DevOps presenta claros beneficios al facilitar una respuesta rápida y flexible al cambio y logra una mayor productividad al fomentar el trabajo en equipo entre áreas habitualmente separadas. Entre los beneficios también cabe mencionar que se puede alcanzar una mejora apreciable en la calidad de vida de los equipos.
Una base fundamental para empezar a trabajar en este entorno de colaboración es la aplicación de metodologías ágiles. En este aspecto, ya son muchas las empresas que trabajan aplicando principios de agilidad o que se han planteado en serio su implantación. Cada vez hay más retractores que se han reconvertido a la agilidad.
Sin embargo, DevOps va más allá de la agilidad, ya que promueve la automatización para evitar y/o reducir el conjunto de tareas manuales asociados al despliegue, a la monitorización y a la obtención del feedback del cliente.
No solo es una cuestión de ganar tiempo, sino también de evitar riesgos: cuanto menor sea el número de tareas manuales, menor posibilidad de fallo humano hay. Liberar a las personas de este tipo de tareas permite que dediquen más tiempo a aquellas en las que aportan más valor. Por ejemplo, un desarrollador podrá centrarse en desarrollar y no desperdiciará tiempo en configurar y solucionar los problemas entre entornos.
La infraestructura utilizada es un factor determinante para facilitar la automatización, y al mismo tiempo, puedo serlo para demandar nuevas necesidades de automatización. Por ejemplo, en el mundo cloud, surgen nuevas necesidades orientadas a optimizar permanentemente la gestión de costes.
Muchas de las herramientas del mundo de los DevOps están muy ligadas a la virtualización y a la nube, ya que facilitan la preparación de entornos de desarrollo que tengan similitud con los entornos productivos.
No cabe duda de que la implantación DevOps es un proceso largo y que la visión para implantarlo debe ser realista y adaptada a cada organización, a su negocio y a su tecnología. Podemos pensar que la automatización es la parte más compleja, sin embargo, inculcar un cambio cultural en organizaciones con mucha historia puede resultar igual de complicado.
Las DevOps en el mundo del contact center se presentan como un auténtico desafío, si tenemos en cuenta las particularidades que presenta la tecnología y la infraestructura implicadas y la gran diversidad de instalaciones y adaptaciones. Todo ello dificulta la automatización de procesos fundamentales como la gestión de entornos, despliegues y las pruebas.
Sin embargo, es previsible que vayamos superando estos desafíos y la filosofía DevOps se vaya implementando paulatinamente en las organizaciones y se mejore significativamente la eficiencia de los negocios.
(Goiuri Astigarraga, gerente de proyectos de Team Vision)