Guides

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:

MetricRequired integrationWhat Koalr reads
Deployment FrequencyGitHub (or deploy platform webhook)Deployment events from GitHub Deployments, Vercel, Railway, etc.
Lead Time for ChangesGitHubTime from PR merge to production deployment (matched via SHA)
Change Failure RateGitHub + PagerDuty or OpsGenieDeployments correlated with incidents within a 4-hour window
Mean Time to RestorePagerDuty or OpsGenieIncident created-to-resolved duration
Rework RateGitHubReverts 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

  1. Navigate to DORA Metrics in the left sidebar (under the Delivery section).
  2. Scroll down to the Recent Deployments table at the bottom of the page.
  3. 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

  1. Navigate to Integrations in the left sidebar.
  2. Find the PagerDuty card and click Connect.
  3. Enter your PagerDuty API key (read-only access is sufficient).
  4. Koalr will sync your services and begin correlating incidents with deployments.

OpsGenie

  1. Navigate to Integrations in the left sidebar.
  2. Find the OpsGenie card and click Connect.
  3. Enter your OpsGenie API key.
  4. 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:

  1. Click the goal icon next to any metric.
  2. Set a target value (e.g., Deployment Frequency target: 1.0/day).
  3. Set a target date (e.g., end of quarter).
  4. 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:

MetricEliteHighMedium
Deploy Frequency1+ per day1+ per week1+ per month
Lead TimeLess than 1 dayLess than 1 weekLess than 1 month
Change Failure Rate5% or below15% or below30% or below
MTTRLess than 1 hourLess than 1 dayLess than 1 week
Rework Rate2% or below5% or below10% 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