This article was originally posted in September 2011
"Eliminate Waste!" This is one of the earliest mantras of Lean that people learn. It is easy to say but it can cause problems if we consider it a means - instead it is actually a goal. Forgetting this sets the student up for a long bout of wasted effort or at least incomplete results.
When I first started teaching Lean, I began by talking about eliminating waste. It was fine. But my students were not seeing the fruit that I knew they could. It was through our extensive coaching with Lean software development that we came to see that much of what we consider "waste" is a result of over-burdened and uneven workflow. In other words, although we want to eliminate waste, most of this waste is actually caused by something else.
Years ago, Jim Womack made this same observation in an interesting blog called "Mura, Muri, Muda?" In it, he observed that muda ("waste") is caused by "muri" (overburdened workers) which is caused by "mura" (unevenness of work).
Eliminating waste means looking at something else.
So, what do you look at? It takes a shift in perspective.
Prior to Lean, if you were in a factory, you might focus on idle machinery. In a software development environment, you might focus on idle developers. Such underutilized resources are waste, right? It is why in software development, management creates schedules based on utilization rates. That is the traditional, mass production or waterfall approach to efficiency.
The manager in a Lean software development environment has a different focus: cycle time (loosely thought of as the time from start to finish). In a Lean environment, the waste is in delay, delay in delivering value to the customer.
The one sees slack as waste and focuses on utilization. The other sees delay as waste and focuses on the cycle time to value delivery. Which would you select to best assist your business and/or customer? How you answer this depends on your mindset, that is, the paradigm from which you work.
This is not merely a philosophical exercise. As I wrote in The Importance of Mindsets, I believe much of the nonsense we get in the software world is due to the fact that few people seriously challenge their mindsets and why we do the things we do. And that keeps us from being able to shift to new paradigms that work.
For me, the shift in Lean thinking deepened when I went from "eliminate waste" to "optimize the whole." Optimize the whole is the deeper, more fundamental mantra for Lean. Eliminating waste may produce local optimizations that do not produce any system-wide benefit and sometimes may even cause harm.
Here are some ways to eliminate waste by getting to the cause of it:
- Eliminate delays that induce work. See How Delays Cause Waste: A Main Tenet of Lean.
- Focus on the systems, making it more helpful to people and less likely to generate errors. This mirrors the lean mantra of "build quality in." One manifestation is Acceptance Test-Driven Development.
- Focus on improving learning in the organization such as Toyota Kata and continuous learning.
And, of course, you still gotta think.
Be clear, I'm not saying "eliminate waste" is incorrect. It is the goal, not the means.



