Why DORA Metrics Alone are Insufficient?

Consider a world where metrics and dashboards do not exist, where your work is free from constraints and you have the freedom to explore your imagination, creativity, and innovative ideas without being tethered to anything.

It may sound like a utopian vision that anyone would crave, right? But, it is not a sentiment shared by business owners and managers. They operate in a world where OKRs, KPIs, and accountability define performance. In this environment, dreaming and fairy tales have no place.

Given that distributed teams are becoming more prevalent and the demand for rapid development is skyrocketing, managers seek ways to maintain control. Managers have started favoring “DORA metrics” to achieve this goal in development teams. By tracking and trying to enhance these metrics, managers feel as though they have some degree of authority over their engineering team’s performance and culture.

But, here’s a message for all the managers out there on behalf of developers - DORA DevOps metrics alone are insufficient and won’t provide you with the help you require.

Before we understand, why DORA is insufficient today, let’s understand what are they!

The widely used reference book for engineering leaders called Accelerate introduced the DevOps Research and Assessment (DORA) group's four metrics, known as the DORA 4 metrics.

These metrics were developed to assist engineering teams in determining two things: A) The characteristics of a top-performing team, and B) How their performance compares to the rest of the industry.

The four key DORA metrics are as follows:

Deployment Frequency

Deployment Frequency measures the frequency of code deployment to production or releases to end-users in a given time frame. It may include the code review consideration as it assesses code changes before they are integrated into a production environment.

It is a powerful driver of agility and efficiency that makes it an essential component of software development. High deployment frequency results in rapid releases without compromising the software's robustness, hence, enhancing customer satisfaction.

Lead Time for Changes

This metric measures the time between a commit being made and that commit making it to production. It helps to understand the effectiveness of the development process once coding has been initiated.

A shorter lead time signifies the DevOps teams are efficient in deploying code while a longer lead time means the testing process is obstructing the CI/CD pipeline. Hence, differentiating elite performers from low performers.

Mean Time to Recover

This metric is also known as the mean time to restore. It measures the time required to solve the incident i.e. service incident or defect impacting end-users. To lower it, the team must improve their observation skills so that failures can be detected and resolved quickly.

Minimizing MTTR enhances user satisfaction and mitigates the negative impacts of downtime on business operations.

Change Failure Rate

Change failure rate measures the proportion of deployment to production that results in degraded services. It should be kept as low as possible as it will signify successful debugging practices and thorough testing and problem-solving.

Lowering CFR is a crucial goal for any organization that wants to maintain a dependable and efficient deployment pipeline. A high change failure rate can have serious consequences, such as delays, rework, customer dissatisfaction, revenue loss, or even security breaches. 

In their words:

“Deployment Frequency and Lead Time for Changes measure velocity, while Change Failure Rate and Time to Restore Service measure stability. And by measuring these values, and continuously iterating to improve on them, a team can achieve significantly better business outcomes.”

Below are the performance metrics categorized in

  • Elite performers
  • High performers
  • Medium performers
  • Low performers

for 4 metrics –

Use Four Keys metrics like change failure rate to measure your DevOps  performance | Google Cloud Blog

What are the Challenges of DORA Metrics?

It Doesn't take into consideration all the Factors that Add to the Success of the Development Process

DORA metrics are a useful tool for tracking and comparing DevOps team performance. Unfortunately, it doesn't take into account all the factors for a successful software development process. For example, assessing coding skills across teams can be challenging due to varying levels of expertise. These metrics also overlook the actual efforts behind the scenes, such as debugging, feature development, and more.

It Doesn't Provide Full Context

While DORA metrics tell us which metric is low or high, it doesn't reveal the reason behind it. Suppose, there is an increase in lead time for changes, it could be due to various reasons. For example, DORA metrics might not reflect the effectiveness of feedback provided during code review. Hence, overlooking the true impact and value of the code review process.

The Software Development Landscape is Constantly Evolving

The software development landscape is changing rapidly. Hence, the DORA metrics may not be able to quickly adapt to emerging programming practices, coding standards, and other software trends. For instance, Code review has evolved to include not only traditional peer reviews but also practices like automated code analysis. DORA metrics may not be able to capture the new approaches fully. Hence, it may not be able to assess the effectiveness of these reviews properly.

It is Not Meant for Every Team

DORA metrics are a great tool for analyzing DevOps performance. But, It doesn't mean they are relevant to every developer's team. These key metrics work best when the deployment is done frequently, can quickly iterate on changes, and improve accordingly. For example, if your team adheres to certain coding standards or ship software monthly, it will result in low deployment frequency almost every time and helps to deliver high-quality software.

Why You’ve Been Using DORA Wrongly?

Relying solely on DORA metrics to evaluate software teams' performance has limited value. Leaders must now move beyond these metrics, identify patterns, and obtain a comprehensive understanding of all factors that impact the software development life cycle (SDLC).

For example, if a team's cycle time varies and exceeds three days, while all other metrics remain constant, managers must investigate deployment issues, the time it takes for pull requests to be approved, the review process, or a decrease in a developer's productivity.

If a developer is not coding as many days, what is the reason behind this? Is it due to technical debt, frequent switching between tasks, or some other factor that hasn't yet been identified? Therefore, leaders need to look beyond the DORA metrics and understand the underlying reasons behind any deviations or trends in performance.

Combine DORA Metrics with Other Engineering Analytics

For DORA to produce reliable results, software development teams must have a clear understanding of the metrics they are using and why they are using them. DORA can provide similar results for teams with similar deployment patterns. But, it is also essential to use the data to advance the team’s performance rather than simply relying on the numbers. Combining DORA with other engineering analytics is a great way to gain a complete picture of the development process. It may include identifying bottlenecks and improvement areas. It may include including identifying bottlenecks and improvement areas.

Use Other Indexes along with DORA Metrics

However, poor interpretation of DORA data can occur due to the lack of uniformity in defining failure, which is a challenge for metrics like CFR and MTTR. Using custom information to interpret the results is often ineffective. Additionally, DORA metrics only focus on velocity and stability. It does not consider other factors such as the quality of work, productivity of developers, and the impact on the end-user. So, it is important to use other indexes for a proactive response, qualitative analysis of workflows, and SDLC predictability. It will help to gain a 360-degree profiling of the team’s workflow.

Use it as a Tool for Continuous Improvement and Increase Value Delivery

To achieve business goals, it is essential to correlate DORA data with other critical indicators like review time, code churn, maker time, PR size, and more. Using DORA in combination with more context, customization, and traceability can offer valuable insights and a true picture of the team’s performance and identify the steps needed to resolve bottlenecks and hidden fault lines at all levels. Ultimately, DORA should be used as a tool for continuous improvement, product management, and enhancing value delivery.

DORA metrics can also provide insights into coding skills by revealing patterns related to code quality, review effectiveness, and debugging cycles. This can help to identify the blind spots where additional training is required.

How Typo Leverages DORA Metrics?

Typo is a powerful engineering analytics tool for tracking and analyzing DORA metrics. It provides an efficient solution for software development teams seeking precision in their DevOps performance measurement and delivers high-quality software to end users.

  • With pre-built integrations in the dev tool stack, the DORA metrics dashboard provides all the relevant data flowing in within minutes.
  • It helps in deep diving and correlating different metrics to identify real-time bottlenecks, sprint delays, blocked PRs, deployment efficiency, and much more from a single dashboard.
  • The dashboard sets custom improvement goals for each team and tracks their success in real-time to boost organizational performance.
  • It gives real-time visibility into a team’s KPI and lets them make informed decisions.

Conclusion

While DORA serves its purpose well, it is only the beginning of improving engineering excellence. To effectively measure DORA metrics, it is essential to focus on key DORA metrics and the business value they provide. Looking at numbers alone is not enough. Engineering managers should also focus on the practices and people behind the numbers and the barriers they face to achieve their best and ensure customer satisfaction. It is a known fact that engineering excellence is related to a team’s productivity and well-being. So, an effective way is to consider all factors that impact a team’s performance and take appropriate steps to address them.