Cómo abordar los indicadores de DevOps

Copiar URL

Los indicadores de DevOps realizan un seguimiento de la eficacia de las prácticas de DevOps, las cuales están relacionadas con el desarrollo de software y las operaciones de TI. DevOps tiene como objetivo distribuir software con mayor rapidez, confiabilidad y estabilidad. Prioriza las herramientas de autoservicio, la automatización y la comunicación, y se centra en la productividad y la satisfacción de los desarrolladores.

Si invertiste en DevOps, te resultará útil que un conjunto de indicadores uniforme supervise tu progreso. La preferencia en cuanto al enfoque dependerá de lo que consideres importante para tu empresa. ¿Quieres medir el resultado del software o el estado de tus equipos? En este artículo, analizaremos dos de los marcos más conocidos: DORA, que se centra en el software, y SPACE, que se centra en los equipos.

DevOps impulsa una cultura de mejora permanente. La decisión sobre los aspectos que deseas mejorar y la manera en que medirás esa mejora es un paso estratégico fundamental. Para comprender los indicadores de DevOps, es importante conocer dos marcos: DORA y SPACE. 

Como el objetivo principal de DevOps es agilizar el lanzamiento de software funcional, recomendamos priorizar las mediciones relacionadas con esta finalidad. Los indicadores de DORA (investigación y evaluación de DevOps) se ajustan a este caso.

No obstante, DevOps implica mucho más que la frecuencia con la que el software funcional llega a los usuarios. También puedes evaluar cualidades como la satisfacción y la colaboración del equipo. SPACE (satisfacción, desempeño, actividad, comunicación y colaboración, y eficiencia) se centra en los indicadores relacionados con el equipo.

Estos distintos marcos para medir el enfoque DevOps reflejan diferentes ideas sobre qué es importante medir, pero no reflejan una elección binaria. Ambos marcos pueden complementarse entre sí y medir distintas partes de tus objetivos de DevOps. 

DORA

Los indicadores de DORA provienen del programa de investigación DORA, que cuenta con el respaldo de Google Cloud. En 2020, el programa DORA definió "cuatro indicadores clave" para medir el rendimiento de un equipo de desarrollo de software:

  • La frecuencia de implementación, es decir, cada cuánto tiempo una empresa lanza software a la fase de producción con éxito. Para esta medición, debes definir qué se considera una implementación exitosa. Una vez que los hagas, puedes hacer un cálculo, como la cantidad promedio de días por semana en que se logró al menos una implementación exitosa.
  • El plazo de ejecución de los cambios, es decir, el tiempo necesario para que un cambio confirmado pase a la fase de producción. Para esta medición, debes realizar un seguimiento del momento en que se confirmó el cambio y del momento en que se implementó.
  • La tasa de fallas de los cambios, es decir, el porcentaje de implementaciones que generaron una falla en la producción. Para calcularlo, debes conocer la cantidad de implementaciones realizadas y el número de errores o incidentes informados, como en un sistema de gestión de problemas.
  • El plazo de restauración del servicio, es decir, el tiempo que lleva recuperarse de una falla en la fase de producción. Necesitarás llevar un registro de las fechas de creación y de resolución para cada incidente, lo cual se puede obtener de un sistema de gestión de incidentes.

El año siguiente, se agregó un quinto indicador clave:

  • La confiabilidad, que abarca la disponibilidad, la latencia, el rendimiento y la capacidad de ajuste. El marco DORA mide la capacidad de una empresa para cumplir o superar sus objetivos de confiabilidad.

El enfoque de esta investigación y conjunto de indicadores es mejorar el impacto en las empresas. Los equipos pueden hacer un seguimiento del rendimiento del software al extraer los datos de los canales de software e incorporarlos a un panel para supervisar su progreso a lo largo del tiempo. El marco DORA también asigna clasificaciones de rendimiento (elite, alto, medio y bajo) según los niveles de cada indicador.

Una ventaja importante del marco DORA es que se basa en mediciones fácilmente disponibles en herramientas que los equipos de software ya utilizan, como GitHub, GitLab y los sistemas de gestión de incidentes. Tendrás que recopilar los indicadores y visualizarlos en paneles, pero los datos ya existen.

SPACE

El marco SPACE para los indicadores de DevOps busca capturar distintos aspectos relacionados con la productividad. Un equipo de investigadores presentó SPACE en un artículo de 2021. Argumentaron que el trabajo de ingeniería es demasiado complejo para capturarlo en un solo aspecto o indicador. El desarrollo de software requiere de ciertas concesiones, por lo que los equipos necesitan adoptar un enfoque integral que incluya más elementos de su trabajo.

El marco SPACE incluye cinco dimensiones diferentes para medir:

  • La satisfacción y el bienestar, que buscan medir cómo se sienten los desarrolladores en relación con su trabajo y su nivel de gratificación y comodidad. Para realizar esta medición, es posible que se deban recopilar datos a través de encuestas sobre la satisfacción del personal, los niveles de agotamiento debido al estrés laboral y el grado de accesibilidad a las herramientas y los recursos por parte de los desarrolladores.
  • El rendimiento, es decir, el impacto que produce un sistema o proceso (diferenciado del resultado inmediato). Esta medición implica mucho más que solo el volumen de código implementado o el impacto empresarial que produce. El rendimiento se mide por la calidad, como la confiabilidad del código o el estado actual del servicio, y el impacto, como la satisfacción de los clientes o su incorporación y conservación.
  • La actividad, que permite hacer un seguimiento de las acciones o los productos finales completados en el curso de la realización del trabajo. Puedes registrar los niveles de actividad de los desarrolladores de muchas maneras, como la cantidad de confirmaciones de cambios en el código o lanzamientos, pero el marco SPACE insiste en no utilizar estas mediciones de forma aislada.
  • La comunicación y la colaboración, que juntas permiten registrar la forma en que las personas y los equipos comparten información y trabajan en conjunto. Algunos indicadores que pueden ayudar a medir la comunicación, la colaboración y la coordinación son el descubrimiento de documentación y el conocimiento; la rapidez con la que se integra el trabajo; la calidad de las revisiones del trabajo; los indicadores de la red, que muestran las personas conectadas; y el tiempo de incorporación de los nuevos integrantes.
  • La eficiencia y el flujo, que miden la capacidad para completar un trabajo o lograr avances con interrupciones o demoras limitadas. SPACE sugiere medir la eficiencia y el flujo con indicadores como la cantidad de delegaciones de tareas en un proceso, la capacidad percibida para sostener el flujo y completar el trabajo, las interrupciones y las medidas de tiempo a través de un sistema.

Puedes medir cada uno de los indicadores de SPACE y hacer un seguimiento de ellos en relación con cada persona, los equipos o el sistema.

El marco SPACE intenta ampliar las formas en que los equipos piensan sobre DevOps, alejándose de la simple medición del resultado inmediato hacia un panorama integral de la productividad. Es posible que sea necesario crear nuevos procesos, como encuestas, para recopilar indicadores que aún no existan, como los niveles de satisfacción de los desarrolladores.

Los indicadores de DevOps que decidas utilizar deben reflejar tus prioridades específicas y basarse en datos que puedas medir en la práctica. Algunos de ellos podrían centrarse en los resultados inmediatos, como la velocidad y la calidad del software distribuido, tal como sucede con el marco DORA. O bien, podrían estar dirigidos a las complejas concesiones que deben realizar los desarrolladores de software para aumentar su productividad, como en el marco SPACE.

Para elegir los aspectos que te conviene medir, puedes plantearte las siguientes preguntas:

  • ¿Cuáles son tus objetivos empresariales? Los objetivos pueden estar orientados a mejorar la velocidad, la confiabilidad o la resistencia. También puedes tener más interés en ofrecer una experiencia integral para los desarrolladores, que incluya su satisfacción, la eficiencia y una colaboración más sencilla.
  • ¿Qué datos puedes recopilar? Tus canales de integración y distribución continuas (CI/CD) pueden ser la mejor fuente de información sobre la forma en que los cambios en el software llegan a los usuarios. Sin embargo, es posible que también debas usar encuestas para recopilar datos cualitativos.
  • ¿Tus sistemas de automatización y comunicación funcionan de manera eficaz? Para registrar los indicadores de DevOps, debes poder supervisar los bloqueos, la comunicación entre las distintas funciones del equipo y la toma de decisiones. Asegurarte de que tus sistemas de DevOps funcionen según lo planeado puede ser el primer paso para obtener datos confiables sobre los factores que deseas medir.

DevOps está relacionado con la ingeniería de plataformas, que se ocupa de las plataformas y las herramientas internas que posibilitan los flujos de trabajo de DevOps. Algunos indicadores que permiten evaluar el rendimiento de DevOps se extraen de las herramientas de la ingeniería de plataformas. La disciplina de la experiencia de los desarrolladores (DevEx) también se refleja en los indicadores de DevOps. 

La ingeniería de plataformas busca mejorar la experiencia de los desarrolladores aliviando la carga de trabajo de los equipos de desarrollo. Proporciona una plataforma interna para desarrolladores (IDP), que brinda un conjunto de herramientas y funciones comunes y reutilizables. Los ingenieros de plataformas se ocupan de diseñar y mantener los planes de referencia, que son métodos bien documentados y con soporte de diseño e implementación del software según los estándares de la empresa.

Las opciones que informan la IDP, los planes de referencia y otros elementos relacionados están fuertemente conectados con los indicadores de DevOps. Cuando estableces los procesos para que DevOps sea eficaz, también defines los aspectos importantes y lo que se puede medir en la práctica. Por ejemplo, el canal de CI/CD será tu fuente de información sobre las confirmaciones de los cambios en el código y los lanzamientos de software.

Red Hat cuenta con plataformas, herramientas y servicios de consultoría para ayudarte a medir la productividad de DevOps.

Red Hat OpenShift

La plataforma en la que ejecutas tus aplicaciones influirá en el éxito de tu estrategia de indicadores de DevOps. Red Hat® OpenShift® proporciona una plataforma uniforme para los entornos locales, de nube y del extremo de la red. Admite los flujos de trabajo de CI/CD a través de los operadores de Red Hat OpenShift GitOpsRed Hat OpenShift Pipelines. Por otro lado, Red Hat OpenShift Observability brinda un panorama completo del rendimiento y el estado de tus aplicaciones.

Red Hat Advanced Developer Suite

En consonancia con el enfoque de DevOps para mejorar la productividad, Red Hat Advanced Developer Suite potencia las funciones de Red Hat OpenShift, ya que proporciona los elementos esenciales para aumentar la productividad de los desarrolladores, reforzar la seguridad de la cadena de suministro de software y respaldar el desarrollo basado en la inteligencia artificial.

Red Hat Developer Hub

Red Hat Developer Hub es un portal interno para desarrolladores que está incluido en Red Hat Advanced Developer Suite. Consolida visualmente las herramientas y los servicios para los desarrolladores, desde los catálogos y la documentación de los servicios hasta los canales de CI/CD, en un único centro accesible, lo que mejora significativamente la experiencia de los desarrolladores y la productividad de la empresa.

Red Hat Consulting

Los especialistas en tecnología de Red Hat Consulting pueden respaldar tus programas de DevOps con colaboración práctica. Con técnicas como los planes de servicio y la planificación de procesos basada en indicadores (MBPM), los consultores pueden ayudarte a comprender mejor tus flujos de trabajo y a medirlos.

Recurso

El estado de la ingeniería de plataformas en la era de la inteligencia artificial

En este informe, encontrarás un resumen completo de la encuesta "El estado de la ingeniería de plataformas en la era de la inteligencia artificial", realizada por Illuminas. Obtén más información.

Red Hat Advanced Developer Suite

Potencia la productividad de los desarrolladores y la seguridad de las aplicaciones con un conjunto de soluciones que complementa las funciones de Red Hat® OpenShift®.

Más información

¿Qué es la observabilidad?

La observabilidad es la capacidad de supervisar, medir y conocer el estado de un sistema o una aplicación mediante la evaluación de sus resultados, registros e indicadores de rendimiento.

What is multi-cloud GitOps?

GitOps is a set of principles that guide your workflow and enables you to implement continuous deployment (CD) for cloud native applications. It helps you manage your cluster configuration and application deployments by introducing automation to a previously manual process.

¿Qué es un flujo de trabajo de GitOps?

Se trata de un enfoque moderno de desarrollo e implementación de software en el que todo el ciclo de vida de la infraestructura y las aplicaciones se gestiona a través de repositorios de Git como única fuente de información.

DevOps: lecturas recomendadas