Ir al contenido principal

Métricas DORA

Implementarlas o no implementarlas, esa es la cuestión

¿Qué son las métricas DORA?


Las métricas DORA son cuatro, se utilizan para medir el rendimiento de los equipos de desarrollo de software. DORA es el acrónimo de DevOps Research and Assessment, un grupo de investigación de Google que ha identificado estas métricas como indicadores clave del éxito en la entrega de software.

Estas cuatro métricas son:

  • Frecuencia de despliegue
  • Tiempo de espera para cambios
  • Tiempo medio de recuperación
  • Tasa de errores de cambio

 

Beneficios
 
  • Impulsan la mejora continua
  • Proporcionan una visión objetiva del rendimiento de los equipos de desarrollo
  • Identifican áreas de mejora
  • Facilitan tomas de decisiones

Hasta aquí existe cierta unanimidad en que la implantación es deseable e incluso necesaria.
 

Dificultades
 

La implementación de las métricas no es fácil, hay una complejidad inherente que pasa por gestionar la disparidad de equipos, distintas herramientas que estos utilizan así cómo el proceso de ingestión de datos, almacenamiento de estos, gestionar la creación y visualización de las métricas y gestionando en todo momento qué usuarios tienen acceso a qué información.
Es decir, se necesita elegir el alcance, crear un proyecto, decidir una solución, estimarla e implementarla.

Una de las cosas más complicadas es conseguir convencer a los actores clave (normalmente la persona con el sombrero de CTO) de la necesidad de implantar esta iniciativa por delante de otras iniciativas, siempre importantes, que están en su cartera.

 
Tipos de solución
 
  • Soluciones comerciales: Existen multitud de soluciones comerciales que calculan de forma “automática” las métricas DORA. Son ideales en caso de que ya se disponga de una solución desplegada parcialmente o se esté ligado a una suite de soluciones y exista una herramienta en la suite que proporcione las métricas “con un esfuerzo reducido”. Por supuesto uno de los costes es la licencia.
  • Solución Open Source: Existen soluciones Open Source que permiten acelerar la implementación de de las métricas así cómo su mantenimiento. La herramienta más madura y que tiene el soporte de Apache Foundation es DevLake.
  • Solución a medida: No tiene coste de licencia, pero a cambio requiere implementar y mantener una solución.

La mejor elección para cada organización dependerá de varios factores, cómo presupuesto, suite actual de herramientas, capacidad técnica …

Calcular el ROI


Suponiendo que sea la persona encargada de decidir si hay que implementar las métricas DORA en mi organización, para responder a la pregunta de si debo o no debo implantarlas la herramienta que más me va a ayudar es calcular el Retorno de la Inversión (ROI).
 
Vamos a ver un ejemplo ilustrativo:
 
Costos             Herramienta (DevLake) 0€
                          Implementación 200h
                          Capacitación 100h
                          Consultoria 20h  
 
Beneficios       Aumento anual de la a productividad de un X% + Intangibles
 
 
Existe siempre la dificultad de traducir los costos y beneficios a la misma unidad, normalmente €.

Finalmente se realiza el cálculo Beneficios – Costos y si este es positivo entonces será necesario ver si el coste oportunidad de esta iniciativa es superior al resto de oportunidades que existan encima de la mesa.
 
La X es el punto más controvertido de este artículo, sin lugar a duda. Si bien el autor no espera que se haga un acto de fe, si que la experiencia propia me hace decir que hay una relación evidente entre el hecho de la mera existencia de las métricas y el aumento de la eficiencia de los equipos que las usan.
 
Es importante tener en cuenta también los beneficios intangibles, como la mejora de la moral del equipo, la mayor satisfacción del cliente y el fortalecimiento de la cultura de DevOps.
 
En definitiva, no hay una respuesta directa para la pregunta de si hay que implementar las métricas o no en una organización. Hay que estudiar bien si es el momento, ver cómo es la mejor manera de hacerlo. Sin duda los beneficios potenciales hacen que valga la pena al menos, estudiarlo.
 
 
Marçal Nebot, Senior Specialist (DevOps/Agile)