Updated: Feb 12
If you found this blog then chances are you’ve just done a search for the difference between Scrum and Kanban. So, let's get straight at it. Scrum and Kanban or perhaps the best known of a whole range of agile software development methodologies. Let’s break that down.
Software development in very broad terms looks like this, the product owner decides what to build, the development team builds it, and customers use it, experience it, benefit from it in some way. What makes software development agile is that value is delivered to the customer in small increments. Importantly feedback is gathered from the customers and fed back into the process. It's the product owners’ job to take input from customers and from other stakeholders and to organize it into a prioritized list of features and user stories. This list is known as the Product Backlogs.
Now what happens between the Product Backlog and the customer, is what distinguishes Scrum from Kanban. As we’ll see each has its own routines and rituals. It’s one person’s job to help the product owner and the development team to adopt and maintain good habits. In scrum the role is known as the Scrum Master, in Kanban, the role is known as the Agile Coach. Something that Scrum and Kanban have in common is that both of pull systems. Without getting into too many details the Pull System ensures that work gets from Product Backlog to the customer in the shortest possible time. The pull system also helps to uncover a bottleneck in the process which helps to ensure that work gets from the Product Backlog to the customer in the shortest possible time.
Scrum and Kanban implement the pull system in two strikingly different ways. Scrum teams work in a series of sprints. Most commonly two weeks in duration. Each sprint is preceded by a sprint planning meeting, run by the Scrum Master, and attended by the Product Owner and the Development Team. Together they select high-priority items from the product backlog that the development team believed it could commit to delivering in a single sprint. This is the pull I was talking about earlier. The selected items are known as the Sprint Backlogs. For the next two weeks, the development team focuses on working through the items in the Sprint Backlog and only those items in the Sprint Backlog. In all but the most exceptional circumstances, any new requirements that crop up have to wait for the next sprint. It's common practice for Scrum Teams to use a board to track the progress of work. It's called a Scrum Board or an Agile Board or even slightly confusingly Kanban Board. Each day during the sprint there’s a scrum meeting, it's a standard meeting where the team takes a maximum of 15 minutes to discuss progress and to identify any blockers. At the end of the sprint, the work completed during the sprint is packaged for release, any incomplete items are returned to the Product Backlog. The sprint ends with two rituals. The Sprint Review, which is a demonstration of new functionality to the stakeholders, and the Sprint Retrospective which is an examination of what went well, what went badly, what can be improved. The aim of the retrospective is to ensure that the next sprint is more efficient and effective than the last. And that's scrum.
Kanban does a few things differently. There's no two weeks sprint. Kanban is a continuous process and of course, there's no Sprint Backlog. The pull system in Kanban happens in a different way via work-in-progress limits. Each column on the Kanban board has a work-in-progress limit related to the team’s capacity. For example, a team with two developers would set a limit between two and four items the lower the better. Let's see the pull system in action. When testing of a particular feature is complete the corresponding ticket moves to the done column, the empty column is a signal to the previous column to send another ticket that's the pull. Similarly, when the building column is almost empty it’s a signal to the dev team to select another high-priority item from the backlog that's the pull again.
Kanban has a number of rituals in common with Scrum although the naming is slightly different. Daily stand-up meetings demos for Stakeholders and Retrospectives. So now you know the difference between Scrum and Kanban. The important thing to say at this point, neither Scrum nor Kanban are as prescriptive as I may have made them appear. High-performing teams discover what works for them and flex the system accordingly.