Table of Contents
What Are the DORA Metrics?
Let’s start from the beginning. DORA stands for DevOps Research and Assessment, a movement that started with a team of specialists who focused on analyzing the state of DevOps. Eventually, the company was acquired by Google and releases yearly reports on the DevOps topic. In 2018, DORA came up with four metrics to measure the performance of software development teams and evaluate the efficiency of their delivery capacities. This data helps DevOps and engineering leaders understand how to assess and improve delivery velocity and stability. DORA reports imply that there are four groups of development teams: low performers, medium performers, high performers, and elite performers. The metrics the DORA team offers categorize the development teams into these groups of performers.Four Key Metrics
So, what are the exact aforementioned metrics DORA focuses on?Deployment Frequency
Deployment frequency measures how often the team deploys code changes or releases software to end-point users. This metric helps to understand in what positions you stay in regarding continuous deployment which is considered one of the essentials of the DevOps process. According to the 2018 Dora report “Accelerate: State of DevOps”, elite performers deploy code multiple times per day, high-performing teams deploy between one time per hour to one time per day, and medium and low performers deploy between once per week to once per month.Lead Time for Changes
Lead time for changes measures how long it takes for your team to go from code commit to code released into production. You need to track two timestamps: the exact time of a commit and the exact time of deployment. The too-long gap between the two might reveal the inefficient development process you would want to improve. The DORA report states that elite performers’ lead time for changes should be less than one hour, while for low-performing teams it might take between one and six months. Low lead time for changes guarantees quick bug fixing, which is essential for Together with deployment frequency, lead time for changes represents the velocity your team is developing and deploying software.Time to Restore Service
This metric, also known as mean time to recovery, shows how much time your team requires to restore service in case of an outage or other incident happens. No software organization can guarantee the complete absence of outages, but each can get prepared to diagnose issues and resolve them quickly to reduce possible downtime. Elite performers are able to get back on track within one hour, high and medium performers need less than a day and low performers can be stuck restoring services from one week to one month.Change Failure Rate
Change failure rate shows what percentage of code changes result in failures like degraded service, outages, rollbacks, and other incidents. It gives a real impression of how stable the team works and what level of quality its software delivery is. Of course, the goal of every development team is to have a low percentage here. Elite, high and medium performers stay in the range of 0-15% of change failure rate, while low performers will have 46-60%.Why Are DORA Metrics Essential for Efficient Development Process?
Four DORA metrics are a measurable instrument the development and DevOps teams can use to improve performance. Here are the main advantages the proper usage of DORA metrics brings to the development teams.
As you can see, four DORA metrics can make a significant change for software development organizations and ensure DevOps success. Choosing a team that uses these metrics will give you a guarantee that your vendor knows not only how to develop software somehow, but how to streamline the DevOps processes, deliver business value instead of just committing code and handle an unplanned outage and production failures rapidly.
The Challenges of Implementing DORA Metrics
As with any other instrument, there is always a chance that it won’t reveal its full potential for various reasons. Here are the main challenges the team needs to overcome to have a positive experience with key DORA metrics.
Over-focusing on DORA Metrics
Though these metrics can contribute a lot to your software delivery process, it is not a magic wand that will resolve all your issues. Focusing on DORA metrics and making their improvement your end goal won’t lead to anything good. Your goal should be to constantly deliver value to customers, otherwise, it goes far beyond having a high deployment frequency or quick incident management system.
DORA metrics might be a great indicator to evaluate your team’s performance and give you an understanding of your capacities, but they should not obsess too much over them.
Comparing Different Teams’ Results
The DORA team offers us a gradation of teams based on their performance. However, you should understand that every team exists under different conditions, and has different people and even processes. Hence, understand every team’s and product’s context before assigning any label to any team.
Not Being Ready to Use DORA Metrics
It will make sense to implement the metrics when your team, documentation, and processes are mature enough. Again, do not use DORA metrics just for the sake of them: evaluate how their usage benefits your team and your client. If you are still taking the time to implement CI/CD, you might want to get back to DORA metrics later.
Not Tracking Data Properly
To have valid metrics, you need to track the data properly and ensure that everything is logged. It is essential for long-term analysis and seeing progress in dynamics, otherwise, your efforts won’t carry any weight.
In Conclusion
We use DORA metrics in our development process to find opportunities we can use to enhance the velocity and quality of our delivery. However, it is only a small part of our approach. We understand that every product and every client has different needs and goals, and we are always ready to leverage our experience, expertise, and processes to create the solution with the most value for your exact request.
FAQ