The Snail Pace of Pull Requests

Francisco Trindade
2 min readJan 28, 2020

--

This post is part of a mini series on the challenges of working with feature branching. You can find the intro to the series here.

The speed of change for product delivery teams keeps increasing. Companies are releasing many times a day. They are testing in production and iterating fast to release new product features.

In the meantime, when you look at an engineering team, there is a significant amount of time where work is just there, waiting.

As the industry converges to efficient teams, one of the most important metrics in software delivery is lead/cycle time. This metric has been known in Lean Production Systems for many years, and is catching on in technology. The recently released Accelerate book actually puts it within the 4 main metrics we should care about.

Lead/cycle time makes sense. The goal of iterative software development is to deliver features from beginning to end as fast as possible. How long it takes to move something from idea to production is the main thing a team should worry about.

Besides that, if we finish work quickly, we have less work in progress.

It leads to less context switching and gives businesses more options to change course rapidly. It all compounds to more productivity.

But instead, my experience with recent software teams has been mostly like this:

Timeline of a real feature

The chart above shows a real feature that was delivered by a team I’ve worked with recently. It took 56 hours to get it ready to be released, but from that only 27 was actually coding/reviewing it. And for 29 hours (51% of the time) that work was just waiting for multiple rounds of review.

It’s a pattern. An engineer finishes working in a feature, submits a PR. They then go on to work on something else and multiple hours later that PR is reviewed. At that point the original engineer is in the middle of some other work. Many hours go past again until they come back to the first PR. It’s been now a day and they don’t remember all the details. There is some quick discussion about the review, they fix comments and submit another PR.

And this cycle repeats. One, two, three times. It’s all waste.

--

--

Francisco Trindade

Born in Brazil. Living in NY. Engineering at Braze. Previously MealPal, Meetup, Yourgrocer.com.au (co-founder) and ThoughtWorks.