KPI Tree

Metric Definition

Finding where reviews stall

Bottleneck stage = the stage with the highest median wait time and the deepest queue
Median wait timeTypical time a pull request spends in a given stage
Queue depthNumber of pull requests waiting in that stage at once
StageA discrete phase such as awaiting first review, in review, or awaiting rework

Track from

Metric GlossaryOperations Metrics

Code review bottleneck analysis

Code review bottleneck analysis is the practice of measuring where pull requests spend their waiting time in the review pipeline so the slowest stage can be identified and fixed. It turns a vague sense that review is slow into a precise location. The goal is to find the one stage where the queue backs up, because fixing anything else barely moves the total.

8 min read

Generate AI summary

What is code review bottleneck analysis?

Code review bottleneck analysis is the practice of measuring where pull requests spend their waiting time in the review pipeline so the slowest stage can be identified and fixed. The review process is a series of stages: a pull request waits for a first reviewer, sits in active review, waits for the author to address comments, then waits for a re-review. Bottleneck analysis measures the wait at each stage and finds the one that dominates the total.

The value comes from a simple truth about pipelines. The slowest stage sets the pace of the whole system, and time invested anywhere else is largely wasted. If pull requests wait twelve hours for a first reviewer but only twenty minutes in active review, the bottleneck is reviewer availability. Making review faster would change almost nothing. Bottleneck analysis stops a team from optimising the wrong stage.

Definition note

A bottleneck is the stage with both a long wait and a deep queue. Wait time alone can mislead. A stage with a long wait but no queue is a slow step, while a stage with a deep queue is where work is genuinely piling up. The bottleneck is where both are true at once.

How to measure code review bottleneck analysis

There is no single number for bottleneck analysis. Instead you measure the median wait time and the queue depth at each stage, then compare them to find the stage that holds the most work for the longest. The stage that tops both lists is the bottleneck.

The practical method is to break the journey of a pull request into stages and timestamp each transition. From those timestamps you can compute how long the typical pull request waits at each step and how many pull requests sit in each step at once. Watching how the queue depth changes over a week shows whether the bottleneck is steady or moves around as the team batches work.

  1. 1

    Define the pipeline stages

    Split review into discrete stages such as awaiting first review, in review, awaiting rework, and awaiting re-review.

  2. 2

    Timestamp every transition

    Record when each pull request enters and leaves every stage.

  3. 3

    Compute wait time per stage

    Take the median time pull requests spend in each stage across the period.

  4. 4

    Measure queue depth per stage

    Count how many pull requests sit in each stage at a typical moment, then rank stages by wait and depth together.

Code review bottleneck analysis in a metric tree

Bottleneck analysis is itself a decomposition, which makes it a natural fit for a metric tree. The total review wait is the sum of the waits at each stage, and a tree lays those stages out so the dominant one stands out at a glance. Each stage then breaks down further into the causes you can act on.

When the tree shows that the first-review stage owns most of the wait, you look at its children: reviewer availability, queue depth, and time zone overlap. The bottleneck is rarely a single person being slow. It is usually a structural cause such as too few reviewers assigned to too many pull requests. The tree surfaces that cause instead of letting the team guess.

Metric tree insight

The dominant branch is the bottleneck, and it is the only branch worth investing in first. The tree makes this concrete: if awaiting first review holds 70 percent of the total wait, speeding up active review cannot help. Fix the bottleneck, then re-measure, because the bottleneck moves once you relieve it.

Code review bottleneck analysis benchmarks

There is no single benchmark for a bottleneck because the metric points at a location rather than a value. What you can benchmark is how concentrated the wait is in one stage and how the team typically performs at each. The table below shows where the bottleneck usually lands and what a healthy versus unhealthy share of total wait looks like for each stage. A healthy pipeline spreads wait fairly evenly. An unhealthy one parks most of it in one place.

StageHealthy share of total waitBottleneck warning signUsual root cause
Awaiting first reviewUnder 40 percentOver 60 percentToo few available reviewers
In active review15 to 30 percentOver 50 percentOversized or complex pull requests
Awaiting rework15 to 30 percentOver 45 percentAuthors juggling other work
Awaiting re-reviewUnder 25 percentOver 40 percentReviewers lose context between rounds

How to improve code review bottleneck analysis

Improving bottleneck analysis means two things: getting better at finding the bottleneck, and clearing the one you find. Both depend on clean stage timestamps and a team agreement about who owns each stage. Once the dominant stage is clear, the fix is usually targeted at that stage alone rather than a general push to be faster.

Instrument every stage

You cannot find a bottleneck you do not measure. Timestamp each transition so wait time is visible per stage.

Relieve the first-review queue

When awaiting first review dominates, add reviewers to the rota or rebalance load rather than chasing authors.

Fix one bottleneck at a time

Clear the dominant stage, then re-measure. Relieving the bottleneck moves it somewhere new.

Alert on stalled pull requests

Flag any pull request sitting in a stage past a threshold so it does not silently pile up.

Common mistakes when tracking code review bottleneck analysis

  1. 1

    Optimising a non-bottleneck stage

    Speeding up active review when the wait sits in first review changes nothing. Find the dominant stage first.

  2. 2

    Blaming individuals

    A bottleneck is usually structural, such as too few reviewers, not one slow person. Look at the stage, not the name.

  3. 3

    Measuring wait without queue depth

    A long wait with no queue is a slow step, not a bottleneck. You need both signals to locate the real pile-up.

  4. 4

    Assuming the bottleneck stays put

    Once you relieve the dominant stage, the bottleneck moves. Re-measure rather than keep fixing the old one.

Related metrics

Cycle time

Process speed

Operations Metrics
Jira

Metric Definition

Cycle Time = Process End Time − Process Start Time

Cycle time measures the total elapsed time from the start to the end of a process. It is a fundamental operations metric used in manufacturing, software development, service delivery, and any context where the speed of a process directly affects throughput, cost, and customer satisfaction.

View metric

Sprint velocity

Agile planning metric

Operations Metrics
Jira

Metric Definition

Sprint Velocity = Sum of Story Points Completed in a Sprint

Sprint velocity measures the amount of work a team completes during a sprint, typically expressed in story points, ideal days, or another unit of estimation. It is a planning tool that helps agile teams forecast how much work they can commit to in future sprints based on their historical completion rate. Velocity is one of the most widely used and most frequently misunderstood metrics in agile software development.

View metric

Deployment frequency

DORA metric

Operations Metrics
GitHub

Metric Definition

Deployment Frequency = Number of Production Deployments / Time Period

Deployment frequency measures how often an organisation successfully releases code to production. It is one of the four DORA (DevOps Research and Assessment) metrics that predict software delivery performance and organisational outcomes. Teams that deploy more frequently deliver value to users faster, reduce the risk of each individual release, and create tighter feedback loops between development and production.

View metric

Why did my metric change? A diagnostic framework

Metric Definition

When review throughput drops, this diagnostic framework helps you trace why the metric moved and pinpoint where reviews are stalling.

View metric

Metric trees for engineering teams

Metric Definition

This guide shows engineering teams how to place code review bottlenecks within a wider tree of delivery and flow metrics they own.

View metric

Build code review bottleneck analysis as a metric tree with owners on every branch

KPI Tree lays out each review stage as a branch of the total wait, with an accountable owner on every one. When a stage starts holding most of the queue, its owner is notified, so the bottleneck gets cleared where it actually sits rather than guessed at.

Experience That Matters

Built by a team that's been in your shoes

Our team brings deep experience from leading Data, Growth and People teams at some of the fastest growing scaleups in Europe through to IPO and beyond. We've faced the same challenges you're facing now.

Checkout.com
Planet
UK Government
Travelex
BT
Sainsbury's
Goldman Sachs
Dojo
Redpin
Farfetch
Just Eat for Business