Small Pull Requests Win Every Time
A simple habit that improves code reviews, code quality, and team productivity

Software Engineer x Data Engineer - I make the world a better place to live with software that enables data-driven decision-making
Search for a command to run...
A simple habit that improves code reviews, code quality, and team productivity

Software Engineer x Data Engineer - I make the world a better place to live with software that enables data-driven decision-making
No comments yet. Be the first to comment.
In this series, I will explore practices, reflections, and lessons learned that shape how we collaborate, improve processes, and build better ways of working. [Series cover photo by Leone Venter on Unsplash]
A practical guide to embracing "Release Early, Release Often" to ship faster, learn sooner, and build better software.
Why fanning out OAuth introspection inside your VPC creates a distributed bottleneck - and how to keep internal auth fast.

How Model Context Protocol and Agent Communication Protocol shape the AI stack.

A practical follow-up on turning agent instructions into focused, testable workflows.

How to reduce context size, improve reasoning, and build more predictable AI coding workflows

One of the simplest engineering habits that dramatically improves team productivity is to
Keep the pull requests small.
It sounds obvious. Yet in many teams, pull (merge) requests regularly contain hundreds or even thousands of changed lines.
Large PRs slow down reviews, introduce more bugs, and create unnecessary friction in the development process.
Small pull requests solve most of these problems.
Let's look at why.
A typical large PR looks like this:
Changes:
- 2k lines modified
- 25 files changed
- feature implementation
- refactoring
- small bug fixes
When reviewers open such a PR, several things happen immediately:
it takes a long time to understand the context (even if there's a comprehensive description)
the reviewer gets tired halfway through
parts of the change are reviewed superficially
bugs slip through
Even worse, large PRs often mix multiple types of changes:
feature implementation
refactoring
formatting
dependency updates
This makes the review provess significantly harder.
For example:
Changes:
- 120 lines modified
- 3 files changed
- one clearly defined change
The intention should be obvious from the title:
Add retry mechanism for payment API client
Or
Fix race condition in inventory cache refresh
A reviewer should be able to quickly answer:
What problem does this solve?
What changed in the code?
Could this introduce side effects?
If the answer to these questions is clear, the PR is well srtructured.
Small pull requests bring several benefits.
Small PRs are easier to revierw, which means they get merged faster! (Time to market!)
A useful rule of thumb:
A pull request should not take more than 10-15 minutes to review.
If it does, it's probably too large ¯\_(ツ)_/¯
When changes are small:
reviewers pay more attention
discussions are more focused
issues are caught earlier
Large PRs often lead to "rubber-stamp approvals" ("LGTM").
When a bug appears after deployment, smaller PRs make it mych easier to locate the cause.
Instead of searching through a massive change set, you can quickly narrow it down.
Small changes mean smaller risk.
If something goes wrong:
the rollback is easier
the impact is limited
the root cause is easier to identify
This is one the reasons high-performing teams deploy frequently.
Here are a few simple habits that help.
Do not mix refactoring and features developmnet in the same PR.
Bad:
Changes:
- Add new API endpoint
- Refactor service layer
Better:
PR #1
Changes:
- Refactor service layer
PR #2
Changes:
- Add new API endpoint
Instead of building a huge branch over several days, open PRs earlier.
Even partial work can be reviewed it it's structured well.
Read more on Release Early, Release Often in my previous article.
If a change becomes too big, split it into logical steps.
Example:
PR #1
Changes:
- Introduce new repository interface
PR #2
Changes:
- Implement PGSQL adapter
PR #3
Changes:
- Update service to use new repository
Each step is easier to understand and review. It's atomic. The discussions are stritly focused on a subject.
If a pull request feels difficult to review, it's probably too big.
In practice, I try to keep PRs:
up to 500 lines (under 200-300 lines is a sweet spot; the <100 is a perfect PR)
focused on one logical change
reviewable in under 15 minutes
clearly described
This keeps the development flow smooth and predictable.
Small pull requests are one of the easiest improvements a team can make.
They lead to:
faster reviews
better feedback
fewer bugs
smoother deployments
And the best part is that this habit requires no new tools or processes.
Just small changes.
LGTM memes: https://programmerhumor.io/memes/lgtm
Code review paradox meme: https://programmerhumor.io/git-memes/looks-good-to-me-2w1a
Cheers!