The PR review meeting usually starts with good intentions: reviews are stalling, so put everyone in a room and clear the queue. It works once. Then it becomes a standing meeting whose real function is hiding that reviews are still stalling everywhere else.
Reviews stall for structural reasons — nobody knows it's their turn, the PR is too big to start, and waiting is invisible. A meeting fixes none of those. A system does. Here's one you can set up in an afternoon.
1. Cap the size of a PR before you cap review time
A 1,200-line diff doesn't get reviewed; it gets skimmed and approved. The single highest-leverage rule is a soft cap: if a PR is over ~400 lines of diff, it gets split or it gets a written reason in the description. Reviewers may still decline a monster on sight — that's the point. Size limits are what make "review within a day" a plausible promise instead of a fantasy.
2. Make the queue visible, not verbal
Async review dies when "waiting on review" is something you have to ask about in standup. Put open PRs in a dedicated lane on the board, sorted by age, next to the tasks they close. The rule: anything older than 24 working hours is red, and red gets read first. No meeting required — the oldest item is just obviously, publicly oldest.
3. Assign an owner, not a crowd
"Anyone can review" means no one does. Every PR gets one named reviewer — round-robin, by area of the codebase, doesn't matter — and that person owns the first response, not necessarily the whole review. First response within one working day: a real review, a request for changes, or "I'm the wrong reviewer, handing to X." Silence is the only failure mode.
4. Separate blocking from non-blocking feedback
Async review gets slow when every comment is treated as a gate. Adopt two prefixes and enforce them socially:
- blocking: must be resolved before merge (correctness, security, broken tests)
- nit: optional; author decides (style, naming, taste)
Reviewers who write "blocking:" have to be able to say what breaks without the change. It keeps the bar honest in both directions.
5. Close the loop without a call
The author merges when CI is green and blocking comments are resolved — not when a meeting says so. The board updates itself because the merge is the update: the task moves, the PR lane clears, and the whole team can see it happened.
That last part is why we built Kahoona the way we did: PRs stream into the project board next to the tasks they close, so the review queue is a live lane, not a spreadsheet someone maintains.
👉 Make your review queue visible — free to start
Related: Pull request dashboards, explained · How to run async standups from your GitHub activity


0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.