Article · part of a guide
Key DevOps Metrics You Should Be Tracking
Learn the 10 DevOps metrics to watch (lead time, deployment frequency, MTTR, change failure rate and more) to speed releases and cut risk.

Key takeaways
- The four DORA metrics (deployment frequency, lead time for changes, change failure rate, and mean time to restore) remain the foundation for measuring software delivery performance.
- Elite performers deploy multiple times daily with under one day lead time, keep failure rates below 15%, and recover in under one hour.
- Beyond DORA, comprehensive measurement adds reliability metrics (SLIs, SLOs, the four golden signals), security, team culture, and cost efficiency metrics.
- Best practices include starting with DORA metrics, automating collection, connecting metrics to business outcomes, and avoiding metrics overload or punitive use.
Organizations with comprehensive DevOps metrics programs are twice as likely to meet their business objectives compared to those without them. The harder question is which metrics actually deserve your attention.
What Are the Four DORA Metrics?
The DevOps Research and Assessment (DORA) metrics remain the gold standard for measuring software delivery performance:
- Deployment Frequency - How often you successfully release to production
- Lead Time for Changes - Time from code commit to production deployment
- Change Failure Rate - Percentage of deployments causing failures
- Mean Time to Restore (MTTR) - Time to recover from incidents
Together they tell you about both speed and stability, not one at the expense of the other. Elite performers deploy multiple times daily with less than one day lead time, while keeping failure rates below 15% and recovery times under one hour.
Which Metrics Matter Beyond DORA?
DORA covers delivery speed and stability, but it leaves gaps. A fuller picture needs a few more categories:
Reliability Metrics
Service Level Indicators (SLIs), Service Level Objectives (SLOs), and the Four Golden Signals (latency, traffic, errors, saturation) tell you more about how healthy your system actually is.
Security Metrics
Time to detect vulnerabilities, time to remediate, and vulnerability density help teams build security into their pipelines rather than bolting it on afterward.
Team Culture Metrics
Developer satisfaction, cognitive load, and cross-team collaboration metrics tell you whether the pace is something your team can keep up.
Cost Efficiency Metrics
Cloud waste, unit economics, and resource utilization metrics connect technical decisions to business outcomes.
How Do You Collect These Metrics With the Right Tooling?
Collecting these metrics is much easier when your platform exposes the data through an API. With Scalr's Terraform automation platform, you can pull infrastructure deployment metrics directly:
import requests
import json
# Connect to Scalr API to retrieve deployment metrics
def get_deployment_metrics(workspace_id, time_period='30d'):
base_url = "https://example.scalr.io/api/iacp/v3"
headers = {
'Authorization': f'Bearer {API_TOKEN}',
'Content-Type': 'application/vnd.api+json'
}
# Get deployment frequency
response = requests.get(
f"{base_url}/workspaces/{workspace_id}/runs?filter[status]=applied&filter[created-at][gt]={time_period}",
headers=headers
)
data = response.json()
# Calculate deployment metrics
total_deployments = len(data['data'])
successful_deployments = sum(1 for run in data['data'] if run['attributes']['status'] == 'applied')
failed_deployments = total_deployments - successful_deployments
return {
'deployment_frequency': total_deployments,
'success_rate': successful_deployments / total_deployments if total_deployments > 0 else 0,
'change_failure_rate': failed_deployments / total_deployments if total_deployments > 0 else 0
}
# Example usage
metrics = get_deployment_metrics('ws-1234567890')
print(json.dumps(metrics, indent=2))For infrastructure-as-code environments, you can also track drift detection through Scalr's state management:
# Terraform code to enable Scalr's remote backend and drift detection
terraform {
backend "remote" {
hostname = "example.scalr.io"
organization = "acc-xxxxxxxxxxxxx"
workspaces {
name = "production-infrastructure"
}
}
}
# Enable scheduled drift detection on a Scalr environment.
# Drift detection is configured at the environment level; the scheduler
# supports Daily or Weekly runs (no arbitrary cron). Notifications are
# delivered to Slack or Microsoft Teams via integration channels.
resource "scalr_environment" "production" {
name = "production"
account_id = "acc-xxxxxxxxxxxxx"
policy_groups = [scalr_policy_group.drift.id]
}
# Notify a Slack channel when drift is detected
resource "scalr_integration_slack" "drift_alerts" {
name = "drift-alerts"
account_id = "acc-xxxxxxxxxxxxx"
channel = "#infra-drift"
environments = [scalr_environment.production.id]
events = ["drift_detected"]
}
# Attach an OPA policy group to enforce guardrails on every run.
# Enforcement (advisory / soft-mandatory / hard-mandatory) is declared
# inside the policy group's scalr-policy.hcl file, not as a Terraform
# attribute on the resource itself.
resource "scalr_policy_group" "drift" {
name = "drift-guardrails"
account_id = "acc-xxxxxxxxxxxxx"
vcs_provider_id = "vcs-xxxxxxxxxxxxx"
vcs_repo {
identifier = "my-org/opa-policies"
branch = "main"
path = "policies/drift"
}
}How Do Elite, High, Medium, and Low Performers Compare?
Here's how organizations typically stack up across key metrics:
| Metric | Elite Performers | High Performers | Medium Performers | Low Performers |
|---|---|---|---|---|
| Deployment Frequency | Multiple times per day | Between once per day and once per week | Between once per week and once per month | Less than once per month |
| Lead Time for Changes | < 1 day | 1 day - 1 week | 1 week - 1 month | > 1 month |
| Change Failure Rate | 0-15% | 16-30% | 16-30% | 16-30%+ |
| MTTR | < 1 hour | < 1 day | 1 day - 1 week | > 1 week |
| Infrastructure as Code Coverage | > 95% | 80-95% | 50-80% | < 50% |
| Drift Detection | Continuous | Daily | Weekly | Manual/Never |
What Are the Best Practices for Rolling Out DevOps Metrics?
Begin with the four DORA metrics before you expand into anything else. Automate collection, because manual tracking adds overhead and introduces errors. Tie each metric back to a business outcome so it drives value rather than activity. Build dashboards that fit the stakeholder reading them, whether that's an engineer or an exec. And when the numbers point at a problem, act on it: the goal is improvement, not measurement for its own sake.
What Common Pitfalls Should You Avoid?
- Metrics overload - Too many metrics create noise rather than insight
- Using metrics punitively - Creates a culture of fear rather than improvement
- Vanity metrics - Focus on actionable metrics that drive decisions
- Manual collection - Leads to inconsistent data and wasted effort
- Missing infrastructure metrics - IaC quality and drift significantly impact reliability
How Do You Keep Metrics Useful as You Grow?
Measurement has to keep up as your delivery process changes. When the platform that automates your infrastructure also collects the metrics (as Scalr does for Terraform), you get visibility across the whole pipeline instead of stitching numbers together from separate tools. That makes it easier to spot where deploys slow down, where failures cluster, and where cost or reliability is slipping. If you're still designing that pipeline, start with our guide to building Terraform and OpenTofu CI/CD pipelines.
The teams that get the most out of this treat metrics as a way to find the next thing to fix. The numbers point you somewhere; the work is deciding what to do about them.
Want to learn how Scalr can help you implement effective DevOps metrics for your Terraform infrastructure? Contact us for a personalized demo.
Frequently asked questions
What are the four DORA metrics?
The DORA metrics are deployment frequency (how often you release to production), lead time for changes (time from commit to production), change failure rate (percentage of deployments causing failures), and mean time to restore (time to recover from incidents). Together they measure both delivery speed and stability, so improving one doesn't have to come at the expense of the other.
What DevOps metrics should you track beyond DORA?
DORA covers delivery speed and stability but leaves gaps. A fuller picture adds reliability metrics like SLIs, SLOs, and the four golden signals (latency, traffic, errors, saturation), plus security metrics such as time to detect and remediate vulnerabilities. Team culture metrics like developer satisfaction and cognitive load, and cost efficiency metrics like cloud waste and resource utilization, round out the set.
What makes a team an elite performer on DORA metrics?
Elite performers deploy multiple times per day with less than one day of lead time for changes. They keep change failure rates below 15% and recover from incidents in under one hour. Low performers, by contrast, deploy less than once a month with lead times over a month and recovery times over a week.
What are common pitfalls when rolling out DevOps metrics?
The big ones are metrics overload, where too many numbers create noise instead of insight, and using metrics punitively, which builds a culture of fear rather than improvement. Vanity metrics and manual collection also waste effort, and many teams miss infrastructure metrics entirely even though IaC quality and drift significantly affect reliability. Start with the four DORA metrics, automate collection, and tie each metric to a business outcome.
About the author

CEO at Scalr
Sebastian Stadil is the CEO of Scalr with 15+ years of DevOps experience. He started with AWS in 2004 and advised early Microsoft Azure and Google Cloud.
Part of this guide
25 sheets
CI/CD and GitOps for Terraform & OpenTofu
- Migrating GitHub Actions from an S3 Backend to Scalr
- Terraform Testing: terraform test, tofu test, Terratest
- Custom Hooks for Terraform and OpenTofu: Pre-Plan, Post-Apply, and the Hooks Registry
- Integrating Terraform with Backstage
- The No-Nonsense Guide to ArgoCD
- Top 10 Continuous Delivery Tools
- Top 10 GitOps Tools: A Comprehensive Guide
- Everything you need to know about using Terraform or OpenTofu with Slack
- Using Terraform with GitLab
- Terraform and OpenTofu with Dependabot
- Terraform Notifications in Microsoft Teams
- The Complete Guide to DevOps Monitoring Tools: Choosing the Right Solution for Your Infrastructure
- Top Jenkins Alternatives & Specialized IaC Tools
- Why You Should Use Dependabot with Terraform and OpenTofu
- Mastering Terraform at Scale: A Developer's Guide to Reliable Infrastructure
- Integrating Terraform Events w/ AWS EventBridge
- How to use the Azure DevOps Terraform Provider
- Deploying your infrastructure with Scalr and GitHub Actions
- Terraform Configuration Ingestion
- Setting up Scalr & Azure DevOps Part 3 - Add Azure credentials
- Setting up Scalr & Azure DevOps Part 3 - Execute Your Terraform Code and Create a Workspace
- Setting up Scalr & Azure DevOps Part 1 - Picking a Workflow
- Terraform Cost Estimation in 2021: The Definitive Guide