Implementación de DevOps: ¿Por qué es tan difícil?

La idea de DevOps es simple, pero la implementación de DevOps es complicada.

¿La premisa? Si se aumenta la comunicación y la colaboración entre los desarrolladores de software y las operaciones, se puede crear un software de mayor calidad más rápidamente.

Muchas organizaciones se apresuran a adoptar Git, Jenkins y Docker. Pero capacitar a sus empleados en estos es sólo la mitad de la batalla. Convertirse en una organización DevOps requiere un cambio fundamental en la cultura, un cambio radical en la forma de lanzar el software.

Aquí hay cuatro desafíos clave de la implementación de DevOps y sus soluciones…

Desafío 1: DevOps a menudo requiere un cambio de cultura corporativa

Una cultura fuerte de mando y control, basada en reglas, probablemente encontrará que DevOps es extraño e incómodo. Las mejores prácticas de DevOps exigen equipos autoorganizados con toma de decisiones y resolución de problemas dirigida por los empleados. Algunos directivos pueden mostrarse escépticos a la hora de ceder esta cantidad de control. La transición de los procesos conocidos a los nuevos puede resultar incierta e insegura.

Solución: Identificar las barreras culturales para la implementación de DevOps. A continuación, desarrolle una estrategia formal de gestión del cambio: un plan de acción para superar estas barreras. ¿Su objetivo? Fomentar la comunicación abierta y ayudar a los empleados a adaptarse a sus nuevas funciones y responsabilidades.

Reto 2: Los silos crean barreras para la implementación de DevOps

Tome una plataforma de comercio electrónico, por ejemplo. En la actualidad, los desarrolladores de software de I+D pueden crearla. Luego, se la entregan a TI. Con DevOps, no hay traspasos. Los desarrolladores y las operaciones trabajan juntos como un equipo único y cohesionado.

A menudo, la comunicación entre el departamento de desarrollo y el de TI es escasa, si es que existe, debido a que están aislados con una gestión separada. Incluso si la comunicación es colaborativa y cordial, las dos organizaciones pueden utilizar herramientas y procesos completamente diferentes. Y con DevOps, ¿quién está al mando?

Solución: Aunque la implementación de DevOps requiere el apoyo y la defensa de la C-suite, algunas organizaciones están acelerando el cambio de cultura a través de métodos de base. Por ejemplo, se puede formar a un grupo de desarrolladores de software entusiastas sobre cómo implementar DevOps. A continuación, puede poblar sus equipos con estos ingenieros de DevOps que pueden empezar a cambiar la cultura y romper los silos desde dentro.

Reto 3: Algunas empresas piensan que tienen que elegir entre el trabajo que genera ingresos y los proyectos de operaciones internas.

Existe la percepción de que la implementación de DevOps frenará su impulso.

Algunos directores de ingeniería piensan: «Hay poco tiempo y dinero para repartir. ¿Inviertes en crear una nueva función que puedas vender? ¿O inviertes en automatizar y agilizar los procesos, para poder entregar más/mejor/ más rápido en el futuro?»

Adoptar DevOps no es un cálculo en blanco y negro. Es una decisión de «ambos». Sí, hay costes a corto plazo, incluida una curva de aprendizaje que puede significar una ralentización temporal del impulso. Pero es probable que los beneficios a medio y largo plazo eclipsen los inconvenientes a corto plazo.

Solución: Considere la posibilidad de adoptar enfoques graduales que respeten sus calendarios de publicación actuales. Puede empezar a formar a los ingenieros en las herramientas y principios de DevOps con antelación. Y puede diseñar la formación de manera que la aplicación en el puesto de trabajo comience con un próximo lanzamiento.

Puede hacer la transición a DevOps un proyecto a la vez. Dentro de un proyecto específico, usted quiere ser todo en DevOps, pero puede tomar algunos años para la transición de su organización completa a una cultura DevOps.

Reto 4: Algunos ingenieros de software no están entusiasmados con las pruebas y la automatización

Aunque muchos desarrolladores escriben actualmente pruebas unitarias, CI/CD requiere mucho más. Para implementar DevOps con éxito, las organizaciones deben automatizar completamente las construcciones, las pruebas y la liberación.

La mayoría de los ingenieros de software de hoy en día quieren escribir código de producción. Por lo general, son menos entusiastas a la hora de escribir pruebas. Cuanto más veteranos sean, más probable será que piensen: «Eso no es parte de mi trabajo».

Solución: Sondee la mentalidad actual de sus desarrolladores sobre las pruebas y la automatización. Es posible que encuentre algunos que ya están entusiasmados con los conceptos de DevOps. Con formación adicional, estos entusiastas pueden servir como embajadores que ayuden a ganarse a los escépticos. Además, es posible que su organización tenga que ajustar las estructuras salariales y de promoción para recompensar los nuevos comportamientos colaborativos e interfuncionales que desea.

Las empresas que adoptan DevOps obtienen grandes recompensas

Aunque los pasos de implementación de DevOps pueden parecer difíciles, considere esto…

Supongamos que su organización realiza un gran lanzamiento de software cada trimestre. En cambio, supongamos que su principal competidor lanza una nueva funcionalidad cada semana. ¿Quién tiene más posibilidades de complacer a los clientes, tanto a corto como a largo plazo? Esta es la pregunta clave que impulsa la adopción de DevOps. ¿Necesita DevOps para seguir siendo viable como empresa? ¿Le está retrasando el «mantener el rumbo»?

¿Es DevOps adecuado para su organización? O si ya ha adoptado DevOps, ¿está viendo los resultados que desea? Dondequiera que esté en su viaje de DevOps, Pluralsight prepara a sus equipos para el éxito