I am not a fan of pull requests (PRs). I've written about them, lost bloody battles over them (Hi, Amazon), and helped many software teams move past them.
I advocate for continuous integration (CI), merging code into mainline frequently — typically several times a day. This is technically possible with PRs, but very uncommon. Martin Fowler covers CI in depth in Continuous Integration, as do Humble & Farley in chapter 3 of Continuous Delivery.
Many people see "PR" and think "Code Review." The two are not synonymous. There are better ways to review code, such as pairing and continuous review after a merge, without interfering with CI. As Fowler puts it, "Even when done well, Pre-Integration Reviews always [introduce] some latency into the integration process, encouraging a lower integration frequency."
As AI revolutionizes the software industry, I'm seeing companies turn to measuring PRs: their length, their duration, their frequency. Recently, DX published an article that nicely captures this trend: "Is there a relationship between cycle time and PR throughput?"
The research is competent, and the framing is exactly backward.







