DevOps
Measuring DevOps Performance With DORA Metrics
Four metrics give engineering leaders a balanced view of delivery speed and stability. Here is how to measure them without gaming them.
The DORA research programme identified four key metrics that together describe software delivery performance. They are valuable because they balance speed with stability: improving one at the expense of the other shows up immediately.
The four key metrics
- Deployment frequency — how often you successfully release to production.
- Lead time for changes — how long it takes a committed change to reach production.
- Change failure rate — the percentage of deployments that cause a failure requiring remediation.
- Time to restore service — how long it takes to recover from a failure in production.
Collect data automatically
Derive the metrics from systems you already use: version control for commits, your CI/CD platform for deployments and your incident tooling for failures and recovery. Manual collection is slow and inconsistent.
# Example: tag each production deployment so it can be counted
- name: Record deployment
run: |
curl -X POST "$METRICS_ENDPOINT/deployments" \
-d service=$SERVICE -d sha=$GITHUB_SHA -d env=productionUse metrics for learning, not targets
When metrics become targets for individuals, they tend to be gamed. Review them at team level, look at trends rather than absolute numbers, and use them to identify constraints worth investigating.
Where improvement usually comes from
- Smaller batch sizes and trunk-based development.
- Fast, reliable automated tests.
- Infrastructure as code and consistent environments.
- Progressive delivery with automated rollback.
- Good observability and practised incident response.
