Seis consejos para implementar DevOps

Desde siempre, un equipo de tecnología intenta implantar las mejores prácticas y herramientas más novedosas del mercado en su ecosistema tecnológico, buscando, además, una formación y crecimiento continuo. De esta manera, ofrece a sus usuarios o clientes un resultado óptimo e innovador.

Cuando se utilizan filosofías DevOps ocurre exactamente eso, entregando software de forma constante y continua, además de fiable si contamos con la estrategia de QA adecuada. Esto se consigue gracias a que el equipo pueda combinar cultura, procesos, herramientas y sobre todo automatización de procesos. En QALovers nos pusimos manos a la obra y hemos realizado diferentes implantaciones de DevOps en varios clientes con éxito y esto nos ha llevado a elaborar un mapa de cuestiones que se deben seguir para obtener éxito en cada proyecto.

DevOps, ¿Si o no? 

A veces, nos dejamos arrastrar por corrientes novedosas y que parece que las debemos implantar como sea ya que la mayoría de las empresas alrededor ya las tienen. Esto no es lo más adecuado y no siempre funciona por muchos motivos: carencia de filosofía o cultura, madurez del equipo, falta de medios o encaje adecuado para la tipología de proyectos. Eso sí, si conseguimos implantarlo nos ofrecerá un camino más ágil para realizar soluciones de software más rápidamente, con tiempos de entrega más cortos y una tasa de fallo más baja de lo habitual.

En este camino hacía la implantación de DevOps, debemos tener en cuenta una serie de puntos que nos harán tener éxito o no según los tengamos en cuenta o los realicemos adecuadamente, ¿quieres saber cuáles hemos realizado nosotros en QALovers para obtener el éxito adecuado? ¡Vamos a ello!

1. Revisión detallada de procesos de control de Calidad y equipo de pruebas

Uno de los primeros pasos es el de remodelar o redefinir los procesos de control de calidad que estén ya funcionando en la compañía (si no existían de antemano, no debes intentar implantar DevOps).

Para ello, hay que integrar los procesos de control de calidad en cada fase de DevOps, ya sea con software de revisión de código tipo Sonar, lanzamiento de pruebas unitarias y automáticas en fases tempranas o lo que sea necesario en base a tu software. De esta manera, nos aseguramos de que las implementaciones, integraciones y despliegues son sólidos y el código es estable.

El equipo de pruebas debe ser reactivo y no solo proactivo, centrándose en las necesidades de los clientes y con las habilidades suficientes para obtener una garantía excepcional en cada ciclo de CI/CD. Como ya decíamos, sin esto, es prácticamente imposible que tu camino hacía DevOps funcione correctamente.

2. Ajustar las expectativas del retorno de inversión

Cuando vamos a implantar una filosofía o solución tipo DevOps, siempre se suele demandar una serie de resultados instantáneos y un retorno de inversión (ROI) muy rápido, pero esto es algo bastante alejado de la realidad.

Habitualmente, la directiva tiene unas expectativas diferentes al equipo de IT y sus expectativas serán más altas. Por ello, hay que realizar un enfoque adecuado sobre la estrategia, la aceptación y el plan previsto, donde se definan unos KPIs alcanzables y medibles para ello.

3. Gestionar el cambio cultural

Hay que ser capaces de gestionar el cambio cultura en la forma de trabajar desde entregas tradicionales a un pipelines de CI/CD, totalmente colaborativo y transparente para el squad (DEV, QA y OPS).

Los silos deben desaparecer y es donde se causa la mayor resistencia al cambio, por ello hay que hacer un ejercicio de paciencia y calma, trabajando la persistencia y establecer los procesos de gestión del cambio adecuados a través de una comunicación constante con todas las personas que van a trabajar en con este tipo de filosofía de trabajo.

4. Seguridad, seguridad y seguridad

Es uno de los puntos clave de todo sistema de DevOps y en los flujos tradicionales es algo que arranca en las etapas finales, por ello, hay que hacer los cambios adecuados para que la confidencialidad, la integridad y la seguridad de la información esté presente a lo largo de todo el proceso, con un código protegido de penetración, vulnerabilidades y amenazas.

La integración de DevSecOps en los ciclos de DevOps que vayamos a implantar, ayudaría a combinar la mentalidad, cultura, procesos, herramientas y técnicas específicas de seguridad en nuestros ciclos de vida del desarrollo del software.

5. A partir de ahora, todo se realiza de forma continua y con una automatización controlada

“Este es el camino”, dicen en The Mandalorian y efectivamente, tienen toda la razón. A partir de ahora, hay que centrarse en la prioridad, los planes, el desarrollo, las pruebas y el lanzamiento de las funciones relevantes para el negocio en cada implementación. Cada squad con desarrollo, testing y operaciones debe contribuir a las mejores prácticas de devops en cada etapa, esto asegurará que la integración sea sólida.

Además, no debemos abusar de la automatización, hay que integrarla con cabeza. El uso de herramientas que nos ayuden a automatizar, robotizar o gestionar automáticamente diferentes ciclos o flujos es adecuado pero siempre con un propósito principal de agilidad, productividad y sobre todo calidad.

Cuando existe este pensamiento, habitualmente solemos priorizar la prisa y la rapidez olvidándonos del resto, pero esto no es así, debemos centrarnos en la importancia y la esencia del juicio humano y siempre proporcionar al equipo la información más valiosa, usando la inteligencia colectiva para cada situación, esforzándonos en que la colaboración sea continua y sin silos o problemas transversales. Cada fase, desde la comercial hasta la monitorización en producción, debe contener estos puntos anteriores e intentar que no sean reemplazadas por ninguna herramienta automática al 100%. Para ello, debe existir consenso y verificación de que tecnologías se utilizarán y cuales serán sus beneficios.

6. DevOps aún no es un sistema de trabajo maduro

Por último y no por ello menos importante, mantengamos en la cabeza esta idea: DevOps está evolucionando, madurando y transformándose aún, no existe un enfoque estándar ni único y todo depende de como se define, interpreta e implanta en cada empresa.

Por ello es de vital importancia que se cree un consenso, que se escuchen todas las voces relevantes y que se detallen las ideas para establecer y asegurar un plan y método de trabajo, con un enfoque único, evitando desviaciones. Hay que explorar, probar, fallar, mejorar y ejecutar en diferentes proyectos para empezar a madurar la idea de forma definitiva e transversalmente en la organización. Las POC y proyectos piloto serán esenciales en el éxito de la implantación de un sistema de DevOps en la empresa.

Estas seis ideas son las que siempre ponemos en práctica desde QALovers para introducir este tipo de filosofías de trabajo donde, en la mayoría de los casos, suponen un cambio integral de métodos de trabajo y de, incluso, organización de equipos y de procesos empresariales.


0 Comentarios