6 claves para liberar el valor de DevOps

Por: Brian Dawson

Cuando se habla de software hoy en día, hay dos cosas claras:

  1. Se está volviendo un valor real en las empresas, grandes y pequeñas, ayudándoles a transformar los procesos y creando nuevos modelos de negocios basados en aplicaciones.
  2. Las organizaciones de TI en las empresas líderes del mercado se comprometen a entregar el software de la manera correcta, abarcando el espíritu de las prácticas populares como la integración continua, la entrega continua y DevOps.

Hacer DevOps correctamente puede ser un gran catalizador para una organización. Pero hacerlo incorrectamente puede ser contraproducente y puede costarle en muchos aspectos a la organización. Aquí hay un vistazo a cerca de qué es DevOps y cómo hacerlo correctamente.

Definiendo DevOps

Me gusta pensar en DevOps, la integración y la entrega continua como si fueran hermanos de entrega de software, todos descendientes de los movimientos Agile y Lean que apuntan a agilizar los procesos. Entre estos hay algunas diferencias. La integración continua se centra en procesos como compilaciones automatizadas y cambios rápidos en el lado izquierdo del proceso de entrega; la entrega continua cubre las mejores prácticas que se mueven a través del Pipeline hasta la producción; y DevOps se enfoca en el cambio organizacional necesario para apoyar la colaboración entre funciones. Pero todos se atan juntos.

En un alto nivel, DevOps es un término cultural. Usted consigue DevOps cuando crea una cultura de desarrollo de software respaldada por prácticas técnicas. Dentro de una cultura de DevOps, las partes interesadas en el desarrollo de software tienen comprensión y empatía mutuas, de modo que están alineadas con los objetivos compartidos de lanzar software de calidad rápida y continuamente.

¿Se puede hacer una integración continua y/o una entrega continua de manera correcta y aún no alcanzar DevOps? Absolutamente. La integración continua y la entrega continua son prácticas que puede implementar, e incluso, hasta cierto punto, dominar, sin afectar realmente el cambio cultural necesario para convertirse en una organización DevOps.

Por otro lado, no se puede hacer DevOps correctamente sin incorporar los componentes básicos de la integración continua exitosa y las prácticas de entrega continua. Como le gusta decir a Jez Humble, podría implementar procesos DevOps utilizando un script Bash: DevOps no prescribe esencialmente las prácticas de los componentes. Pero, para implementar DevOps de manera sostenible, continua y escalable, se requieren compromisos de integración continua y entrega continua.

Implementar correctamente DevOps

En los últimos años se ha escrito mucho intentando identificar signos de que su organización está implementando DevOps bien o mal. Algunas de las características más populares asignadas a las organizaciones eficaces de DevOps es que tienen estrategias DevOps claramente definidas y pueden establecer medidas de «sentido común» para identificar cuando las cosas salen mal. Algunos de los indicadores clave para las implementaciones de DevOps incorrectas incluyen no tener tolerancia al error y tratar de preparar procesos de prueba al final de la implementación.

Me gustaría resumir la evaluación a las siguientes seis recomendaciones, todas enfocadas en lograr una cultura DevOps:

  1. Definir un proceso holístico, de principio a fin.

Las culturas de DevOps exitosas se centran en el negocio, los desarrolladores, testers y los equipos de operaciones de TI que trabajan juntos en torno a objetivos compartidos. Ellos dan su opinión acerca de cómo iniciar el proceso, construir un pipeline exitoso, implementar un proceso de entrega y medir los resultados.

  1. En primer lugar, lograr con éxito DevOps dentro de un grupo

Antes de intentar lograr DevOps en toda su organización, debe asegurarse de que funcione en una escala micro, asegurándose de que haya una adopción y una aceptación de los gerentes clave de arriba hacia abajo. La participación de la gerencia puede ser difícil y requerir mucho tiempo al inicio de una implementación, pero se requerirá para lograr con éxito una transformación en toda la organización. Esto va a afectar los plazos, los presupuestos y la organización.

  1. Asegure que su organización esté libre de silos.

No todas las organizaciones pueden eliminar los silos organizacionales. Sin embargo, al involucrar y alinear a todas las partes interesadas en el proceso de entrega, en todos los departamentos puede crear equipos de productos virtuales (o reales), lo que reduce el impacto de los silos organizativos. Esto ayudará a establecer la empatía entre los diferentes equipos de la organización e impulsará una cultura de colaboración y retroalimentación.

  1. Asegure que las personas correctas tengan asientos en la mesa

Si intenta crear una estrategia DevOps con los aportes de cada equipo y grupo funcional dentro de la organización, puede verse envuelto en una complejidad abrumadora (parálisis de análisis) y nunca comenzar realmente. Para que su transformación se desarrolle rápidamente, es mejor reducir el alcance, centrar la implementación inicial en uno o en algunos proyectos. Una vez que tenga éxito con esos, comience a escalar DevOps de manera paulatina en todos los equipos, incorporando nuevos aportes en el camino. Le recomiendo que comience por reunir representantes como la administración y un colaborador individual de cada uno de nuestros procesos y grupos: un representante de administración de la empresa, un administrador de gestión de proyectos, un desarrollador líder de un equipo de desarrollo y un desarrollador real. Los colaboradores individuales son integrales, ya que solo ellos pueden identificar verdaderamente los dolores de la experiencia y deben ser mejorados. Esto también crea la necesaria empatía y la aceptación en el terreno.

  1. No trate de «comprar DevOps»

Algunas organizaciones operan con la creencia de que pueden comprar un conjunto de herramientas que las convertirán en una organización DevOps. No caiga en esta trampa. Las herramientas son una parte fundamental de la conexión de equipos a través de silos y permiten la automatización que admite DevOps, pero las herramientas por sí solas no resolverán su problema. Debe hacer todo el trabajo duro para crear la cultura y crear un bucle en todos los aspectos importantes de la integración continua y la entrega continua para garantizar que las herramientas estén haciendo su trabajo.

 

  1. Asegure medir con éxito su progreso

Una cultura DevOps efectiva incluye un compromiso para medir resultados e informar sobre métricas cuantificables. Para mantener el nivel de entrega, debe desarrollar la capacidad de hacer estas cosas y realizar un seguimiento continuo de su progreso hacia esos objetivos.

Por ejemplo, los procesos de entrega de software menos óptimas tienden a generar horas extraordinarias significativas. Los ingenieros de operaciones y otros miembros del equipo tienden a trabajar largas horas para implementar el software. Por lo tanto, la medición de las horas del equipo con el objetivo de reducir las horas extras de trabajo en un 50-75% incluirá la cantidad correcta de disciplina y ayudará a promover una cultura de excelencia.

Desventajas de implementar DevOps mal

Hay consecuencias por hacer DevOps erróneamente:

  • En primer lugar, perderá oportunidades. El mercado de hoy se está moviendo rápidamente, y todas las compañías seguramente tienen competidores que están implementando DevOps correctamente. Están innovando y ganando ventaja en el mercado. Si pasa tiempo enfocándose en una implementación fallida o fuera de lugar de DevOps, hay un costo de oportunidad significativo asociado con eso.
  • También hay costos internos. Si una iniciativa DevOps fracasa, la moral se resiente y los líderes de TI pueden tener dificultades para obtener la aceptación necesaria para otra transformación de DevOps.
  • Luego están los costos reales. Invertir en un proyecto DevOps defectuoso desperdicia dinero, tiempo y recursos de los empleados que podrían haber sido dirigidos a otra parte.

Ventajas de implementar DevOps correctamente

Por otro lado, las implementaciones exitosas de DevOps pueden generar un valor significativo en las siguientes áreas:

  • Empleados más felices: la creación de una organización DevOps eficiente y comprometida puede ayudar a las compañías a mantener y reclutar a los mejores talentos
  • Mayor productividad: menos tiempo perdido en el ciclo de vida del desarrollo del software se traduce en un valor mejorado en la corriente del software
  • Velocidad: la capacidad de innovar más rápido y al mismo tiempo mantener la calidad le da a la empresa una ventaja competitiva tremenda en el mercado

Conclusión

Para implementar DevOps correctamente, una organización necesita construir múltiples puentes, vincular personas, procesos, herramientas y objetivos organizacionales. Este es un trabajo duro. No se puede hacer rápidamente, pero se puede hacer si las organizaciones se comprometen a crear una cultura DevOps adecuada. No se aparezca un día y diga que va a hacer DevOps. Utilice los conceptos de integración continua y entrega continua como bloques de construcción y haga que el resto de la organización se reúna en torno a su visión. Establece dónde estás hoy, a dónde quieres ir y cómo vas a llegar allí. ¡Entonces estás en tu camino!

Link: https://www.cloudbees.com/blog/six-ways-to-unlock-value-devops

Scroll hacia arriba