How do Scrum and Kanban differ?
The key difference between Scrum versus Kanban is that Scrum describes an iterative, sprint-based framework that helps small teams solve complex problems, while Kanban is more singularly concerned with how work items flow through the development process.
Scrum and Kanban are two of the most popular Agile frameworks in use today, which means they embrace many of the same ideals:
- They both value responding to change over following a plan.
- They both emphasize software that works over the comprehensive documentation of software.
- They both prioritize the continuous delivery of working software.
How do Scrum and Kanban compare?
However, there is one big difference between Kanban and Scrum and it revolves around how iterative development is done.
In Scrum, you do sprints. At the start of the sprint, the product owner, Agile developers and the Scrum Master examine the backlog of features to develop, figure out how many of those features they can complete in a two- to four-week timeframe, and then set a sprint goal.
Then programming begins. Once the development cycle ends, team members review the sprint's progress, check if their sprint goals were met and perform a retrospective.
Planning, reviews and retrospectives, all of which happen within the confines of a sprint, are key elements of the Scrum framework.
How does Kanban contrasts with Scrum?
So, what's the big difference between Kanban and Scrum?
Kanban doesn't do sprints. That's the big difference.
- Kanban doesn't do sprint planning.
- Kanban doesn't have a sprint backlog.
- Kanban doesn't have a commitment to a sprint goal.
- Kanban doesn't have sprint reviews.
- Kanban doesn't have sprint retrospectives.
All of these items are essential in Scrum, but Kanban doesn't have any equivalent artifacts or events.
"Kanban is about visualizing work, actively managing items in the workflow with things like WIP limits, and continuously improving that workflow," said Dave West, CEO of Scrum.org. "Scrum is something slightly different."
Kanban concerns itself primarily with:
- how work flows through the system of development;
- how to minimize the amount of work in progress (WIP);
- how to maximize value as features are delivered; and
- how to visualize the continuous delivery of software.
Kanban's limited-pull process
While some Kanban models are more complex than others, they all build upon the same pull-based system that follows these three steps:
- A developer selects, or pulls, an item from the product's to-do list.
- This pull process moves the feature from the product's to-do list into the product's list of WIP.
- When a feature is done it is moved to the Done list and the process repeats as the developer picks another feature to work on.
Dave WestCEO, Scrum.org
Unlike Scrum, Kanban development is not time-boxed. Features are released as soon as they are completed. This continuous release system is why Kanban is often referred to as being "flow-based."
Kanban is also considered a "just-in-time" development model, as the most critical features are developed first and delivered just-in-time for the client's needs.
"I prefer Kanban for teams not driven by features or not working on a product," said Etienne Bosslar, a software architect at Amadeus IT Group.
Bosslar's comments echo a common sentiment in the industry. Help centers and support teams that focus on quick bug fixes or small updates, rather than large-scale product development, often prefer a Kanban-based approach.
Kanban controls the flow of work that goes through the system in a very granular and highly monitored way. "When people come from a 'command and control' culture, it's often easier for them to adopt Kanban instead of Scrum, Bosslar said.
Can Scrum and Kanban be used together?
To capture the WIP, the work that's been completed and the work that must be done, Kanban uses a visualization tool known as a Kanban board.
Most Scrum teams use a visual board to help provide transparency into their product backlog and development process.
Scrum teams also commonly use various Kanban metrics such as cycle time, work item age and throughput to monitor their progress and measure their success.
In fact, many development teams believe the use of Kanban-based practices greatly enhances their Scrum efforts.
Scrum is a framework
Scrum describes itself as a lightweight and purposefully incomplete framework.
Scrum does not dictate how to stage work, how to monitor progress or how to generate metrics. Kanban does. When teams combine Scrum and Kanban, they can enjoy the best of both worlds.
"Ultimately, Scrum and Kanban are very complementary, and it's disappointing that people consider them to be competing approaches or frameworks," West said. "I believe the two can work in perfect parallel."
Scrum and Kanban are different
Scrum is a sprint-based product development framework, while Kanban provides a strategy to optimize the flow of value through the development process.
Yet the use of Scrum or Kanban isn't a mutually exclusive choice.
The flow-based perspective of Kanban can greatly enhance Agile development processes because it enhances transparency and encourages empiricism within the Scrum-based teams who employ it.
Scrum and Kanban work perfectly well together, and if you haven't tried to combine them, you should. Allowing self-managed teams to choose the methodologies and processes that work best for them is what the Scrum Framework is all about. It makes sense to include Kanban as a potential option.