I have seen engineers, with some pride, tell me about how many things they like to work on in parallel so that they’re never blocked. “Oh don’t you work on more than one thing? You like being blocked?”
I’ve even seen managers suggest that team members do this.
On the surface, this makes perfect sense. Keep yourself busy, don’t waste time, stay optimally productive.
But being blocked is usually caused by a problem. When you treat that problem as something to ignore, or work around, what happens?
Naturally, the problem looks like something less important, and it gets less attention, and it continues to block you.
And this means that you’ll be blocked again. Or delayed. Or need a fancy work around.
If you keep yourself busy with 10 things at a time because you can’t easily get a single one done quickly, you are never dealing with the problem that keeps you from getting one thing done quickly.
You are hiding the real work that needs to be done.
The (Negative) Value Work of in Progress
Work in progress is undelivered work. It is work that is not yet ready to be shipped. This is incomplete features, bug fixes, half-baked designs, or anything else that cannot be delivered to the customer.
Work in progress is when time and money has been invested into creating something but the time and money cannot yet be extracted. It is unrecovered investment.
The longer work is in progress, the larger the overall payoff of the project must be in order to justify the investment.
If I spend 1 month of engineer work (let’s say it costs me ~$16k fully burdened for an engineer) for a feature, then that feature needs to be worth at least $1.6k/year in addition to the original investment just to meet the risk-adjusted rate of return (i.e. to break even with doing relatively boring things with your money).
A major function of money in a business is to create action. It creates action that allows more action to be taken. If a business fails, it’s because the actions taken are not sensible enough to create conditions for more action to be taken. This is what it looks like when you go bankrupt.
If your delivered feature is going to create 20k of sales immediately and it costs 16k to develop and one month to deliver, you’re getting a phenomenal return, and you immediately have 20k to invest into another project. If we assume we have projects that all have 20% rates of return in short time frames, then we could in theory simply grow by delivering project after project.
Let’s assume our company resources are exactly 16k, and it takes 16k to deliver, and we get 20k when we deliver which we can feed back into our next project. That project delivers 24k, and the next project delivers 28.8k. After 3 months, we have captured 12.8k additional dollars, simply by finishing things when they need to be finished.
If we wait for 3 months to deliver the first project, at the end of the 3 months, we have 20k. That’s 4k additional.
Why? The money in the system (as inventory) was not available to create more action, which would deliver more value. The same work was done, but because it was not finished, it did not deliver any value, and therefore amounted to less impact in the end.
Money that is not recovered at the end of a process cannot do more work. But work is where value is created. Therefore WIP is the enemy of value creation.
But it gets worse for WIP!
Often inventory becomes out of date. A great feature this month becomes outdated in a year as other competitors release better features. If it takes a year to complete, it’s worse than capturing the value late. The value is lost forever.
And the longer it takes to capture the value, the longer the team is not available to switch gears without taking the risk of losing the value forever. Which means that the burden on new opportunities is higher, as it not only must take into account the expected value of the new opportunity, but the value represented by completing the current work based on how much work is left to finish.
How Constraining WIP helps
By simply constraining how much WIP is allowed, you are forced to deal with the problems that actually block delivery.
This means you can now deliver smaller batches of work with less delay.
You can capture the value, and free up the money to do more work in your business.
Dealing with these constraints means you are increasing the possible flow of work through the system, which means the system is overall more profitable. (Because there is less delay between dollars to do work and dollars captured as value).
Additionally, morale improves because people are able to build an environment where work is done well, and they understand the context of their work and how to deliver. Seeing the fruits of one’s labor is an edifying and motivating experience.
Surfacing the problems leads to solving the problems, which leads to faster throughput and higher rates of return.