Skip to main content
CodePulse
All Guides
Delivery

Cycle Time vs Lead Time: The Real Difference

Cycle time and lead time sound interchangeable but measure different windows of your delivery pipeline. Here is what each one covers, where DORA lead time for changes fits, and which to track.

Ashley RussellJuly 21, 202610 min read
Cycle Time vs Lead Time: The Real Difference - visual overview

See exactly where your delivery flow is waiting

Preview the phase-by-phase report for review pickup, active review, and merge time. Connect in about five minutes; the initial analysis runs after sync.

Preview the Sample Report·Analyze My GitHub Data

Read-only GitHub · Your code stays yours · Team-level by default · No credit card

Two teams both say they ship "in about a week," yet one keeps missing its commitments. The gap usually comes down to which clock each team is watching. Cycle time and lead time sound interchangeable, but they measure different windows of your delivery pipeline, and mixing them up hides the bottleneck that's actually costing you.

What's the difference between cycle time and lead time?

Lead time measures the full journey from when work is requested to when it's delivered to the customer, including all waiting and queue time. Cycle time measures only the active work window, from when the team starts an item to when it's finished. Cycle time sits inside lead time as a subset. In software, DORA's metric 'lead time for changes' is a narrower, engineering-owned version: the time from a commit landing in version control to that change running in production.

Both terms come from Lean manufacturing, where lead time meant the span between a customer placing an order and receiving the product, and cycle time meant how long a single unit took to move through the line once work began. Software teams borrowed both, but the definitions drifted, and vendors now use the same words for different windows. This guide pins down each term, shows how they overlap, and helps you decide which one to put on your dashboard.

What Is Cycle Time?

Cycle time measures the active work window: the elapsed time from when your team starts an item to when that item is done. In software, "started" usually means the first commit on a branch, and "done" means the change is merged or deployed. It excludes the time a request spent sitting in a backlog before anyone picked it up.

Cycle time is internally focused. It reflects how efficiently your engineering workflow moves a change from keyboard to production, and it's the number your team has the most direct control over. That's why it's the go-to metric for spotting where work stalls inside the delivery pipeline.

Most teams break cycle time into four phases so they can see exactly where time goes:

  • Coding time: first commit to the moment a pull request opens.
  • Pickup time: PR opens to the first review starting (pure waiting).
  • Review time: first review to the PR being approved and merged.
  • Deploy time: merge to the change running in production.

Splitting the number this way turns a vague "our PRs are slow" complaint into a specific target. Our cycle time breakdown guide walks through diagnosing each phase, and if you want to reduce the total, the PR cycle time playbook covers the fixes that help most.

"Cycle time answers a question your team can act on this week: once we start, how long does it take us to finish?"

What Is Lead Time?

Lead time measures the entire journey from the moment work is requested to the moment it's delivered. It starts when a customer, product manager, or stakeholder asks for something, and it ends when that something is in their hands. It also includes every wait: time in the backlog, time blocked on dependencies, and time in review.

Because it counts all that queue time, lead time reflects the customer's experience. It's the honest answer to "when will I get this?" And it isn't owned by engineering alone. Product prioritization, stakeholder decisions, and backlog grooming all shape lead time long before an engineer writes a single line of code.

That shared ownership is what makes lead time so useful for planning conversations and so misleading as an engineering scorecard. A rising lead time might mean your pipeline slowed down, or it might just mean requests are piling up faster than the team can start them. The number alone doesn't tell you which.

See where your delivery slows down, and why. See an example report

What Is the Difference Between Cycle Time and Lead Time?

The core difference is where each clock starts. Lead time starts at the request; cycle time starts when work actually begins. Everything before the first commit, the backlog wait, the prioritization debate, the "we'll get to it next sprint," counts against lead time but not against cycle time. That makes cycle time a subset of lead time: the active portion carved out of the whole.

Where lead time and cycle time span across the software delivery lifecycleIdea /requestFirstcommitPRopenedMergedDeployed toproductionLead timerequest to delivery in productionCycle time
Lead time (purple) spans the whole request-to-production journey. Cycle time (blue) covers only the active engineering window from first commit to deploy.

Here's how the two compare side by side:

AspectCycle TimeLead Time
What it measuresThe active work window for a changeThe full request-to-delivery journey
Where it startsWhen work begins (first commit)When the request is made
Where it endsWhen the change is merged or deployedWhen the customer receives the change
Includes backlog and queue wait?NoYes
Whose perspectiveThe engineering teamThe customer or stakeholder
Who influences itMostly engineering workflowEngineering plus product and prioritization
How to improve itSmaller PRs, faster reviews, quicker deploysBetter prioritization, less queueing, plus every cycle-time fix

A useful mental shortcut: cycle time is about how fast your team executes, and lead time is about how fast you meet demand. Improving cycle time will pull lead time down, but you can also shrink lead time by fixing prioritization and cutting wait time before work starts. That's the diagnostic power of holding both numbers next to each other.

🔥 Our Take

Most teams argue about which metric is "correct" when they should be running both. Cycle time is your engineering thermometer, and lead time is what your customers and executives actually feel. Pick one and you'll improve the wrong half of the system.

And neither number is a stick to beat individuals with. These are system metrics. If a team's cycle time is climbing, the honest response is to ask what's slowing the pipeline, oversized PRs, a review queue with one overloaded person, a flaky deploy, not to rank developers by who merges fastest. Speed you extract by pressure is speed you pay back in defects.

Where Does DORA's Lead Time for Changes Fit?

DORA's "lead time for changes" is the source of most of the confusion, so it's worth being precise. The DORA research program defines it as "the amount of time it takes for a change to go from committed to version control to deployed in production". Read that carefully: it starts at the commit, not at the request. So despite the name "lead time," DORA's metric is really measuring what most engineering teams call cycle time.

This is why so many tools treat "cycle time" and "DORA lead time for changes" as the same thing. They both cover the engineering-owned window from first commit to production. The broader business lead time, which starts when someone first asks for the work, is a different and larger number.

DORA's research groups teams into performance tiers based on this metric alongside deployment frequency, change fail rate, and failed-deployment recovery time. The point of measuring it isn't to chase a leaderboard spot; it's to see whether your delivery flow is healthy and improving over time. Our DORA metrics guide covers the full four-key set, and the deployment frequency and lead time guide shows how to reconstruct change lead time from GitHub data alone.

"When DORA says 'lead time,' it means commit to production. When Lean says 'lead time,' it means request to delivery. Same words, different clocks, and knowing which one your tool reports saves a lot of pointless debate."

How Do You Measure Each One?

You measure cycle time by timestamping the engineering workflow. For each change, record the first commit, the PR open, the first review, the merge, and the deploy, then subtract to get the total and each phase. GitHub exposes these timestamps through its API, but it doesn't calculate cycle time or its phases for you, so teams either script it or use a platform that reconstructs the phases automatically.

Lead time needs one earlier data point that GitHub can't give you: when the work was requested. That usually lives in your issue tracker as the moment a ticket was created or moved into a "ready" state. Measuring lead time properly means joining issue-tracker data (Jira, Linear, GitHub Issues) to your commit and deploy data so the clock starts at the request, not the first commit.

A practical tip: use the median, not the average. A handful of PRs that sit open for weeks will drag the mean up and make a healthy pipeline look broken. The median tells you what a typical change experiences, and tracking the median over time is a far better signal of whether things are getting better or worse.

💡Cycle Time, Broken Down Automatically

CodePulse reconstructs cycle time and its four phases straight from your GitHub history, no manual timestamping, so you can see whether coding, review wait, review, or deploy is the real bottleneck. Explore the cycle time feature to see the phase breakdown in action.

Identify bottlenecks slowing your team. See an example report

Which Should Your Team Track?

Track both, but start acting on cycle time because it's the part you control directly. Cycle time surfaces the bottlenecks you can fix inside a sprint, and improving it feeds straight into lead time. Lead time is the number to bring to planning and stakeholder conversations, because it captures the full experience your customers actually have.

The real value shows up when you read the two together. Here's how the combinations diagnose different problems:

Reading cycle time and lead time togetherCycle timeHighLowLead timeLowHighRarecycle time is partof lead timePipeline bottleneckbreak cycle timeinto phasesHealthy flowwork starts fast, ships fastBacklog problempipeline is fine, fixprioritization and queueing
Reading both numbers together tells you where the problem lives. A high lead time with a low cycle time is a backlog problem, not an engineering one.
  • Low cycle time, low lead time: a healthy flow. Work gets picked up quickly and moves through the pipeline fast.
  • Low cycle time, high lead time: your pipeline is fine, but requests wait too long before anyone starts them. The fix is prioritization and capacity, not code review.
  • High cycle time, high lead time: the delivery pipeline itself is the bottleneck. Break cycle time into phases and find where changes stall.

That second row is the one teams miss most often. When engineering is measured only on lead time, a backlog problem looks like an engineering problem, and the team ends up working harder on something that was never slow. Measuring cycle time separately protects your engineers from taking the blame for upstream queueing. It also keeps the conversation developmental instead of turning delivery metrics into an individual scorecard.

If you want reference points for what "good" looks like, our PR cycle time benchmarks break down realistic ranges by phase so you can calibrate expectations against your own context rather than a vanity target.

How Do You Improve Cycle Time and Lead Time?

Because cycle time is a subset of lead time, every cycle-time improvement helps both numbers. Start there. The highest-impact moves are usually about size and waiting rather than raw coding speed:

  • Shrink pull request size. Smaller PRs get reviewed faster, merge cleaner, and carry less risk. This is consistently the single biggest lever on cycle time.
  • Cut pickup time. The wait between "PR opened" and "review started" is often the largest phase and it's pure idle time. A review SLA plus alerts when a PR goes stale attacks it directly.
  • Reduce deploy friction. If merged code sits for days before it reaches production, more frequent, smaller releases will pull cycle time down.

Lead time needs those fixes plus one more category the engineering pipeline can't touch: the wait before work starts. To bring lead time down beyond what cycle time alone achieves, work on prioritization, keep work-in-progress limits sensible so items don't stall in the backlog, and clear blockers before they queue up. That's where product and engineering share the work.

Whatever you improve, verify it with the numbers rather than gut feel. Change one thing, watch the median cycle time and lead time for a few weeks, and keep what moves the trend. The teams that sustain improvement treat these metrics as a feedback loop, not a target to hit once and forget.

Identify bottlenecks slowing your team. See an example report

Frequently Asked Questions

No. Lead time measures the whole journey from when work is requested to when it reaches the customer, including every wait and handoff. Cycle time measures only the active work window, from when the team starts an item to when it's done. Cycle time is a subset of lead time, so cycle time is always shorter than or equal to lead time for the same piece of work.

CodePulse dashboard highlighting the team's biggest delivery bottleneck

Find out which phase is holding your delivery up

CodePulse splits your cycle time into coding, waiting for review, active review, and merge, so you fix the queue that is actually costing you days. Read-only GitHub, no credit card.

Read-only GitHub · Your code stays yours · Team-level by default · No credit card