A change asking to join

Think of it when a change is ready for others to see, check and approve.

In everyday life

A building inspector can check a small extension room by room in an hour. Given the same hour for a whole new tower, they walk the halls and sign. A small request gets a real inspection.

One case

A developer on an airline booking site opens a pull request that changes 1,900 lines across 46 files. A reviewer reads it for 25 minutes and approves it. Line 1,312 removes the check that held refunds over $500 for a manager. The reviewer never saw that line, and the first large refund goes out unchecked a week later.

A change asking to join
The ideaHow teams ship
A change asking to join

A request to merge a branch into the main line. It shows the changes, usually runs the automatic checks, and gives teammates a place to review and comment before anything joins.

How teams ship, Foundations

Every case

A pull request is where a change gets a second pair of eyes and the automatic checks before it reaches everyone. That works only if the reviewer can hold the whole change in their head. Small pull requests get careful reviews. Large ones often get skimmed and approved, because reading 2,000 lines with care takes hours that nobody has. The size of the diffThe lines a change adds and removes, shown side by side. Reviewers read the diff to see what changed. sets a limit on how good the review can be.

The word

Engineers call this

pull requestA request to merge a branch into the main line. It shows the changes, usually runs the automatic checks, and gives teammates a place to review and comment before anything joins.

Keep each pull request to one purpose, small enough to read in one sitting. Say what it changes, why, and how you checked it.

Where this idea leads

Skills that encode it

  • file-pr tstackOpens the description with the problem in plain words, then the solution, not an inventory of edits.
  • pr Matt PocockA PR body template: a short summary, before and after evidence, and the merge danger with its blast radius.
  • babysit-pr tstackKeeps the PR at the size the goal needs, and declines review-loop fixes that grow it one cheap step at a time.