As seen in the picture above 7.1.2 from Kanban in Action, Kanban is a useful process tool to help reducing waste. Waste is something that inhibits us from producing value in a continuous flow stream. What’s continuous flow? you ask. Continuous flow is the idea that a team is able to produce valuable work consistently, repeatedly and without waste.
Kanban focuses on work in progress limits in the idea that if you identify the bottlenecks(think the kink in the hose) you will able to over time(by fixing more kinks) be able to sustain a steady flow of value to the business. Once all the kinks are removed you will then through continuous improvement be able to slowly ramp up the speed of the flow(velocity/cycle time) in a controlled manner until you reach a sort of “optimum rate of flow’. So by setting a work in progress limit we help identify when stories get “jammed up” in a specific column and then be able to analyze whether it is artificial bottleneck(bad WIP limit) or real(unable to handle the throughput) and then adjust resources, and process accordingly.
This is where reducing waste becomes such a great “metric” to start tracking as a team to see where the process can become more efficient. The above pictures gives some ideas on what “waste” can be. This can be due to poor testing standards, which in turn means a higher frequency of defects that need to be re-worked causing a disruption in the flow.
Also if you have too many stories in progress and not enough resources, task switching, or also called “context switching” makes the work on each story less efficient than focus on a single task at a time. Think of the hose analogy that has kinks in it, if you throttle the water at full force, the best you can do is just a get a dribble of water out, but at worst you can burst the entire hose causing disruption and spilling, all which then require time to clean up, a wasteful activity.
MVP(Minimum Viable Product) is also a great focus on reducing the waste of building a bunch of features that aren’t currently requested, in hopes that someday they will be useful to someone. Focus on what you need to delivery business value now, and adopt good programming principles such as loosely coupled code in order to refactor and extend your features later as those requirements are requested.
On the next episode……Removing Blockers