DORA Metrics Definitions

The dashboard tracks the four DORA (DevOps Research and Assessment) metrics for the connected GitHub repository.

PR Cycle Time

Definition: The time from a developer’s first commit on a branch to the code being live in production.

Formula: deployedAt − firstCommitAt

FieldSource
firstCommitAtEarliest commit timestamp on the PR’s branch, fetched from GitHub REST API on PR open
deployedAtTimestamp of the GitHub Projects item moving to the configured “released” column

Fallback: If deployedAt is null (pre-webhook data), the panel falls back to mergedAt. If firstCommitAt is null, falls back to openedAt.

Why not mergedAt as the end point? Merged does not mean deployed. PRs can queue up before a deployment. Using the Projects “released” column as the end point captures the full journey including any release lag.


Deployment Frequency

Definition: How often the team deploys to production.

Measured as: Number of distinct deployedAt timestamps (i.e. distinct project item releases) per day/week/month.


Change Failure Rate

Definition: The percentage of deployments that cause a failure in production (requiring a hotfix, rollback, or patch).

Measured as: Issues/PRs tagged with a failure label (e.g. hotfix, incident) ÷ total deployments in the same period.

⚠️ Not yet implemented — requires a configurable failure label setting.


Mean Time to Recovery (MTTR)

Definition: How long it takes to recover from a production failure.

Measured as: Time from a failure-labelled issue being opened to it being moved to the “released” column.

⚠️ Not yet implemented.


Elite / High / Medium / Low classification

DORA classifies teams into four performance buckets. The dashboard uses these thresholds for the PR cycle time metric:

LevelCycle Time
Elite< 1 day
High1 day – 1 week
Medium1 week – 1 month
Low> 1 month