Back in the days when faxing between companies was a popular thing, I recall a client that had a workflow like this:

  1. Fax arrives and is printed by the fax machine
  2. Paper is picked up by a person and carried to the scanner where is it digitized.
  3. Paper is immediately shredded because there was confidential information on it.

Looking at a process like this, the waste is pretty obvious. They had to buy paper and ink that was useful for a matter of minutes and then thrown away. They had to securely dispose of the shredded papers for reasons of confidentiality. We paid someone to transfer the papers from one device to another.

They hadn’t set out to create a system with this much waste. At the beginning, they wouldn’t have had the scanner and so the information would have remained paper based for long periods of time. At that point, printing out the information made sense.

The moment they introduced the scanner and digital storage, that no longer made sense but it wasn’t questioned. It wasn’t a big enough problem to get fixed at that time and what they had worked, even if it was wasteful and inefficient. Over time, it’s quite likely that the only people who even knew it was this broken were the people moving the paper from one machine to another and possibly someone in purchasing who was signing off on the paper usage.

There are many systems like this in every company. Little things that we could change in our environment to improve what we’re doing but that aren’t visible enough or important enough to get done. Yet when we have enough of them, the entire system gets mired in waste.

This is the essence of continuous improvement. We need to be always looking for opportunities to improve what we’re doing. Little things that individually may not be that big a deal but when considered all together, make the system much less effective.

We also need to be empowering everyone to looking for improvements. In the example above, likely only a few people even knew about the wasted paper so if we relied only on certain people to find improvements, that would have stayed hidden forever. We all need to be looking for ways to improve.

I gave an example of workflow but this is just as applicable in source code. Things that have just gotten more and more wasteful over time, and that we aren’t cleaning up. In code, we often call this technical debt.