If you take a glance at LinkedIn, Twitter, or any tech-focused social content these days you're bound to see people talking about something called "DORA metrics".
So what are DORA metrics? What value do they provide? And how can you get started with them?
The DevOps Research and Assessment Group (DORA) are a group run out of Google who run surveys and do research into what makes organizations successful in the Digital Age. They're probably most well known for their yearly State of DevOps reports and the book Accelerate.
In a nutshell, the world we live in has changed. Technology is now the backbone of how most organisations generate value, and the systems we build and operate are increasingly complex, distributed and changing. Some organisations thrive in these conditions, whereas others struggle. DORA looks into what characteristics or conditions have contributed to those organisations who are succeeding.
Fairly early on in its existence, DORA identified four key indicators of high performing organizations and teams, which are referred to as the four "DORA Metrics":
- Deployment frequency: How frequently do you make changes to production? High performing organisations release small batches of change frequently, sometimes multiple times a day.
- Lead time: The duration between code committed until it is running in production.
- Change failure rate: What percentage of changes made to production caused degraded service to your customers?
- Time to restore: After a core application or service outage, how long does it take to restore?
In recent years, DORA have added a fifth metric:
- Reliability: How available is our service to customers? How well does it perform? And does it function as intended (correctness)?
Taking the time to measure DORA metrics for your team or organization allows you to better understand how effective you are at delivering and operating software.
They are not a concrete framework that you can just mindlessly apply, there still needs be some careful thought put into exactly what you measure. For example, for change failure rate, what is your definition of a major incident?
It's not about the absolute numbers you calculate, and it's not about comparing your team or organization to anyone else. It's more about:
- Taking the time to self-reflect on where you are at, and what areas you could improve in. No team is perfect, and every team has different priorities. It's about focusing on the areas which will most help the organization achieve its objectives.
- Gathering data to start constructive conversations. Once you have numbers you can use them to support conversations with leadership. This might help you make a case for investment in operational improvement. (Be careful not to let these metrics be "weaponized" though...)
- Tracking change over time. Wherever you are today, the real value of DORA metrics is being able to track how this changes over time. Is your team improving? How have external circumstances impacted your ability to deliver and operate?
- To bring teams together. Providing a common language to discuss delivery and operational performance enables collaboration within and between teams.
In essence, DORA metrics provide you a starting point for discussion and an opportunity for self-reflection. They are not perfect, and the numbers should ultimately be taken with a grain of salt, but if they drive constructive conversations then they are serving their purpose.
We will explore how to practically measure DORA metrics in the next article, but be aware that measuring these metrics takes time to figure out...
- How you define the metric in your unique context
- Where the data resides to calculate each metric
- How you will extract the data to calculate each metric
- What you will do with the data once you have it (i.e. how can you leverage it to improve?)
Be sure to bring it all back to outcomes. What is your organization trying to achieve? And how can we ensure our teams are effectively about to contribute to those objectives?
For a more nuanced look at some things to watch out for when implementing DORA Metrics have a read of my article DORA Metric Considerations.
To see DORA Metrics in action check out Tim Wheeler's DORA Metrics blog in the Dashbard Gallery.
You can also watch Tim and I discuss DORA metrics in Slight Reliability Episode 53.