Kanban + Scrum is possible
I would like to take advantage of this article written by Luigi Milione, to talk about the integration of the Kanban methodology to the Scrum framework.
Kanban does not replace or eliminates any part of the Scrum framework, this means that everything that is defined in the Scrum Guide still applies, which means as an example
- Scrum Master and Product Owner are always needed
- all events (Sprint Planning, Sprint Review, Sprint Retrospective and Daily Scrum) are always carried out
- Product Backlog and Sprint Backlog and Definition of Done are still mandatory
So, what is the purpose of adding Kanban practices to an already established framework?
Kanban is based on the concept of flow, which is the movement of value throughout the product development system. The purpose of Kanban is to optimize the flow. Scrum is based on empiricism and lean thinking, and it relies on feedback to adapt its processes.
When Kanban is applied with Scrum, we are focusing on improving the flow through the feedback loop, on optimizing transparency of inspection and adaptation for both the product and the process.
Flow optimization Scrum Teams can achieve flow optimization by using the following four practices:
- Visualization of the Workflow
- Limiting Work in Progress (WIP)
- Active management of work items in progress
- Inspecting and adapting the team’s Definition of Workflow
I will not enter in detail with these practices, and how to measure them: they are already part of Luigi's article. However I would like to talk about the team's "Definition of Workflow". This definition represents the Scrum Team members’ explicit understanding of what their policies are for following the Kanban practices, it is a good practice to let the team maximize their value of work, improves transparency and enables self-management. It is to be noted that, since Kanban practices may not just be used for Sprint-related work (e.g. refinement, execute test user studies, notify users etc. ) a Scrum Team's Definition of Workflow may encompass flow inside and/or outside of the Sprint. Practically speaking the Definition of Workflow states that the work items flow from start to finish through different states, and defines when an item can move from one stage to the other. Of course, the Definition of Workflow is not carved in stone: the Scrum Team uses the existing Scrum events to inspect and adapt its Definition of Workflow, to optimize the value delivered: the following are aspects of the Definition of Workflow the Scrum Team might inspect and adapt:
- Workflow states
- WIP limits
- Service Level Expectation
Conclusion Scrum is not a process, it is a framework that can be used to solve complex problems using an iterative and incremental approach. Kanban, thanks to its optimization practices, can provide Scrum Teams the opportunity to inspect the right thing at the right time, and then adapt as needed. As the Scrum Guide says: "Scrum functions well as a container for other techniques, methodologies, and practices" and this is the proof!