In the preceding Kanban post, I wrote about partially done work. I wrote that it is worth limiting partily done work.
The WIP (Work In Progress) which is too high results in the fact that some work is not performed, and the WIP which is too low causes that some people are without work. It is necessary to adjust the WIP to the team and its capabilities.
Why is the WIP so important? Suitable WIP parameters for given activity stages mean efficient flow and faster performance of tasks. Apart from the WIP, it is possible to perform tasks faster through the elimination of unnecessary activities.
In the book by M. Hammarberg and J Sunden: Kanban, there are described 7 moderators in the software manufacturing process:
- Partially completed work — not completed work, which in fact is partial work. It waits until it is finished and it affects your WIP.
- Additional functionalities — the popular saying of Taiichi Ohno: “There is no greater mismanagement than overproduction”. A vast share of the software created in the world is not used or respected by customers. According to the famous CHAOS report made by the Standish Group at the beginning of the 21st century, 45% of functionalities in applications are never used. This means that owing to the better understanding of the customer’s needs it is possible to avoid waste, which means building a better product. At an individual level, if you ever thought: “This may happen” or “Maybe they will want to configure it”, you know what we mean.
- Re-learning — creating a software is mostly learning. Forgetting previous errors and committing the same errors again (and re-learning the solutions) is a serious mismanagement. Such a situation may be observed in a team, as well as in individual work.
- Submitting work — when you submit work from one person to another one, much additional work is created in order to provide information from one person to another. And even during such additional work, much information will be lost.
- Delays — delays cause additional work, do you remember?(..).
- Switching between tasks —(…) [affects to a great extent] your concentration and capability.
- Defects — defects are the work that comes back to you, because you did something wrong last time. This not only generates extra work but this type of work occurs at inconvenient time, slowing down everything you are currently working on.
It is not enough to prevent the above situations but it is necessary to:
- Shorten the time of task waiting in a queue,
- Precisely determine work conditions for completion at a given stage
- Create tasks of a comparable size.
And last but not least, there is nothing worse than doing the same task again. It is better to devote more time to a task so that you can complete it than return a semi-finished product and come back to it. Usually we do not return to tasks when there is specific time for their fulfillment and when there are not bottlenecks in the process. I will discuss bottlenecks in the next post.