Scrum Vs Kanban
Scrum in a nutshell
Scrum is an iterative or incremental process framework to build complex products of the highest possible value. In Scrum, the team always works on the highest priority items first. The work is performed in short, time-boxed iterations. Each iteration begins when the team aligns on a subset of the highest priority items that it can complete in that iteration. Each iteration ends when the team has delivered a potentially shippable product increment of the product. The team delivers value to the customer at the end of each iteration or a time-boxed cycle.
There are three defined roles – Product Owner, Scrum Master, and the Development Team. A Product Owner decides what needs to be built and in what order. A Scrum Master acts as a servant leader and coaches the team to follow Agile Scrum principles. A Development Team is a group of self-organizing individuals who develop a high-quality product.
Scrum requires the below ceremonies to be conducted regularly:
- Product Backlog Refinement
- Sprint Planning
- Daily Stand-Up
- Sprint Review
- Sprint Retrospective
Scrum is most suited for complex projects where things are more unpredictable than they are predictable. In complex domains, there is a need to collaborate with others, have an innovative mindset to investigate, experiment with different ideas, and adapt based on the learnings.
To learn more about Scrum, you may read my bestselling book, The Basics Of Scrum – A Simple Handbook to the Most Popular Agile Scrum Framework.
Kanban in a nutshell
Kanban works best for teams that have a continuous flow of incoming requests with different priorities. In Kanban, each request or work item is represented by a Kanban card that flows from one stage of the workflow to another until it’s complete.
Kanban is very flexible in nature. New work items can be added to the backlog at any time. Even the workflow can change anytime. If team capacity changes, WIP limits get recalibrated.
In Kanban, there is a significant focus on improving time to market and eliminating waste.
To learn more about Kanban, you may read my other book, The Basics Of Kanban - A Popular Lean Framework
Let's analyze the core differences between Scrum and Kanban.
Scrum: Formed for complex product development to mitigate the limitations with the Waterfall method
Kanban: Originated to manage work and control inventory at Toyota with just-in-time and lean principles
Scrum: Time-boxed and fixed length sprints
Kanban: Continuous flow
Scrum: Can release at the end of every sprint or on-demand
Kanban: Continuous delivery or at the team's discretion
Scrum: Required roles - Product Owner, Scrum Master, Development Team
Kanban: No specific roles required
Scrum: The smallest piece of business value that a team delivers is a User Story.
Kanban: Each work item is represented as a Kanban card.
Scrum: Best suited for complex and unpredictable efforts
Kanban: Best suited for both simple and complicated efforts where things are more predictable than they are unpredictable
Scrum: Sprint Retrospective is conducted at the end of every sprint to inspect and adapt the existing process.
Kanban: Service Delivery Review is conducted on a monthly or quarterly basis to review cycle time, flow efficiency, etc.
Scrum: Requires user stories to be estimated in terms of story points.
Kanban: Does not require items or cards to be estimated. In Kanban, estimation is optional. Some teams choose to estimate their cards to have more predictability while others prefer to split their stories such that each of the cards is of the same size.
Scrum: Sprint Burndown and Velocity are the key charts.
Kanban: Cycle time and Throughput are the key metrics.
Scrum: Less flexible
Kanban: More flexible
Scrum: Ceremonies are conducted on a regular cadence.
Kanban: Meetings are held as needed.
Scrum: Additional stories should not be added to the active/ongoing sprint.
Kanban: Additional work items can be added anytime, assuming it’s within WIP limits.
Scrum: A Scrum board or the sprint backlog is reset after every sprint.
Kanban: A Kanban board is continuously used.
Scrum: Requires a bigger shift with roles, ceremonies, estimations, and iterations.
Kanban: Nothing needs to change significantly to get started with Kanban.
Now that you understand the differences between the two frameworks, you can decide which approach works best for your team. For more on Agile, Lean, Scrum, or Kanban, you may read below books: