People often ask, “Why should I use kanban?” or “Why switch from scrum to kanban?” These questions show that we need to communicate better what kanban is and why many people are starting to use it.
Kanban is a lean method that takes our current process and enhances it to provide better predictability and risk management. It can take an agile (or waterfall) method that has stalled and bring it back to life, creating a custom solution based on the unique needs of the organization. It creates a culture of continuous improvement so that we get better at scheduling and delivering our work while our workers are happier in their jobs.
Kanban is lean. A lean method is one that tries to optimize the flow of work through a system. Kanban tells us to first visualize the invisible knowledge work. We must visualize the current process so that we can see the flow. This visual model should enable us to identify bottlenecks and reduce the impact of variability. Kanban is designed to reveal issues and create the opportunity to address problems so that we can achieve smooth, predictable delivery of finished work.
Let’s consider a typical development scenario: A batch of work items, such as features, is planned for completion at the end of a 2-week iteration time box. Before the team commits to this schedule, they consider what they know about the requirements, the dependencies, and their own availability. They also consider the typical speed of their development pipeline (velocity).
Then the work begins and reality sets in. There is an essential vendor who is unavailable. A manager required for approval steps is also missing. The development process itself is far from efficient, with stops and starts throughout. Interruptions occur as new circumstances arise for the business, requiring meetings and unscheduled work as priorities shift. Tensions flare, schedules slip and commitments are missed.
What could help this situation? Ideally we would start with a realistic sense of demand we are receiving, an understanding of what our stakeholders need. We would also want to understand our capability to deliver. It is likely that our capability is not matched against the demand we are receiving, and this is a source of some dissatisfaction. To put it another way, we struggle to fulfill the work requests that come in. We might like to consider how to shape our demands to better match our capability to supply them, and at the same time consider how we might improve our capability over time to supply more of the demands we are seeing.
Shaping demand means that we put policies in place that help us focus and manage the work so that a reasonable mix of urgent and important work is undertaken and delivered, and that our risks are managed by balancing our workload across the demand from various stakeholders. Ideally, we would have the agility to better deal with disruptions. Our work would flow smoothly, and we would more consistently meet our commitments despite hiccups along the way. This is what kanban aims to deliver.
Kanban does not replace the current development process; it is overlaid on top of it. Think of kanban as a big magnifying glass that will reveal the kinks in the current process. It provides ways to either smooth out the kinks or stretch to accommodate them. Most importantly, kanban delivers a customized solution because every organization is different. Every team within an organization is different. The goal of kanban is to understand and evolve the way each team and organization deals with their work.
Where did kanban come from?
The original concept of kanban came from the Toyota Production System. A kanban was a physical card that signaled when inventory was getting low and an action such as restocking needed to happen. The new material wasn’t prepared until the worker was ready to “pull it” into the assembly line.