Cover Image for La realidad de crear equipos DevOps unificados y exitosos.

La realidad de crear equipos DevOps unificados y exitosos.

La integración de los equipos de desarrollo y operaciones no es tan sencilla como parece.

La famosa metáfora de la colaboración entre los equipos de desarrollo (Dev) y operaciones (Ops) ha estado presente en la mente de quienes adoptaron DevOps en sus inicios. Este concepto subrayaba la necesidad de fusionar estos equipos para mejorar la colaboración y acelerar los lanzamientos de aplicaciones. Sin embargo, en la última década, la adopción de DevOps se ha centrado principalmente en la automatización del desarrollo, específicamente en la creación de pipelines de Integración Continua y Entrega Continua (CICD). Debido a esto, la formación de equipos DevOps unificados ha quedado en un segundo plano.

Reflexionando sobre el pasado, se puede argumentar que esta estrategia fue la adecuada para ese momento, ya que, sin una automatización completa, la velocidad de los lanzamientos no justificaba la fusión de los equipos. Aunque se trabajaba en iteraciones ágiles, las actividades manuales y los traspasos entre equipos alargaban los ciclos de lanzamiento. Las versiones finales solían ser el resultado de múltiples ciclos ágiles, y ante la falta de lanzamientos rápidos, no se sentía la necesidad de una colaboración cercana entre Dev y Ops.

La situación actual, marcada por la automatización CICD e incluso por la automatización total en ciertos casos, ha permitido que la frecuencia de lanzamientos aumente a cifras impresionantes, pasando de uno cada nueve meses a uno semanal, o incluso más rápido. Este incremento plantea nuevos retos en el traspaso de tareas de Dev a Ops, lo que genera una presión considerable sobre los equipos de operaciones para mantener los estándares de servicio a pesar de los cambios constantes. Esta tendencia a la elevada frecuencia de lanzamientos ha impulsado la necesidad de crear equipos DevOps unificados, siendo cada vez más las organizaciones que buscan implementar dicha estructura en sus aplicaciones digitales.

Sin embargo, formar un equipo unificado no se limita a sentar a Dev y Ops en una misma mesa y nombrarlos como un solo equipo. Hay varios factores clave a considerar para su éxito. Primero, es esencial un esfuerzo consciente hacia un cambio cultural y de mentalidad. Sin esta transformación, no será sencillo que los miembros de Dev y Ops trabajen con el mismo compromiso en las tareas de los demás. Se requiere una comprensión del objetivo común y la superación de la creencia de que algunas tareas son superiores a otras. La figura de un 'coach' en DevOps puede ser fundamental, utilizando técnicas como la habilitación, la interacción con el negocio, la definición de KPIs comunes y la eliminación de métricas de rendimiento individuales.

En segundo lugar, este 'coach' debe estar respaldado por cambios organizacionales, como la designación de un propietario de producto común para el equipo unificado. Este líder debe tener claro la importancia de las tareas de ambos equipos y priorizarlas según las necesidades del negocio. Sin un propietario del producto, los desafíos de priorización de tareas continuarán, y los equipos seguirán operando de manera aislada.

Además, la simple combinación de los equipos de Dev y Ops no garantiza la creación de un grupo de profesionales de DevOps competentes. Ambas áreas requieren un proceso de capacitación estructurado para adquirir habilidades cruzadas. No se trata solo de enseñar a un desarrollador a realizar tareas operativas; también es fundamental que comprendan los procesos de soporte, los acuerdos de nivel de servicio (SLAs) y la resolución de problemas. Igualmente, los miembros de operaciones necesitan adquirir conocimientos de codificación que varían entre los distintos niveles de soporte (L1, L2, L3), lo que hace inviable que todos se conviertan en desarrolladores de inmediato. Un buen 'DevOps coach' debe diseñar planes adaptados a cada nivel de soporte y facilitar el aprendizaje gradual.

Por último, a pesar de que desarrollar un plan de capacitación puede parecer sencillo en teoría, en la práctica resulta complicado encontrar tiempo para que los equipos de Dev y Ops aprendan nuevas habilidades sin afectar su rendimiento actual o los SLAs. La toma de decisiones sobre cómo equilibrar las actividades de desarrollo y operaciones es una tarea desafiante que necesita un 'coach' que entienda el contexto y minimice el impacto en el negocio.

En resumen, la transformación de personas en el contexto de DevOps es un proceso complejo que no sigue una fórmula predefinida. Crear equipos DevOps unificados no es una tarea sencilla, pero prestando atención a los detalles y con la orientación adecuada de un buen 'DevOps coach', se pueden maximizar los beneficios que DevOps trae a cualquier aplicación.

  • DevOps
  • CICD
  • Automatización