Lead Time for Changes

Lead Time for Changes

How does Uplevel define Lead Time for Changes?

The DORA metric Lead Time for Changes is measured as the median duration of time from first commit until the Pull Request is deployed to a production environment using CI/CD Data. This differs from Cycle Time which looks at when a PR is merged.

There are 4 distinct phases for PRs:

First Commit to PR:

The First Commit to PR phase looks at how long the particular PR was in development. In order to capture this, Uplevel is looking at the time period from the first commit to when the PR is submitted for review. If a PR is opened immediately after the first commit, your First Commit to PR time will be shown as 0 hours. If a PR is opened as a draft or work in progress, then this phase will end when it is converted to be ready for review.

Wait:

The Waiting phase looks at how long a PR is waiting for a review. It captures the time from when the PR is opened (or converted from a draft) to the first action (e.g., commenting, request for changes, approval) from a reviewer. Keep an eye out for this section — it's common to see bottlenecks here.

Review:

Review captures the time from the first review action from a reviewer to the time the PR is merged. If there is a lot of back and forth, this phase could be longer and might be an area to look into.

Deploy:

Deployments to production are estimated for each repository by the environments configured within Github Actions. Uplevel uses an organization wide regular expression (Regex) to find for production environments, but exclude non-production environments, but can also configure specific repositories. Your organization's global definition is visible by visiting the configuration page, and clicking on an environment. Learn more about how to utilize this page here.

What is the difference between Lead Time for Changes, PR Cycle Time and Epic Lead Time?

Each of these three metrics gives different lenses into the development process:

Lead Time for Changes is the fullest picture how quickly code changes are delivered to users. Look to the Deploy phase to look for bottlenecks that are happening after code is initially merged.

PR Cycle Time - For a holistic look at how code changes are merged regardless of CI/CD usage, look to PR Cycle Time to get visibility into the velocity of all PRs.
Epic Lead Time - While Epic Lead Time may be similar in name to Lead Time for Changes, this metric looks at how long it takes to plan, develop and close Epics. Because Epics represent larger bodies of work, the time scale for Epic Lead Time may be on the order of several weeks to more than a quarter depending on the planning process.

Exploring Lead Time for Changes in Uplevel

Trend

Learn about your organization by analyzing your Lead Time for Changes trend over time. With this view, you can easily see where delays happen and take action. Each line represents a stage in the process. The 2023 State of Devops Report states that about 18% of teams typically deploy changes to production in less than 1 day, and 31% of teams between 1 day and 1 week. 

Idea
Tip: encourage your developers to submit smaller PRs more often. This will keep everyone in the practice of merging frequently and will take less time to review. 

Median Time by Phase

See exactly how much time is allocated to each phase for the most recent week of the period. Compare this to your trends over time to see how you're tracking. 

Breakdown Table

Drill down further by using the breakdown table. This view lets you dig in further to understand which teams or working areas might need support by pivoting on various people properties like Report Group or Role, or by Repository.  A "null" value means that team didn't have any PRs for that time period. 

This table provides helpful context to understand the Lead Time for Changes Trends, like Delayed PRs (% of PRs that took longer than expected from opened to merged based on complexity), and Complex PRs (% of PRs that are estimated to be complex to review).
    • Related Articles

    • Understand your team's Lead Time for Changes

      Learn how to navigate your organization's Lead Time for Changes data and how you can take action to mitigate risk Trend Learn about your organization by analyzing your Lead Time for Changes trend over time. With this view, you can easily see where ...
    • Epic Lead Time

      Understand the bottlenecks in your planning process by looking at your Epic Lead Time phases Overview Epic Lead Time is defined as the median epic duration, which is calculated as the difference in time from when the epic is created, through to when ...
    • PR Cycle Time

      Understand the flow of a PR from commit to merge PR Cycle time measures the median time your Pull Requests are in three different stages: Dev, Waiting, and Review. Phase 1: Dev The first phase looks at how long the particular PR was in development. ...
    • Time Allocation

      How does Uplevel calculate Time Allocation for my teams? What is Time Allocation? Time Allocation is a specific Uplevel insight that provides an automated, up-to-date breakdown of where your organization’s time and efforts are spent. As a pivotal ...
    • Time Period Selection

      In addition to tracking changes at the weekly level, it’s now possible to view higher level bi-weekly, monthly, or quarterly trends. In the time selector, choose desired time frame, and what period of time to report on. Monthly Trend charts will ...