Why Is Looking at Time So Important?

All of our work should add value to the software programs and services we produce; however, work in software organizations is not only for the sake of the products, but some is also created because of problems and delays in workflow. We call this “induced work,” the work we make for ourselves beyond what would have otherwise been needed to accomplish our goals. It happens at all levels and scales of an organization.

If we can identify such delays and remove them, we can “stop creating waste” (at least some of it). This reduces the overall time needed to finish our creative work, so we become more productive. And this in turn creates a virtuous cycle where many other benefits follow, including higher quality, avoiding or fixing errors quickly, and gaining a better understanding of features so even less work is wasted. We find delays by looking at where time is spent in the process, so time is key.

Time Reveals Loss… And Opportunity

A picture of two men digging holes. The first is shoveling his dirt into the second's hole. Neither man is aware of the otherThe picture is meant to be comical, but is, unfortunately, all too true.  Yes, the ditch digger in the background is throwing dirt into the other person’s hole.

We sometimes hear the mantra “eliminate waste” and in this case that would mean stop throwing dirt from one hole into the other.  Unfortunately, as in this case, we often don’t realize we are creating the waste we need to eliminate.

In this example, to the ditch digger in the foreground, there is just dirt in his hole that he has to remove.  There is not the “useful” dirt that was there that he has to remove and the “waste” dirt that was thrown in by the other ditch digger.  There is just dirt. Note also that the other ditch digger isn’t aware of the extra work he is causing.  In other words, if you told these folks to “eliminate waste” they’d probably just shrug their shoulders, think “what waste?” and get on with doing what they are doing.  Waste often can only be seen when one looks from outside the problem.  Yet another example of why an holistic approach is required.

“Eliminate Waste” versus “Stop Creating Waste”

Rather than “eliminate waste,” I prefer to focus on “stop creating waste.” Because all too often, half of our work involves digging out dirt that has been put into our hole by another group. Lean suggests that the way forward is to focus on eliminating delays in the workflow rather than trying to do work faster.

I suggest that much of our time is spent working on what I call induced work.  It is work that is literally created from delays in your process and is self-inflicted (even though unintentionally). It can result in a significant amount of additional work you have to do that you wouldn’t have to do if you managed your delays more effectively.

For example, consider the challenge of dealing with bugs in software. A developer writes a bug.  Now imagine that he/she is told about it immediately. How long does it take to fix?  Let’s say an hour. Now, imagine that they aren’t told about this for a couple of weeks and further imagine that nothing else has changed. How long does fixing take now?  A lot longer, maybe even days longer. And it gets even worse if you have other work going on where the code has been changed by others or is using code modified by others since the original code was written.

Delays Cause Induced Work

The delays caused more and more work: induced work. Bugs are but one example of induced work caused by delays. Others include:

  • Re-doing requirements
  • Working from old requirements
  • Building the wrong feature
  • Building unneeded features
  • Overbuilding frameworks
  • “Integration errors”
  • Essentially duplicating components

In each case, removing delays in the workflow would dramatically reduce the induced work.  Shorten delays shrinks the work that we do that is not useful.

Summary

Much of the work we do is actually not making progress on our goals but is literally induced (created) by the delays in our workflow. Lean suggests that we look at the delays between our workflow in order to eliminate the waste created by these delays.  While we should also be looking how to improve our work, our biggest initial returns are likely going to be by attending to time.