This post is a high level overview of the model I use when I think about Kanban Systems. As the saying goes, “all models are wrong, some are useful”. This is what I currently find useful based on working with teams and organisations in recent years.
At the heart of the model is Systems Thinking. Without looking at what we do as part of a system, with a purpose to be met by outcomes, we risk focusing too heavily on the activities and practices we perform. Having a clear understanding of a systems purpose, from a customers perspective, helps us to design a method which serves that purpose.
The model then has three foundational building blocks which underpin an effective process; Flow, Value and Capability.
- Flow – Keeping the work progressing and avoiding delays by focusing more on the movement of the work, and less on the movement of the worker.
- Value – Ensuring that the work serves the system’s purpose, satisfying customers and stakeholders and resulting in successful organisations.
- Capability – Creating knowledge of how well the work serves the system’s purpose in order to maintain and improve the system’s effectiveness over time.
In other words, we want to flow value through capability teams.
Finally, the model has five aspects, from which we can look at a process to help us understand and improve it; Workflow, Visualisation, Work in Process, Cadence and Learning.
- Workflow – how does the work progress through the system? Understanding workflow helps improve how the work moves from concept to consumption.
- Visualisation – where is the work in the system? Understanding visualisation helps create a common mental model of the current state of the work.
- Work in Process – what work is in the system? Understanding Work In Process helps identify bottlenecks and impediments to improving flow.
- Cadence – when does the work in the system happen? Understanding Cadence helps with co-coordinating the work and improving system reliability.
- Learning – how does the system continuously improve? Understanding further models with which to view and explore the system ensures the system gets better at serving its purpose.
While this is only a model, and contains no specific practices, I believe that it can be useful in describing why some techniques work in some circumstances, and provide context for applying the right tool to the right job.