DORA Metrics Setup Guide
Get started with DORA metrics in Koalr: connect the right integrations, read your first dashboard, understand tier classifications, and set improvement goals for your teams.
DORA Metrics Setup Guide
DORA (DevOps Research and Assessment) metrics are the industry standard for measuring software delivery performance. Koalr computes all five metrics -- Deployment Frequency, Lead Time for Changes, Change Failure Rate, Mean Time to Restore, and Rework Rate -- from your connected integrations.
This guide walks you through connecting the required data sources, reading your first DORA dashboard, and setting team goals.
Time to complete: 15--25 minutes (depending on which integrations you connect).
What data does each metric need?
Before diving into setup, understand which integrations power each metric:
| Metric | Required integration | What Koalr reads |
|---|---|---|
| Deployment Frequency | GitHub (or deploy platform webhook) | Deployment events from GitHub Deployments, Vercel, Railway, etc. |
| Lead Time for Changes | GitHub | Time from PR merge to production deployment (matched via SHA) |
| Change Failure Rate | GitHub + PagerDuty or OpsGenie | Deployments correlated with incidents within a 4-hour window |
| Mean Time to Restore | PagerDuty or OpsGenie | Incident created-to-resolved duration |
| Rework Rate | GitHub | Reverts and hotfix commits within 21 days of the original merge |
You can start with just GitHub connected -- you will get Deployment Frequency, Lead Time, and Rework Rate immediately. Change Failure Rate and MTTR require an incident management integration.
Step 1: Connect GitHub
If you have not already connected GitHub, follow the instructions in the GitHub + CODEOWNERS Setup Guide.
Once connected, Koalr begins ingesting pull request and deployment data. Deployment events are detected from GitHub Deployments API events, which most CI/CD platforms (Vercel, Railway, Netlify, GitHub Actions) create automatically when deploying.
Verify deployment data is flowing
- Navigate to DORA Metrics in the left sidebar (under the Delivery section).
- Scroll down to the Recent Deployments table at the bottom of the page.
- You should see recent deployments with repository name, SHA, environment, status, and timing.
If the deployments table is empty, confirm that your CI/CD pipeline creates GitHub Deployment events. Most platforms do this automatically, but some self-hosted setups may require configuration.
Step 2: Connect an incident management integration
To unlock Change Failure Rate and MTTR, connect PagerDuty or OpsGenie:
PagerDuty
- Navigate to Integrations in the left sidebar.
- Find the PagerDuty card and click Connect.
- Enter your PagerDuty API key (read-only access is sufficient).
- Koalr will sync your services and begin correlating incidents with deployments.
OpsGenie
- Navigate to Integrations in the left sidebar.
- Find the OpsGenie card and click Connect.
- Enter your OpsGenie API key.
- Koalr will sync alert and incident data.
How incident correlation works
Koalr automatically correlates deployments with incidents using a 4-hour service-match window. When a deployment to service X is followed by an incident on service X within 4 hours, that deployment is counted as a change failure.
No manual mapping is required -- Koalr matches services by name. If your service names differ between GitHub and PagerDuty/OpsGenie, you can configure service mappings in Settings.
Step 3: Read your first DORA dashboard
Navigate to DORA Metrics. The dashboard is organized in several sections:
Metric tiles (top row)
Five KPI tiles showing your current values and DORA tier classification:
- Deployment Frequency -- deploys per day. Elite is 1 or more per day.
- Lead Time for Changes -- P50 time from merge to production. Elite is less than 1 day.
- Change Failure Rate -- percentage of deploys causing incidents. Elite is 5% or below.
- Time to Restore (MTTR) -- P50 incident duration. Elite is less than 1 hour.
- Rework Rate -- percentage of code reworked within 21 days. Elite is 2% or below.
Each tile shows a colored tier badge (Elite, High, Medium, Low) based on the 2025 DORA research thresholds.
Team Archetype card
Below the tiles, the Team Archetype card classifies your team's overall performance pattern -- for example, "High Performer" or "Throughput-Focused" -- based on the combination of all five metrics.
Trend charts
The dashboard includes trend charts for each metric over the selected period (7, 14, 30, or 90 days). A dashed line shows the prior period for comparison. Use these to identify whether your team is improving, stable, or regressing.
Throughput vs Stability quadrant
A scatter chart plotting your throughput score (Deployment Frequency + Lead Time) against your stability score (CFR + MTTR). Elite teams land in the upper-right quadrant -- high throughput AND high stability.
Deploy Batch Size
A chart showing how many PRs and commits are included in each deployment. Smaller batches are safer and easier to debug when issues arise.
DORA Improvement Roadmap
AI-generated recommendations for your lowest-performing metrics, with specific actions your team can take.
Step 4: Filter by team
The DORA dashboard supports team filtering. Use the team dropdown in the top-right corner to scope all metrics to a specific team.
This is valuable for comparing performance across teams and identifying which teams need the most support. To set up teams, see the Team Setup Best Practices guide.
Step 5: Set improvement goals
The DORA Goals panel (below the metric tiles) lets you define targets for each metric:
- Click the goal icon next to any metric.
- Set a target value (e.g., Deployment Frequency target: 1.0/day).
- Set a target date (e.g., end of quarter).
- Save.
Goals appear as reference lines on the trend charts and are tracked in the weekly engineering report. When a goal is met, Koalr records it as a "Win" in the weekly digest.
Step 6: Use the threshold reference
At the bottom of the DORA page, a reference grid shows the official 2024/2025 DORA tier thresholds for all five metrics. Use this as a shared language with your team when setting goals:
| Metric | Elite | High | Medium |
|---|---|---|---|
| Deploy Frequency | 1+ per day | 1+ per week | 1+ per month |
| Lead Time | Less than 1 day | Less than 1 week | Less than 1 month |
| Change Failure Rate | 5% or below | 15% or below | 30% or below |
| MTTR | Less than 1 hour | Less than 1 day | Less than 1 week |
| Rework Rate | 2% or below | 5% or below | 10% or below |
Verification checklist
- DORA Metrics page loads with data in the metric tiles.
- Deployment Frequency and Lead Time show values (requires GitHub).
- Change Failure Rate shows a value (requires PagerDuty or OpsGenie).
- MTTR shows a value (requires PagerDuty or OpsGenie).
- Recent Deployments table shows deployment records.
- Team filter works and scopes metrics to the selected team.
What to do next
- Set up teams to compare DORA metrics across your organization. See Team Setup Best Practices.
- Configure weekly reports to have DORA metrics delivered to Slack automatically. See Weekly Engineering Report Guide.
- Connect deploy risk to correlate risk scores with change failure rate. See Deploy Risk Setup Guide.
- For the full technical details on how each metric is calculated, see DORA Metrics.
VS Code Extension
Get Koalr deploy risk scores directly in your editor — the Koalr VS Code extension shows your current branch's risk score in the status bar and lets you check any PR on demand.
Deploy Risk Setup Guide
Get deployment risk scoring running end-to-end: connect GitHub, understand your first risk scores, tune accuracy, enable GitHub Check Runs, and configure Slack alerts for high-risk deploys.