Why Your Pull Requests Take Too Long

A developer opens a pull request on Monday morning. By Wednesday afternoon, it still has no reviews. By Thursday, the base branch has drifted so far that merge conflicts have appeared. By Friday, the developer has forgotten half the context and the reviewer is looking at a diff that no longer tells a clear story.

This is not an edge case. In many teams, slow pull requests are the single biggest bottleneck in the delivery pipeline. The code is written, tested, and ready, but it sits in a queue, ageing like milk. Having worked with engineering teams across multiple organisations, I have found that fixing the PR process is consistently one of the highest-leverage improvements a team can make.

The Measurable Cost

Slow code reviews do not just frustrate developers. They have quantifiable impacts on delivery speed.

The DORA (DevOps Research and Assessment) ↗ metrics identify lead time for changes as a key predictor of engineering performance. Pull request review time is a major component of lead time. When PRs sit unreviewed for days, your deployment frequency drops, your batch sizes grow, and your feedback loops lengthen.

There is also a human cost. Developers waiting for reviews context-switch to other work. When the review finally arrives, they have to reload the mental model of what they built and why. This is expensive, often costing 20 to 30 minutes of recovery time per context switch.

Why PRs Stall: The Root Causes

Root CauseFrequencyImpactFix Difficulty
PR too large (400+ lines)Very commonHighLow (discipline)
Poor or missing descriptionCommonMediumLow (templates)
No review turnaround normCommonVery highMedium (cultural)
Too few reviewersModerateHighMedium (process)
Slow CI pipelineModerateHighHigh (infrastructure)
Unclear ownership (CODEOWNERS)ModerateMediumLow (config)

The PR is too big

This is the most common cause by a wide margin. A 1,500-line pull request is intimidating. Reviewers see it in their queue, decide they do not have time right now, and come back to it later. That “later” often means tomorrow, or the day after.

Research from SmartBear ↗ found that review quality drops sharply after 400 lines of changes and collapses after 600. Large PRs do not just take longer to review; they get worse reviews.

The description is inadequate

A pull request with a title like “Update stuff” and no description forces the reviewer to reverse-engineer the intent from the diff. This takes far longer than reading a clear explanation of what changed and why.

Reviewers are human. If understanding your PR requires significant effort, they will defer it in favour of something easier to review.

There is no team norm around review turnaround

Without an explicit agreement about how quickly reviews should happen, everyone optimises for their own schedule. Some developers review within the hour; others check the review queue once a day, at best.

The wrong people are reviewing

If every PR needs a senior developer’s approval and there are only two seniors on the team, you have created an artificial bottleneck. Review capacity needs to scale with PR volume.

The CI pipeline is slow

A 30-minute CI pipeline means the reviewer has to either wait or come back later to check if their feedback was addressed. Slow pipelines add latency to every round trip in the review cycle. Investing in a CI/CD pipeline that actually works pays dividends across the entire review process.

How to Fix It

Write smaller pull requests

This is the single most effective change you can make. Smaller PRs are reviewed faster, reviewed more thoroughly, and merged with fewer conflicts.

Break your work into logical increments. A common pattern is to split a feature into:

  1. Data model changes (migrations, types)
  2. Backend logic (API endpoints, business rules)
  3. Frontend implementation (UI components, state management)
  4. Integration and cleanup (wiring everything together, removing feature flags)

Each PR is independently reviewable and deployable. If any one of them has problems, the blast radius is limited.

Write better PR descriptions

A good PR description answers three questions:

  • What changed? A brief summary of the modifications.
  • Why did it change? The motivation, whether it is a bug fix, a new feature, or a refactor.
  • How should the reviewer approach it? Where to start reading, what to focus on, what was intentionally left out of scope.

Include screenshots for visual changes. Link to the relevant issue or ticket. Call out any decisions you are unsure about and want specific feedback on. Good PR descriptions are a form of documentation that developers actually read.

Set team norms explicitly

Agree as a team on review turnaround expectations. A common and effective standard is: first review within four working hours. Write it down. Make it part of your team agreement.

This does not mean reviews take priority over deep work. It means developers check the review queue at least twice during a working day.

Distribute review responsibility

Use CODEOWNERS files to route reviews automatically, but also rotate reviewers to spread knowledge and prevent bottlenecks. Every developer on the team should be reviewing code regularly, not just the senior members.

Consider a “review buddy” system where each PR is automatically assigned to a specific reviewer based on a rotation, ensuring even distribution.

Differentiate blocking from non-blocking feedback

Not every comment needs to block a merge. Establish conventions like prefixing comments with “nit:” for stylistic suggestions or “suggestion:” for non-blocking alternatives.

This lets authors merge once blocking issues are resolved without waiting for another round of review over cosmetic feedback. For more on making reviews productive rather than frustrating, see code reviews that do not waste time.

Speed up your CI pipeline

If CI takes 30 minutes, every round of review feedback adds at least 30 minutes of latency. Invest in parallelisation, test splitting, build caching, and flaky test elimination.

A CI pipeline under ten minutes transforms the review experience. Feedback cycles tighten, and reviewers can check fixes in near real time.

PR Size vs Review Quality Defect Detection Rate (%) Lines Changed in PR 100 200 400 800 1500 20% 40% 60% 80% 100% Quality drops sharply after 400 lines changed

Measuring Improvement

Track these metrics to understand whether your review process is getting better:

  • Time to first review: how long a PR waits before receiving its first review
  • Review rounds: how many back-and-forth cycles before merge
  • PR size: the median number of changed lines per PR
  • Time to merge: from PR creation to merge

Many tools (GitHub’s built-in insights, LinearB, Sleuth, and Haystack) can surface these metrics automatically.

The Cultural Shift

Fast code review is ultimately a cultural choice. It requires the team to agree that unblocking colleagues is a high-priority activity, that small PRs are better than comprehensive ones, and that review quality matters more than review thoroughness.

The teams that ship the fastest are not the ones that write the most code. They are the ones that get code through review and into production with the least friction. Fixing your PR process is one of the highest-leverage improvements you can make.

Frequently asked questions

How big should a pull request be?

Research from Google and SmartBear suggests that pull requests should be under 400 lines of changes. Beyond that, reviewer attention drops significantly and the quality of feedback declines. Aim for the smallest PR that delivers a coherent, reviewable unit of work.

How long should a code review take?

A well-scoped pull request (under 400 lines) should take 15 to 30 minutes to review. If reviews routinely take longer, the PRs are likely too large or the context provided in the description is insufficient.

Should I review code even if I am not a domain expert?

Yes. Non-expert reviews catch different things: unclear naming, missing documentation, confusing logic flow. You do not need to understand the business domain deeply to spot code quality issues.

How do I handle disagreements in code review?

Distinguish between blocking issues (bugs, security problems, broken contracts) and preferences (style choices, alternative approaches). Block on the former, comment without blocking on the latter. If a disagreement persists, discuss it synchronously rather than going back and forth in comments.

What is the ideal turnaround time for a code review?

Most high-performing teams aim for a first review within four working hours. This balances the reviewer's need for uninterrupted focus with the author's need to avoid context-switching back to stale work.

Enjoyed this article? Get more developer tips straight to your inbox.

Comments

Join the conversation. Share your experience or ask a question below.

0/1000

No comments yet. Be the first to share your thoughts.