- cross-posted to:
- lobsters
- cross-posted to:
- lobsters
TL;DR
- Pull requests were designed for open source contributions from untrusted strangers. Applying them to trusted teams is a category error.
- Peer-reviewed research shows code review’s primary value is knowledge transfer, not bug detection. Less than 15% of review comments relate to actual bugs.
- Async PR workflows mean your code spends 86-99% of its lead time waiting. One organisation spent 130,000 hours in a single year waiting on PRs that received zero comments.
- DORA research across 36,000+ professionals shows trunk-based development correlates with dramatically higher software delivery performance, and faster code reviews alone improve performance by 50%.
- The alternative is T*D: Test-Driven Development (build quality in), Trunk-Based Development (integrate continuously), and Team-focused Development (review during creation, not after).
- The transition is gradual: optimise PRs first, adopt Ship/Show/Ask, then move to pairing and trunk-based development as trust and automation mature.-



I would rather not have my 20-60 work commits, possibly shifting solution design twice or three times, in the main project history, spanning days and sometimes weeks, invalidating earlier commits, and a hassle if not impossible to reasonably and efficiently document changes between them. And all those changes intertwined with my other work and my colleagues’ changes.
I really don’t get how “develop in feature-flagged trunk” is supposed to come together with “single dev single changeset”. Work evolves. Design evolves. Surely, multiple/many “single changesets” must come together to form new features and changes? This claim seems to assume issues are found before it’s being changed again, and in a timely manner, even when it is behind a feature flag?
Were pull requests really “created for FOSS”? I feel like, maybe assume, pre-merge reviews have been a thing before that [and unrelated to PRs].
I feel like the article could have been structured a lot better, and made its point without a “it’s like this” “but maybe not” digression. Feels like inflammatory bait into relativation. I guess I’ll refrain from raising my other points and disagreements that I noted because by the end of the article, it wasn’t really claiming it broadly anymore anyway.
Outside of the irritation, I found the arguments interesting. I’ll keep it in mind, but I don’t see my team implementing it like that or to a higher degree. For various reasons.
Despite the negative vote sum, I think it’s an interesting alternative perspective. Even if I found it irritating to read, and even if people hate it, it’s a good discussion in the comments. About how we work.