Thanks to the spread of Lean-Thinking, software development organizations are talking more and more about the need to “eliminate waste.” It is good to get rid of waste. It may be even better not to create it in the first place! Unfortunately, software development organizations create new work for themselves without even realizing it. How does this happen? Consider Figure 2,showing two ditch-diggers, one making work for the other.
Figure 2. Creating work due to a bad process
One digger is throwing his dirt into the other man’s hole. Now the second man has to shovel that out in addition to his own dirt. Their system of coordination (or lack of it) has created new work—double the work—for the poor guy! And once created, the work must be done. I call this “induced” work, because the way they are working together is causing it to occur.
Is it absurd? Maybe. You would think the second guy would quickly see what was happening, turn around and change how they are working. This is because in the physical world it is readily apparent what causes induced work. In software development, the act of inducing work is not so apparent and therefore, is more insidious and more difficult to stop. Furthermore, what we often look at to guide our process often increases our induced work under the guise of making us more productive.
To quit shoveling work into each other’s ditches, we have to look at new kinds of measures. Rather than defining efficiency by “productivity,” we have to look at “time.” Consider the following software related example. In an attempt to make themselves more efficient, a testing group decided to batch up the code being tested. The assumption was that this focus would increase their efficiency and therefore, their productivity. The result, however, is that developers subsequently had to wait days or weeks longer to be told that they made an error. These delays made the developers less efficient and lowered the quality of the code they were delivering to be tested. Consider the following conversation I’ve had numerous times with developers.