In Agile methods focus on short feedback cycles and regular delivery of (business) value. Both are supported by having short lead times. Kanban is one of the tools to manage the flow of tasks and reduce lead times.
This article shows how to reduce lead times even further.
One of the mechanisms in Kanban to manage flow is to explicitly set a limit on the amount of work in progress for a process step. By modifying this to include part of the next process step, this article shows that the amount of work in progress is limited more and therefore also lead times are reduced.
Kanban is an approach to scheduling that gives insight in the flow of tasks. It makes this flow visible on a wall by defining a column per step in the flow. Every task starts in the first column and is moved to the next column if all the work that needs to be done in this step of the flow is completed. A Kanban board typically looks like:
This Kanban board has five columns named
The numbers in red indicate the maximum number of tasks allowed in a particular column. E.g. for the ‘Design’ and ‘Build’ columns the limit applies to the total number of tasks in the purple and green areas.
It is customary to further split the columns except for the first and last into two. This is indicated by a dashed line. The sub column left of a dashed line contains tasks that is being worked on. The sub column to the right of the dashed line contains tasks that are completed.
Notice that both the 'Ready' and ‘Design’ columns have capacity for 2 additional tasks, i.e. the number of tasks in the column is less that the maximum allowed number of tasks shown in red at the top of the column.
Modified Kanban Board
Let’s modify the Kanban board a bit. For each column extend the limit areas so as to include the first half of the next column. For the columns ‘Design’ and ‘Build’ the result is shown in the picture below.
The effect of this change is that the limits now apply to the number of tasks in three sub columns (one and a half column) instead of two sub columns. Also, the purple and green areas, now overlap having a sub column in common, namely the ‘In Progress’ sub column of ‘Build’.
The overlapping of the two areas clearly shows the difference with a ‘standard’ Kanban board.
Finally, notice that with the introduction of overlapping ‘limit areas’ the ‘Design’ column now has reached its limit of 4 tasks and no more additional tasks are allowed.
This illustrates that the introduction of overlapping ‘limit areas’ further limits the work in progress.
Work in Progress
Why should one care about reducing the amount of work in progress (WIP)?
Benefits of limiting the work in progress are:
- Reduced lead time resulting in shorter feedback cycles and shorter time-to-market,
- Smoother flow of tasks resulting in less variability,
- Less task switching resulting in more efficiency and more focus.
For the interested reader who wants to know more about the importance of limiting WIP there are numerous good articles and blogs on this topic, e.g.
- LimitedWipSociety - Explaining why limiting WIP is so important
- LeanAgileMachine - Some thoughts on Limiting work in progress (WIP).
Origin of the Modified Kanban Board
The main idea for the overlapping limit areas is taken from POLCA. Just like Kanban is the scheduling tool in Lean, so is POLCA the scheduling tool supporting Quick Response Manufacturing (QRM). In manufacturing POLCA was successfully introduced for low volume, custom products in which case kanban does not work very well.
What is POLCA? POLCA stands for Paired-cell Overlapping Loops of Cards with Authorization. In the context of the modified Kanban board shown earlier the interpretation is
The two columns between which tasks move.
The overlapping limit areas.
Whether a task is allowed to be moved to the next column.
Properties of POLCA that are particularly interesting to software development are:
- Downstream bottlenecks are signaled faster to upstream processes,
- Less work in progress (WIP) resulting in shorter lead times,
- The ability to ‘look ahead’ which aids in scheduling decisions in case of multiple story streams.
These are more advanced subjects that will be addressed in future blogs.
This article explains the basics of POLCA and how it can be applied to a Kanban board. In Kanban the amount of work in progress is limited by explicitly setting limits on the columns. By letting the areas to which these limits apply overlap, work in progress is limited even more. This results in additional benefits such as less task switching, more team focus, and reduced lead times.
In next blogs I will write about other aspects of POLCA and benefits result from this.