Icono del sitio Profile Software Services

Cómo implementar las métricas DORA para mejorar el rendimiento de tu equipo de desarrollo

Métricas DORA en el desarrollo de software

Medir y mejorar el rendimiento de un equipo o un proceso es un objetivo que desde que existe la industria se persigue, con diferentes enfoques. Ya sea en fábricas donde se mide el rendimiento de una cadena de construcción, o, en nuestro caso, en equipos de desarrollo software. Pero para poder medir y tomar decisiones conforme a datos, primero hay que analizar. Analizar y decidir qué KPIs (Key Performance Indicator) vamos a usar y cómo. En este post vamos a analizar cuatro métricas bien conocidas y establecidas en el mercado, basadas en métricas DORA (DevOps Research and Assessment) y qué podemos hacer en nuestro día a día para mejorar, desde el mismo momento que estás leyendo estas líneas.

¿Qué son las Four Key Metricts o Métricas DORA?

Las cuatro métricas clave (Four Key Metrics) o Métricas DORA, no son unos KPIs al uso. Indicadores que nos ayudan a tomar buenas decisiones para mejorar el rendimiento organizativo pero también son buenos indicadores que nos alertan en caso de deterioramiento del proceso y prácticas de desarrollo software. Estas cuatro métricas están categorizadas en dos áreas para medir tanto el rendimiento del proceso de desarrollo (cuánto entregamos) y la estabilidad de lo que entregamos (cómo lo entregamos). Los estudios demuestran que equipos que son top-performers en las cuatro métricas, lo son en conjunto, ya que están correlacionadas, tal y como veremos ahora, así como las prácticas recomendadas para mejorar cada una de ellas.

Throughput

La primera categoría sobre la que se definen dos de las cuatro métricas claves es el «throughput«, que podríamos traducir como rendimiento o la velocidad de realizar cambios en entornos productivos en nuestro software. Tenemos los dos siguientes KPIs:

Frecuencia de despliegue (Deployment Frequency)

Está métrica nos indica cómo de frecuentemente estamos desplegando o haciendo releases en producción. Se considera que un equipo que entrega frecuentemente tiene un proceso de delivery muy maduro y resistente. Hay dos puntos importantes para conseguir mejorar nuestra frecuencia de despliegue:

Tiempo de entrega de cambios (Change Lead Time)

Esta métrica mide el tiempo que tarda un commit o un cambio en llegar a producción. Es diferente del tiempo de ciclo (realmente engloba el change lead time). Un buen valor aquí significa un proceso de entrega de software muy maduro. Lo primero que tendríamos que hacer para mejorar en esta métrica es analizar nuestro proceso completo de entrega de código y detectar aquellos puntos de desperdicio (el famoso «waste» que Lean nos indica) para erradicarlos. Algunos puntos típicos donde podemos mejorar desde hoy mismo:

No tenemos que caer en el error de pensar que cuanto más entreguemos, mejor. Podemos tener un proceso muy fino en el que entregamos software en producción frecuentemente pero, sin embargo, son todo fixes a problemas encontrados. ¿Somos entonces realmente eficientes aunque el KPI nos diga que sí? ¿De qué vale que un equipo esté constantemente entregando si al usuario no llega verdadero valor o el sistema no es estable? Por eso, es importante también trabajar en los dos siguientes KPIs.

Estabilidad

Bajo este paraguas vamos a medir dos aspectos claves: qué calidad tiene lo que entregamos a los usuarios y cómo de preparado está el equipo para reaccionar ante un problema.

Tiempo medio de restauración (o MTTR Mean Time To Restore)

Con esta métrica medimos el tiempo que tardamos en recuperar el sistema de un despliegue fallido (o el despliegue ha ido bien pero hemos introducido un bug crítico por ejemplo). Si el tiempo de recuperación es pequeño, indica que somos capaces de responder rápido y bien. ¿Cómo mejorar? La primera respuesta es, por supuesto, infraestructura. Tenemos que tener las herramientas necesarias para hacer rollback de forma transparente al usuario lo más rápido posible. ¿Es esto suficiente? No. Esto es solo la mitad de la solución. No nos sirve de nada tener la mejor infraestructura del mercado si el problema o la orden de hacer rollback tarda o no llega al equipo. Posibles acciones:

Tasa de fallo de cambio (Change Failure Rate)

Esta métrica nos indica el porcentaje de despliegues que han dado error en producción y hayan requerido hotfixing o rollbacks. Podemos tener una gran velocidad respondiendo ante los errores, pero si, por ejemplo, el 50% de nuestros desplieguen dan error, tenemos un grave problema. ¿Qué podemos hacer para reducir este valor?

Conclusión sobre Métricas DORA

Las métricas DORA, bien interiorizadas, y con buenas prácticas de DevOps en el equipo, hará que de forma natural mejore el rendimiento, el bienestar de los miembros y la confianza en el mismo. Primero hay que medir para saber dónde estamos, y luego intentar aplicar algunos de los puntos que hemos comentado. La mejora de tiempos llegará de forma natural.

¿Quieres mejorar el rendimiento de tu equipo de software? Contáctanos y te ayudaremos a implementar las mejores prácticas.

Síguenos en Redes Sociales y Canal de YouTube para mantenerte al tanto en lo último en programación, tecnología, Agile y ¡mucho más!

Salir de la versión móvil