En la era actual, la agilidad, la calidad y la eficiencia con la que debemos ejecutar proyectos en nuestras organizaciones cobran cada vez mayor relevancia.
Es entonces cuando escuchamos frases como «tiempo de comercialización», «aportar valor al negocio en el menor tiempo posible» y «debemos trabajar con mayor agilidad».
Pero la gran pregunta es cómo lo hacemos, cómo logran las grandes empresas entregar productos tan innovadores, de tan alta calidad, en tan poco tiempo y que además sean económicamente rentables. Es posible que haya muchas respuestas a estas preguntas, pero lo que puedo asegurarles es que estas grandes organizaciones definitivamente trabajan con DevOps.
Y es que, a través de DevOps con una serie de estrategias, cambios de paradigma y ajustes en la forma tradicional de trabajar podemos lograr estos objetivos, y si quisiéramos hacer aún más eficiente el proceso tendríamos que hablar de SecDevOps pero este tema lo podemos dejar para otro momento.
Por ahora centrémonos en qué es DevOps, la cultura que se debe crear en la organización y el cuidado que debemos tener para no caer en un agujero negro al momento de la implementación.
¿Qué es DevOps?
Para empezar, debemos aclarar que DevOps no es una herramienta ni un software, ni un lenguaje de programación que te permita seguir un tutorial y crear un «Hola mundo» en una tarde. DevOps es más bien una forma de pensar y trabajar de forma diferente.
Esto nos llevará a una estrategia de trabajo más organizada, automatizada, armoniosa, segura y ágil, donde unificamos en un solo núcleo el trabajo de desarrolladores y operaciones, sin descuidar la calidad y la seguridad.
De esta forma Operaciones y Desarrollo trabajan juntos en un mismo equipo y sus implementaciones, desarrollo, QA, arquitectura, integraciones, etc. se realizan de forma automatizada y conjunta; realizando el ciclo de vida completo de las aplicaciones en cada entrega, a la vez que se crea o mantiene una cultura y ambiente de desarrollo continuo, por tanto más eficiente que la forma tradicional.
Estas características ayudan a las organizaciones a incrementar su servicio al cliente y ser más competitivas en el mercado, ya que aumentan el número de entregas de sus productos a producción, obtienen retroalimentación más constante del mercado, disminuyen la tasa de errores y aumentan el tiempo de recuperación en caso de fallas.
¿Cómo se crea la cultura DevOps?
Debemos comprender que uno de los pilares más importantes en la creación de una cultura DevOps en las organizaciones es el apoyo de la gerencia.
Esto contribuye significativamente a que desarrolladores, líderes, jefes y demás gerentes sean conscientes de la importancia del cambio que se avecina y de que cada uno de ellos es una pieza clave en el proceso. Por ello, todos los empleados deben ser parte del cambio, participar en el proceso, ser conscientes de la necesidad y de los ajustes necesarios, y comunicar con claridad y transparencia los objetivos a alcanzar y lo que se espera de ellos.
Sin embargo, para lograr un impacto positivo en la organización, es necesario que cada persona lo asuma y lo ponga en práctica de forma natural, no impuesta.
6 aspectos relevantes para hacer DevOps más efectivo:
1. Comunicación:
Los equipos DevOps deben mantener una comunicación constante sobre el producto que están diseñando, deben tener claras sus características, peticiones, plazos, recursos, etc. Además, deben crear métricas que estén disponibles para toda la organización o comunicarlas de forma transparente sin miedo a ser señalados.
2. Enfoque
Los desarrolladores deben hacer lo que realmente importa, es decir, crear código, y no atender otras cosas como reuniones, llamadas, brindar soporte, etc. Deben tener claro que su misión es aportar valor al negocio creando constantemente productos para el cliente.
3. Agilidad
Los equipos deben comprender que trabajan para aportar valor al negocio y que deben entregar constantemente sus entregables para generar cada vez más valor. Esto reduce los tiempos de espera para nuevas funcionalidades y aumenta la eficiencia y la puntualidad con los clientes.
4. Respeto
Todos los miembros del equipo deben valorarse mutuamente y valorar el esfuerzo de cada uno. Deben mantener una comunicación sana, escucharse mutuamente y comprender que la experiencia de los demás es un aprendizaje para los demás.
5. Confianza
Este punto es vital en los equipos, ya que Operaciones necesita creer que los desarrolladores realizan sus tareas según lo acordado y que buscan el mejor resultado del producto que crean. Por lo tanto, si no hay confianza entre los miembros del equipo, por muchas herramientas que implementen para apoyarlos en el proceso, estas carecerán de sentido.
Por eso, DevOps se basa en la cultura y las herramientas: implementar un conjunto de herramientas no transforma a las personas en un equipo DevOps, sino que el uso de herramientas DevOps ayudará a los equipos a mejorar su rendimiento, a la vez que fomenta la cultura y la confianza que DevOps aporta.
6. Conciencia
Antes de imponer una nueva cultura abruptamente, es necesario preguntarse por qué hemos estado trabajando de la manera «x», cuál es el objetivo principal de la organización y cómo podemos mejorar nuestra forma de trabajar. Es entonces cuando tomamos conciencia de los problemas que tenemos y gestionamos mejor las necesidades, logrando que los miembros de la organización las comprendan y trabajen con la cultura DevOps hasta alcanzar la meta.
DevOps como cultura
Debemos tener muy claro que, si no logramos establecer una cultura DevOps adecuadamente, con una relación estrecha entre Desarrollo y Operaciones, podríamos perder el foco y simplemente trabajar en lo que nos conviene o en lo que estamos acostumbrados a hacer porque es lo más fácil.
Por lo tanto, la implementación de DevOps debe llevarse a cabo de forma cuidadosa, informada y con el asesoramiento adecuado, con una mentalidad abierta al cambio para evitar errores como los siguientes:
1. Creer que DevOps es lo mismo que la automatización de procesos
Sin duda, una de las tareas más relevantes de los equipos de DevOps es automatizar el máximo número de procesos posible. Sin embargo, su propósito no es solo ese. Su objetivo es ir más allá, considerando el cambio cultural en la organización y la generación de valor para el negocio. De forma continua y, sobre todo, evitando la cultura de silos.
2. Evitar el apoyo de la dirección
Es importante que la implementación de DevOps y su apoyo se sientan plenamente. Por lo tanto, omitir el apoyo de la gerencia sería un grave error. Sin su colaboración, los cambios culturales necesarios en la organización no se lograrían.
3. Omitir la participación de cumplimiento, auditoría y seguridad
Estas áreas deben formar parte de la implementación de DevOps. Establezca los controles necesarios, reconozca los riesgos y reestructure los controles y procesos internos. Omitirlos podría dar lugar a retrabajos o a una aplicación y uso incorrectos de DevOps.
4. Ser muy inflexible
Es evidente que nos encontraremos con muchas cosas nuevas que desconocemos o que nunca hemos usado. Pero debemos ser flexibles al cambio, aceptar nuestros errores y aprender de ellos. Seleccione a la persona adecuada para ser el DevOps Champion y así facilitar el apoyo y la colaboración del equipo.
5. Creer que DevOps es la solución mágica
Debe quedar claro que DevOps no es una solución mágica que resuelva todos los problemas de la organización. Es decir, los cuellos de botella o la inoperancia de algunos de ellos no se pueden solucionar simplemente implementando DevOps.
Es necesario trabajar gradualmente con objetivos claros para lograr resultados concretos, reforzando al mismo tiempo la necesidad de la colaboración conjunta de los procesos operativos para obtener mejores resultados.
6. Seleccionar un proyecto crítico o de muy baja relevancia como piloto
Se debe tener cuidado al seleccionar el proyecto que se utilizará como implementación piloto. Si es muy crítico o de gran envergadura, puede generar expectativas erróneas de agilidad, velocidad y entrega de valor continuo. Además, es fundamental seleccionar las herramientas para trabajar con DevOps.
Es recomendable seleccionar un proyecto intermedio con objetivos claros, medibles y alcanzables, y que cuente con el líder adecuado para facilitar la comunicación, la finalización de tareas y la dinámica del trabajo en equipo.
Si desea implementar DevOps en su empresa, le recomiendo definir objetivos claros que tengan sentido para cumplir el objetivo de sus proyectos. Por ejemplo, reducir el tiempo de comercialización, mejorar el rendimiento, reducir el tiempo de implementación, mejorar la calidad, etc.
Recuerde discutir los objetivos con el equipo de trabajo. Genere un diálogo constructivo, identifique qué problemas deben mejorarse y qué necesidades pueden resolverse.
Al establecer el objetivo, considere el plazo en el que desea realizar cada entrega. Si el equipo trabaja con metodología ágil, puede usar sprints.
Luego, recuerde evaluar constantemente los resultados y renovar los objetivos gradualmente. Al principio, el proceso puede parecer lento, pero verá que gradualmente dará resultados.
Conozca más sobre Interfaz una empresa enfocada en crear las estrategias adecuadas para que su negocio marque la diferencia.
