How often do you really take a look at the amount of work in process you have going on? I often find when I stop to do so I start to understand why my arms are so tired… juggling balls is hard work! Too much work in process will destroy your productivity even in the midst of being so busy. Busy does not always equate to productive. Context switching exacts a terrible cost and it can easily consume 20% of your productivity if switching between 2 or 3 tasks. The same personal productivity thief is found in many business when everything has to be done, now!
When developing software there is a focus on providing high value features to our customers. If we reflect upon the challenges of context switching we might choose to focus on one feature, complete it and potentially deliver it to our customers before moving to the next. More often than not, all of the features are deemed must haves and we are asked to develop them together thus creating a context switching problem which increases waste and reduces our throughput. This figure illustrates this concept.
As you can see if we focus on feature A, then feature B, then feature C we can deliver all features within a three month timeframe, in our example. In addition, we are in a position to deliver the value of feature A in a month’s time and feature B in two months providing value to our customers and revenue for us.
If we choose to work on all features at the same time then we’ve created a situation where no feature is deliverable until 3 months pass. Worse, because of context switching overhead, we won’t be in a position to deliver even these three features until almost 4 months pass (using 20% overhead for context switching). This causes a substantial cost of delay over the first example. This cost of delay impacts revenue and customer value. In the first model our customers begin to benefit as soon as one month which is 3 months earlier than the second model.
This is an oversimplified model but illustrates the dangers of context switching and the value of limiting work in process which I’ll write about in an upcoming post.