Menu

Scrum vs Kanban - What's the Difference?

Episode 68 - 19 Jan 2017

If you've been wondering about the difference between Scrum and Kanban, you've come to the right place.

Scrum and Kanban are perhaps the best known of a number of Agile software development frameworks.

They have much in common - and some striking differences.

I've put together a Cheat Sheet that I think you'll find useful: the Scrum vs Kanban Cheat Sheet. Grab your copy here.

Scrum and Kanban are perhaps the best known of a number of Agile software development frameworks.

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.

And - importantly - feedback is gathered from customers and fed back into the process.

It's the Product Owner's job to take input from customers - and from various Stakeholders - and organise it into a prioritised list of features and User Stories. The list is known as the Product Backlog.

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 this person's job (see below) to help the Product Owner and 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 are PULL systems.

Without getting into two much detail, a pull system ensures that work gets from Product Backlog to Customer in the shortest possible time.

A pull system also helps to uncover bottlenecks in the process, which helps to ensure that work gets from Product Backlog to Customer in the shortest possible time!

As you'll see in a moment, Scrum and Kanban implement the pull system in two strikingly different ways.

Scrum

Scrum teams work in a series of Sprints, most commonly two weeks in length.

Each Sprint it proceeded 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 believe it can commit to delivering in a single Sprint.

**This is the "pull" I was talking about earlier. **

The selected items are known as the SPRINT BACKLOG.

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 arise have to wait for the following Sprint.

It's common practice for Scum teams to use a board to track the progress of the work. It's called a Scrum Board... or an Agile Board... or even (slightly confusingly) a Kanban Board.

Each day during the Sprint there is a Scrum Meeting: it's a stand up meeting where the team takes a maximum of 15 minutes to discuss progress and identify any "blockers".

At the end of the Sprint, the work completed during the Sprint is packaged for release, and 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 Stakeholders.
  • The Sprint Retrospective, which is an examination of what went well, what went badly and what could 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

Kanban does a few things differently.

There's no two-week sprint: Kanban is a continuous process.

And there's no Sprint Backlog; the "pull" system in Kanban happens in a different way, via Work In Progress (WIP) limits.

If an Agile Board is useful for Scrum, it's a necessity for Kanban.

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 might 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".

And when the in "Build" column is almost empty, is a signal to the team to select another high priority item from the Product Backlog.

That's the "pull" again.

Like Scrum, Kanban has the following "rituals*:

  • Daily Stand-ups
  • Demos for stakeholders
  • Retrospectives

And that's Kanban!

Important

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 appropriately.