2 ms·
We had to admit the obvious fact that code review had become a useless ritual for us. - people asking each other to "rubber-stamp" one-liner PRs - breaking up
by legerdemain 4y ago
We had to admit the obvious fact that code review had become a useless ritual for us.
- people asking each other to "rubber-stamp" one-liner PRs
- breaking up changes into small PRs holding up progress, because a reviewer requesting a change on an earlier chunk would need to get propagated to all later chunks
- no one wanting to touch large PRs
Our solution was drastic: we abolished code review.
- Big changes, for some definition of "big," go through an initial design review in a Google doc.
- Each feature is owned by exactly one person. You merge code directly into main at whatever pace you choose. This removes the bottleneck of CR.
- All bugs that pertain to your feature come directly to you and you work on them as your first priority. This encourages us to write correct, appropriate, well-tested code.
- If a feature owner leaves the team, the feature is reassigned to someone else. In the rare case when the feature is too hard to hand off, we rip it out and rewrite it. It's obvious that the support burden of such a feature would have been too high. This encourages us to write clear, simple, understandable code.
We're pretty happy with this arrangement so far.