~ 4 min de lectura

📐 Métricas II: DORA

Cuatro métricas clave para medir la eficiencia del delivery de un equipo.

Cuatro métricas clave para medir la eficiencia del delivery de un equipo.

Segunda parte de esta serie de cuatro sobre métricas. Hoy repasamos DORA, el marco más conocido y pionero.

DORA proviene de las siglas DevOps Research Assessment, del conocido libro Accelerate, en el se detalla un estudio realizado sobre 25mil organizaciones para identificar las métricas que tenían más impacto para definir el rendimiento de los equipos y su delivery.

La idea e importancia de estas métricas es la de proveer una forma de medir y hacer seguimiento de como funciona una organización. La clave, dar información para establecer medidas o cambios accionables para corregir el rumbo. Organizaciones que llevan a buen termino la aplicación de estas métricas tienden a tener equipos de desarrollo de alto rendimiento.

Las cuatro métricas son:

  1. Lead time for changes: mide el tiempo que tardan los cambios de código en pasar de desarrollo a producción.
  2. Deployment frequency: mide con qué frecuencia se implementan cambios de código en producción.
  3. Mean time to restore (MTTR): mide cuánto tiempo se tarda en restaurar el servicio después de que ocurre un incidente de producción.
  4. Change failure rate: mide el porcentaje de cambios de código que resultan en un incidente de producción.

Además de estas métricas, en Accelerate, los autores, establecen una serie de capacidades que debería tener la organización y sus equipos que mejoran el performance y la capacidad de delivery. Se trata de 24 capacidades divididas en 5 aspectos:

24 capacidades

1. 🛠️ Continuous Delivery:

  • 👨‍💻 Control de versiones
  • 🤖 Deployment automatizado
  • ✔️ Implementar integración continua
  • 🌳 TBD (Trunk based Development)
  • 🧪 Automatización de pruebas
  • 🗃️ Gestión de datos de prueba, en un ámbito en el que las pruebas son tan improtantes, es necesario mantener un buen conjunto de datos
  • 🔒 Integrar el checkeo de aspectos de seguridad de software en las fases de diseño y testing
  • 📦 Implementar Continuous Delivery

2. 🏛️ Architecture

  • ⛓️ Arquitectura muy poco acoplada
  • 💪 Empoderar a los equipos para elegir las herramientas.

3. 📋 Product and Process

  • 📣 Recopila e implementa formas de recoger el fedback del cliente
  • 👀 Genera el Value Stream Mapping para que el equipo lo entienda
  • 📦 Trabaja con entregables lo más pequeños posible que aporten valor o proporcionen feedback
  • 💡 Fomenta y habilita la experimentación del Equipo

4. 🪴 Lean Management and Monitoring

  • ✅ Procesos de aprobación de cambios Ligero
  • 📈 Monitoriza a través de la aplicación e infraestructura para informar decisiones de Negocio
  • 💻 Verifica proactivamente la salud del sistema
  • 📝 Mejora los Procesos y limita el (WIP)
  • 📌 Utiliza dashboards y herramientas visuales para que el equipo esté informado

5. 🌈 Culture

  • 👥 Apoya una cultura generativa: comunicación de la información, cooperación, confianza, unión entre equipos e investigación consciente.
  • 🧠 Fomenta el aprendizaje
  • 🤝 Fomenta y facilita la comunicación entre equipos
  • 🎯 Proporciona herramientas y recursos que hagan que el trabajo retador, significativo y valioso
  • 🚀 Apoya o encarna el liderazgo transformacional: visión, estimulación intelectual, comunicación inspiradora, liderazgo de apoyo y reconocimiento personal.

🧠 Conclusión

Como decía en el post anterior, mi approach hacia las métricas se enfoca en la parte accionable a nivel de carrera, experiencia y rumbo del equipo, por tanto si bien pueden dar una visión bastante positiva de como funcionan los equipos a nivel de delivery, en mi opinión está muy centrada en la producción. Estas 4 métricas, se centran poco en el equipo, no dan información ni miden la experiencia del equipo en el día a día y en como afecta esta a la productividad.

Creo que son unas métricas interesantes, pero en mi opinión, no deberían ser el foco. El foco debería establecerse en otro tipo de acciones que acaben provocando una reacción en cadena que estimule esas 4 métricas, en la dirección que deseemos. Ambos aspectos en conjunto son los que generarán interpretaciones y en consecuencia, acciones a aplicar si es necesario.

Me quedo con las 24 capacidades como una lista de aspectos útiles, pero como en todo, el contexto es necesario y si bien pueden aplicar en muchos, no tiene porque hacerlo en todos, o ni siquiera ser relevantes según el entorno.

Seguiremos profundizando con el framework SPACE y el más reciente paper sobre un nuevo framework denominado DevEx.

📖 Recursos

📑 📐 Métricas I: Introducción y opinión

📚 Accelerate

📚 Team Topologies: Organizing Business and Technology Teams for Fast Flow

📚 The Phoenix Project

📑 24 Key Capabilities to Drive Improvement in Software Delivery