All articles

The DORA Metrics Guide for Documentation Teams

DORA metrics were built for software delivery, not docs. Here's how to adapt them so your documentation team measures what actually moves the needle.

D

DocPilot Team

AI documentation research and engineering from Onzira Labs.

9 min read

Why DORA Metrics Stopped Working for Engineering and Started Working for Documentation

DORA's four metrics — deployment frequency, lead time for changes, mean time to recovery, and change failure rate — were designed to measure software delivery performance. They came out of Google and DORA's State of DevOps reports, and for the last decade they've been the most cited framework in engineering culture conversations.

But software teams aren't the only ones shipping anymore. Documentation teams ship too. They merge pull requests, publish content, fix broken examples, and rotate outdated guides. And for most of those teams, the question isn't "is my code deploying?" — it's "is my documentation accurate, current, and trusted by the people reading it?"

That's the gap DORA leaves open. The framework is sound, but its vocabulary assumes CI/CD pipelines, microservices, and rollback procedures. None of which describe what a technical writer, developer advocate, or docs-as-code maintainer actually does on a Tuesday afternoon.

This guide translates each of the four DORA metrics into the documentation context. Not as a stretch metaphor. As a working measurement system you can adopt next sprint.

What DORA Actually Measures (and Why That Translates)

DORA's 2024 report still anchors on the same four metrics:

MetricWhat It MeasuresDirection of "Good"
Deployment FrequencyHow often code reaches productionHigher
Lead Time for ChangesTime from commit to running in productionLower
Mean Time to RecoveryTime to restore service after an incidentLower
Change Failure RatePercentage of changes that fail in productionLower

The underlying signal is throughput and stability. Teams that ship often and stay stable are elite. Teams that ship often but break things are not. Teams that ship rarely are, statistically, the slowest performers across every business outcome DORA correlates with.

Documentation teams have the same throughput-vs-stability tradeoff. You can publish often and risk stale content, or gate publishing behind review and ship rarely. Neither extreme is healthy. The DORA framework, stripped of its CI/CD assumptions, gives you a vocabulary for talking about that tradeoff honestly.

Mapping DORA to Documentation Teams

Before you instrument anything, you need a definition of "production" for documentation. Most docs-as-code setups treat main as production. Some treat the deployed docs site as production. Others count "published" as the moment content becomes findable via search.

Pick one. The choice changes your numbers but not the framework.

Deployment Frequency → Publishing Frequency

In the docs context, this is how often content reaches your published site. Measure it as merges to main per week, or publishes per week if you use a CMS without git.

The mistake teams make here is confusing editing activity with publishing frequency. If your team merges 40 PRs a week but 35 of them are typo fixes that bypass review, that's not the same signal as 40 reviewed and shipped documentation updates.

A healthier measurement counts reviewed, merged changes that affect user-visible documentation. Tooling that auto-generates docs from source code can muddy this metric — if your doc platform regenerates API references on every commit, your publishing frequency will look artificially high. Filter out auto-generated churn before reporting.

The DORA 2024 benchmark for elite performers is multiple deploys per day. Documentation teams almost never hit that, and shouldn't try to. A more honest elite benchmark for docs is 5–10 meaningful publishes per week. But you have to define "meaningful" for your team.

Lead Time for Changes → Docs Lead Time

Time from "someone opened an issue or PR" to "the change is live in production docs." This includes writing, review, staging validation, and deploy.

Docs lead time tends to be shorter than code lead time because the change surface is smaller. But it can be inflated by:

  • Review bottlenecks (one tech writer reviewing everything)
  • Waiting on SME input from engineering
  • Multi-environment staging (preview sites, prod deploy gates)
  • Manual publishing steps (CMS clicks, version bumps)

The fix isn't to remove review — review is part of quality. The fix is to make the parts of the loop that don't require human judgment faster. Automated preview deployments, generated boilerplate from code, and webhook-triggered rebuilds all compress the non-judgment parts of the cycle.

A reasonable target for docs lead time is under 48 hours from PR open to merge, and under 24 hours from merge to live. Elite teams push the full cycle under 24 hours by removing staging environments entirely and trusting preview URLs.

Mean Time to Recovery → Docs MTTR

Time from "we noticed the docs are wrong" to "the docs are right again." This is the metric where documentation teams have the biggest advantage over software teams.

When a critical page is broken — wrong API example, deprecated command, broken anchor — your MTTR is bounded by how fast someone can write a fix and ship it. There's no rollback procedure, no incident commander, no postmortem. There's just: someone writes a PR, it gets reviewed, it merges.

The risk for docs teams isn't slow recovery. It's unnoticed breakage. A wrong code sample can sit in production for months because nobody flags it. Your MTTR is meaningless if your detection time is measured in quarters.

The fix is two-fold:

  1. Detection. Add user feedback signals to every doc page. "Was this helpful?" buttons, link rot monitors, and the simplest metric of all, search query → click → bounce rate.
  2. Fast paths. Pre-defined templates for common fixes (broken link, wrong version, deprecated API) that bypass normal review for low-risk changes.

Docs MTTR at elite level is under 4 hours for critical fixes. Under 24 hours for non-critical. If your number is in weeks, the problem isn't recovery speed — it's detection.

Change Failure Rate → Docs Change Failure Rate

The hardest metric to define for documentation because "failure" is ambiguous. For software, a failed deploy is binary — service is down or it's not. For docs, a "failed change" can mean:

  • Incorrect technical content that ships
  • Broken internal links
  • Outdated screenshots after a UI change
  • Code samples that don't compile
  • Missing coverage for a new feature

You need a working definition. Two practical options:

Option A: Rollback rate. Count any doc change reverted within 48 hours of publication as a failure. This is the cleanest measurement because it's binary — was it reverted or not? But it undercounts silent failures that just sit wrong.

Option B: Audit rate. Schedule a weekly audit pass where one person flags doc changes from the past week that have known issues. This catches silent failures but introduces auditor bias.

A blend works well in practice: track rollback rate as the leading indicator, and run a monthly cross-team audit (engineering + docs) as the lagging indicator. Elite docs teams run change failure rates under 5%. Most run between 10–20%, mostly from content that goes stale rather than content that was wrong on day one.

The Documentation-Specific Metric DORA Doesn't Cover

DORA's four metrics won't tell you whether your documentation is useful. They measure throughput and stability, not quality or impact. Two metrics fill that gap, and every serious docs team should track at least one:

Documentation Coverage. Percentage of public APIs, features, or product surfaces that have corresponding documentation. Measured by code analysis tools that map symbols to doc paths. Target is 90%+ for public surfaces.

Doc Defect Density. Number of known issues (broken links, wrong examples, outdated screenshots) per page. Measured by automated link checkers plus user feedback. Target is under 0.5 defects per page in production.

Neither of these is in DORA's framework. Both are necessary to know if your throughput and stability are producing something worth reading.

Implementing DORA for Docs Without a Dashboard Team

You don't need a fancy observability stack. You need four numbers, captured weekly, in a spreadsheet if necessary.

Where the data lives

For docs-as-code teams using GitHub or GitLab:

  • Publishing frequency: count merged PRs to your docs directory per week
  • Lead time: time from PR open to merge (GitHub exposes this; gh pr list --state merged --json gives you the raw data)
  • MTTR: time from issue labeled docs-bug to PR merge that closes it
  • Change failure rate: count PRs reverted or labeled docs-bug within 7 days of merge, divided by total merged PRs

Most of this is one gh command and a spreadsheet pivot table away. If your team is on a hosted docs platform that integrates with your repo, the data is already collected.

What to do with the numbers

The mistake is treating DORA metrics as KPIs. They're leading indicators of organizational outcomes — team performance, retention, product velocity. Documentation's job is to make those outcomes better, not to optimize the metrics in isolation.

A team that ships 30 doc changes a week but has 40% change failure rate is worse off than a team that ships 10 changes a week with 5% failure rate. The numbers only mean something in relation to each other.

A practical reporting cadence:

  • Weekly: publishing frequency and lead time. Track in the team's normal standup.
  • Monthly: MTTR and change failure rate. Review in the docs team retro.
  • Quarterly: coverage and defect density. Report to engineering leadership alongside product metrics.

What Good Looks Like for Documentation Teams

Based on how high-performing docs teams operate, the working targets are:

MetricUnderperformingAverageElite
Publishing Frequency< 2/week2–5/week5–10/week
Docs Lead Time> 1 week48 hours< 24 hours
Docs MTTR (critical)> 1 week24 hours< 4 hours
Change Failure Rate> 20%10–20%< 5%
Coverage< 70%70–90%> 90%

These aren't universal — a team maintaining public API reference docs has different mechanics than a team maintaining internal onboarding guides. But the shape holds: more throughput, faster recovery, fewer mistakes, broader coverage.

How DORA Connects to Engineering Culture

DORA's most-cited finding isn't about deployment frequency. It's that elite performers are 2× more likely to meet or exceed their organizational performance goals. The metrics are a proxy for something deeper: how teams coordinate, how they handle failure, and how much friction exists between intent and outcome.

Documentation teams sit at the friction boundary. They're the interface between engineering intent and user outcome. When docs lag, product velocity drops. When docs are wrong, support load goes up. When docs are good, onboarding accelerates and engineering can ship features without explaining them every time.

Measuring docs with DORA's framework isn't a vanity exercise. It's a way to make documentation's contribution to engineering culture legible to leadership. Numbers like publishing frequency and lead time are easy to put on a dashboard next to deploy frequency and lead time for code. Once they're side by side, the correlation between docs velocity and product velocity becomes hard to ignore.

That correlation is the argument. Documentation isn't overhead. It's infrastructure for every other team's output. Measuring it the same way you measure software delivery makes that infrastructure visible.


DocPilot fits naturally into a DORA-driven docs workflow. It connects to your GitHub repos, generates README, setup, architecture, and API reference docs from your actual code, and keeps them in sync through webhooks so publishing frequency reflects what shipped — not what someone manually remembered to update. If your team is trying to push publishing frequency higher without sacrificing change failure rate, the bottleneck is usually the writing step itself. Automating the parts of documentation that are derivable from code is how elite docs teams hit DORA-style numbers without scaling headcount. Start with the free tier and connect a repo to see what auto-generated, continuously-synced docs looks like against your current workflow.

Ship documentation that keeps up

Try DocPilot on your repository — free for one repo.

Connect your first repository in about a minute. No credit card. DocPilot writes and maintains the documentation from your code.

Read next