This afternoon I refreshed the stats page in my tooling and the merged count read 100.
I set that number for myself earlier this year: 100 "meaningful" pull requests in a single day, on a single project. Even then I wasn't sure it was ambitious enough. When I wrote about attention my best day was 58 and a regular one high 30s; two days ago it was 72, against an average around 40.
The other round number is that I turned 50 recently. Fifty gets called a midpoint, which is optimistic arithmetic, but the real use of a round birthday is that it makes you stop and ask what the next stretch is for. A hundred PRs is the same kind of number: arbitrary, decimal, and still worth stopping for.
Later in the day I peaked around 117 in a 24-hour period. Of those, around a quarter were "zero touch" and the remainder I merged by hand[1].
What the number measures is capacity. It says the system -- the harness, the CI, the risk tiers, the 5-10 epics -- can move a hundred changes through me in a day without me thrashing. That's what I set it to measure, and that's all it measures.
It doesn't measure value. A hundred PRs is a hundred units of work shaped to be mergeable, and counting them tells you nothing about whether they were the right hundred[2]. PR count is the metric everyone warns you about, and they're right; I only get away with it because it's self-set and nobody pays me per merge.
Naturally, having explained why the number doesn't mean very much, my next goal is 700 in a week. Looking at that chart:
-
Very little happens overnight. It's not dead time. I usually use that time (aka "quota") for longer-running tasks. But the system needs to be doing productive work without my attention too.
-
Open PRs hover around 30. That's not bad, but I'd rather they trend closer to zero. I think ~10-20 is a practical number given the WIP targets.
-
I need to lift the auto-merge rate. Even an increase from 25% to 35% has a huge downstream impact.
Cheers!