Los principales desafíos de DevOps


El primer desafío que me gustaría comentar es precisamente sobre el término "DevOps", sabemos que es la unión de Desarrollo + Operaciones, pero debemos determinar que queremos lograr con DevOps y por qué es importante para nosotros como empresa o como profesionales. DevOps lo podemos interpretar de diferentes maneras, de hecho, cada uno de nosotros puede tener su propio concepto, para algunos puede ser automatización, para otros es agilidad, para otros es despliegues continuos, para otros es infraestructura como código, entre muchas otras cosas. Es aquí donde podemos percibir diferentes alcances y no tener claro un objetivo.

devops

A la lista se suman otros desafíos, enumero algunos de estos:

  1. La cultura del cambio: para poder lograr una entrega continua de valor es necesario adaptar los procesos e interacciones que ejecutamos hoy en día, cuestionarnos como desarrollamos, como probamos, como implementamos, como interactuamos con nuestros equipos, etc. DevOps consiste en un cambio continuo y para adaptarse a ello, es necesario cambiar la cultura central de la organización, de manera tal que las lecciones aprendidas sean las que nos ayuden a mejorar el proceso y entregar aplicaciones con más calidad y mejores resultados. Como dice Stephen Hawking"La inteligencia es la habilidad de adaptarse a los cambios."
  2. No solo se trata de automatización sino también de planeación: en multiples ocasiones he visto empresas que automatizan con alguna herramienta o un script un proceso de desarrollo y consideran que ya con eso están llevando a cabo una práctica de DevOps. Realmente tenemos que ir mucho más allá, el nucleo de DevOps consiste en la planeación, tener un proceso de agilidad y que todo el equipo esté familiarizado con el mismo permite tener trazabilidad de punto a punto, desde requerimiento hasta pase a producción. La mejor forma de atacar esto es estableciendo objetivos, un plan, encargados, definiendo entregables, etc.
  3. Tecnología y procesos antes de las personas:  Muchas veces las organizaciones adquieren una herramienta tecnologíca que les permite simplificar muchos de los procesos y comunicaciones, sin embargo, si el equipo no está familiarizado con los procesos o si los equipos de desarrollo, testing, seguridad, operaciones (infraestrucutura), base de datos o gerencia, no tienen una buena comunicación ni entendimiento de los procesos, estas herramientas se pueden convertir en una barrera debido a que imponen la forma de trabajar y la adaptación al cambio se puede hacer más complicada.
  4. Comunicación y colaboración: Una de los cambios que debemos realizar y considero que no solo como solución a un desafío de DevOps sino más general, es la forma como interactuamos dentro de un grupo de trabajo, he visto empresas que implementan areas de trabajo compartidas, evitando cúbiculos que "aislen" a los colaboradores, lo cual permite tener mejor colaboración, sin embargo en cuanto a la comunicación muchas personas siguen enviando correos electrónicos cuando muchas veces tienen a sus compañeros al lado. Plataformas como Microsoft Teams permite mejorar comunicación de una manera más tipo chat en grupo, esto no solo mejora la productividad sino también organizar la información.
  5. Integración de las diferentes áreas: DevOps no es solo del área de desarrollo o de operaciones, realmente es la unión de los procesos, las tecnologías y las personas. Otro desafío crítico es solamente involucrar a equipos de desarrollo y no todos los involucrados.
  6. Flexibilidad en ambientes de pruebas y desarrollo: Muchas veces invertimos en ágilidad para desarrollo pero nos olvidamos de velar por completo de los ambientes de pruebas y desarrollo, lo cual nos lleva a perder el tiempo que ganamos con el desarrollo en la espera de la infraestructura necesaria para realizar pruebas, en un post anterior había comentado la administración de ambientes fuera de producción. En el mismo se puede obtener mayor detalle sobre lo que ofrece la nube de Azure para la gestión de este tipo de ambientes.

Espero que con esta publicación estos desafíos y cualquier otros sean superados con buenas implementaciones y se pueda mejorar la calidad de sus desarrollos de software.


Comments (0)

Skip to main content