Guide

The Practical Guide to DORA Metrics for Engineering Teams

Learn what the four DORA metrics are, how to measure them, and how to actually improve them. A no-nonsense guide for engineering leaders and developers.

15 April 2026

Every engineering team has heard of DORA metrics by now. Most are measuring at least one of them. But surprisingly few are using them effectively. Here's why, and how to do it properly.

What are the four DORA metrics?

DORA (DevOps Research and Assessment) identified four key metrics that predict software delivery performance. They emerged from years of research into what separates high-performing engineering teams from the rest.

1. Deployment frequency

How often your team deploys code to production. This measures your ability to ship small, incremental changes rather than batching work into large, risky releases.

2. Lead time for changes

The time from first commit to production deployment. This captures the full pipeline: coding, review, CI, and deployment. It's closely related to PR cycle time, but extends all the way to production.

3. Change failure rate

The percentage of deployments that cause a failure in production (an incident, rollback, or hotfix). This measures the quality and safety of your delivery process.

4. Mean time to recovery (MTTR)

How quickly your team recovers when something breaks in production. This measures your ability to detect, diagnose, and fix failures.

Why these four metrics matter together

The power of DORA metrics is that they balance speed and stability. You can't game them by optimising one at the expense of others:

  • Shipping faster without quality means your change failure rate spikes
  • Reducing failures by deploying less often means your deployment frequency drops
  • Long lead times suggest bottlenecks in review, CI, or deployment processes
  • Slow recovery times suggest gaps in monitoring, alerting, or incident response

Teams that score well on all four are genuinely high-performing, not just optimising one dimension while ignoring the others.

DORA benchmarks

The annual State of DevOps report classifies teams into four performance tiers:

MetricEliteHighMediumLow
Deployment frequencyOn-demand (multiple per day)Weekly to monthlyMonthly to bimonthlyFewer than once per 6 months
Lead time for changesLess than one dayOne day to one weekOne to six monthsMore than six months
Change failure rate0 to 15%16 to 30%16 to 30%16 to 30%
MTTRLess than one hourLess than one dayOne day to one weekMore than six months

Most teams reading this fall somewhere between Medium and High. That's fine. The point isn't to be Elite overnight. It's to understand where you are and move deliberately in the right direction.

How to measure each metric

Deployment frequency

The easiest to measure. Count the number of production deployments per week (or per day). If you use CI/CD, this data is already in your pipeline logs.

Common pitfalls:

  • Don't count failed deployments that were rolled back
  • Don't count deployments to staging or preview environments
  • Do count deployments from all teams and services, not just the "main" product

Lead time for changes

Measure the time from first commit on a branch to when that code reaches production. This requires connecting your Git data with your deployment pipeline.

Common pitfalls:

  • Don't measure from issue creation (that captures planning time, not engineering time)
  • Do include time waiting for review, which is often the biggest component
  • Watch out for long-lived branches that skew the median

Change failure rate

Track the percentage of deployments that result in an incident, rollback, or hotfix within a defined window (typically 24 to 72 hours).

Common pitfalls:

  • Define "failure" consistently. Is a minor UI bug a failure? Probably not. Is a P1 incident? Definitely
  • Don't rely on self-reporting. Link your incident tracker to your deployment log
  • Track this as a rolling percentage, not per-incident

Mean time to recovery

Measure the elapsed time from when an incident is detected to when service is fully restored.

Common pitfalls:

  • Start the clock at detection, not at cause. If your monitoring took 2 hours to alert, that's part of your MTTR
  • "Fully restored" means customers are no longer impacted, not when the fix PR is merged
  • Track this per-incident and report the median, not the mean (outliers will skew the mean)

Common mistakes teams make with DORA

Treating metrics as targets

DORA metrics are diagnostic tools, not OKRs. "Achieve Elite deployment frequency" is a bad goal. "Deploy every merged PR to production automatically" is a good process improvement that results in higher deployment frequency.

Measuring without acting

Dashboards full of DORA charts look impressive, but they're worthless if nobody changes their behaviour as a result. The gap between measurement and action is where most teams stall.

This is exactly the problem Poggle solves. Instead of leaving engineers to interpret dashboard charts, Poggle translates engineering signals into personal goals and uses gamification to reinforce the behaviours that improve DORA metrics naturally.

Comparing teams unfairly

A platform infrastructure team has fundamentally different deployment patterns than a product feature team. Comparing their DORA metrics head-to-head is misleading. Compare teams against their own historical trends, not against each other.

Ignoring context

A low deployment frequency might mean your team is shipping large, risky batches. Or it might mean your team owns a stable infrastructure component that changes infrequently. Context matters.

A practical improvement roadmap

If you're just starting with DORA metrics, here's the order of operations:

  1. Start with deployment frequency and lead time. These are the easiest to measure and the most actionable. If your lead time is over a week, the fix is almost always smaller PRs and faster reviews.

  2. Fix the bottleneck in lead time. For most teams, it's time waiting for code review. Enforce daily review windows. Set a team norm for review turnaround time. Track it weekly.

  3. Add change failure rate once you're deploying frequently. More deployments means more data points. Track which changes cause failures and look for patterns (large PRs, specific services, missing tests).

  4. Measure MTTR when you have an incident process. You need defined incident detection, response, and resolution workflows before MTTR is meaningful.

  5. Set goals around behaviours. "Review every PR within 4 hours" will improve lead time. "Keep PRs under 400 lines" will improve change failure rate. Behaviour goals are more actionable than metric targets.

Start measuring today

You don't need an expensive tool to start tracking DORA metrics. Your CI/CD pipeline logs, Git history, and incident tracker already contain the data. The hard part isn't measurement. It's turning measurements into behaviour change.

Want to skip the dashboard-building and go straight to improvement? Try Poggle free for 30 days and get automatic DORA tracking, personalised engineer goals, and AI coaching that drives real results.

See how Poggle can help your team

Book a free demo and see how Poggle turns good engineering behaviours into visible, rewarding goals.