The biggest obstacle
In Lean Manufacturing there is something called The Theory of Constraints.
One of its central premises is that, since a system cannot produce faster than its slowest bottleneck, there is only ever one thing that it makes sense to prioritise: resolving that bottleneck, whatever the biggest one is at any moment in time.
If that doesn’t sound obvious right away, here is an intuitive way to think about it. It is one of the examples that Dr. Eliyahu Goldratt uses in his book “The Goal”:
Imagine a bunch of kids hiking across the countryside, trying to reach the peak of a mountain as quickly as possible. No matter how fast the kids are, who leads the pack or who trails behind, as a group they cannot walk faster than the slowest member of the team. There is only thing that you, as a leader of that expedition, can do to speed the group up: find a way to somehow make that kid go faster. You could, for example, try distributing the load he carries amongst the other kids so that he can walk faster. Whatever you do, if it doesn’t help the slowest kid to speed up, as a group they won’t make it to the top any faster.
Another central idea of the Theory of Constraints is that the bottleneck needs to be considered in the context of achieving a company-wide specific goal. In traditional businesses, this goal is almost always to improve profit. In startups, it often is to grow faster (in revenues, users…).
So, yes: it follows that, to achieve or improve on your goal, your top priority should be to identify and solve your most important bottleneck.
But most importantly: this also means that anything else you do, any other improvements or optimisations, will have no effect whatsoever on improving your throughput.
This is incredibly useful to keep in mind when prioritising. And we often don’t in the midst of the day-to-day, where attending fires or keeping others busy often takes priority.
Think about it: all those changes you make in your development team’s processes and practices, movements of people between squads to try to squeeze more productivity out of a given team, how you communicate, how you spec out your tasks, etc…
They will not have any effect on helping you achieve your goal faster unless they are helping to unblock your hairiest jam.
Mind you, it will still make sense to make some of those changes: if you are trying to build a good organisation where talented people come to work and stay, you’ll have to care about more than just productivity.
For instance, improving on how you communicate what the team is working on and why can have a positive impact on morale inside and outside your team; giving developers some freedom as to what to work on will ensure they keep learning different things and keep them engaged; working with multi-disciplinary teams that can ship entire features on their own will help reduce hand-offs between teams and help them deliver faster on what they are doing; etc.
All of those things are important. If they are helping create a good organisation where people are happier and more engaged, they are probably worth doing.
So do those changes. Just don’t forget that, even if they “make sense” to do, they might not be helping when it comes to achieving your goal faster.
So if you find yourself wondering about what your team should do next; or frustrated with lack of progress towards your goal despite all the changes you have been making, you might want to go back to:
After all, it doesn’t matter how fast you can make your car run if you can’t get that buffalo out of the way.
There is much more to the Theory of Constraints than what I explain above. It is a management methodology to systematically improve throughput in Lean Manufacturing and it holds a lot of management lessons.
The best place to get started is the book The Goal, where Dr. Eliyahu M. Goldratt introduced the Theory of Constraints as an easy to read story. A perennial seller still in heavy rotation after more than 30 years.