Your developers have have all written code, and they find themselves waiting for code reviews via pull requests. You read yesterday’s email where I seemed to suggest that you don’t want them to pick up other tasks and start working on them.
“Okay, Mr. Smarty Pants, with your tens of email subscribers, do you think I should have them sit around doing nothing?” you may ask.
Not necessarily, and hear me out on this one: you could have them play Minecraft.
Seriously.
We established yesterday that your developers write code faster than their teammates review that code. This review step may be your delivery system’s bottleneck. A bottleneck is the constraint in your system that entirely determines the throughput of your system and is the only place where improvements will impact the throughput of your system.
Herbie and the boy scouts
In the pivotal scene of Dr. Eliyahu Goldratt’s seminal work The Goal, the main character Alex is hiking with a group of boy scouts. Herbie is the slowest of the group, and Alex realizes that no matter what anyone does, Herbie’s speed determines the speed of the entire troop.
If code review is your Herbie, having your developers write more code cannot increase how often your team ships. More code will pile up at the review step, increasing inventory or partially done work as Mary and Tom Poppendieck name it and identify as waste in Implementing Lean Software Development: From Concept to Cash.
The Choice
Now comes the most importance choice you will make as a leader, the choice from which the rest will flow.
Do you want a low cost per-line-of-code ratio, or do you want to ship product?
If you want the former, have them write more code. If you want the latter, adding more code will increase the lead time of that code, so find almost anything else for your developers to do.
Before you decide, which do you think your customers want?
Take action
Today’s tip then, figure out what you value: full utilization or shipping.
And for the record, I didn’t suggest that playing Minecraft tops the Best Things To Do list. I only suggested that if you prioritize shipping, Minecraft would be less harmful than piling up more partially completed work.
Better still, if Alices’s lack of review availability blocks Bob, instead of tossing more into her queue and complaining, maybe Bob could talk to Alice and see where he could lend a hand to free Alice’s time. This is called level loading, but I don’t want to further spoil The Goal for you, so we’ll save that for later.