Scrum and Kanban

A quick refresher on the differences...

A board helps teams to organize, priorityze and get things done. Although quite similar in their board's visual aspect, Scrum and Kanban follow a different set of philosophies in their way of work. Let's start with a simple board where you define four columns to represent your states:

A simple board

NewActiveIn TestDone
emptyemptyemptyempty

Now let us think about two different projects that will use the previous board to track their progress:

Project 1 (kanban)

You are working for the support team in a software company. This support team receives tickets coming from the customers describing bugs. Your work consists of:

  1. Analyze the incoming ticket
  2. Prioritize it (according its importance relative to other tickets in your queue)
  3. Work on it (solve it through code, decide if it works as designed or close it as non reproduceable, etc)
  4. Mark it as done
  5. Repeat

So we would work with our previous grid like this:

Time 0

Two wild tickets appear (they are very effective)

  • Bug_1 : The login page displays no company logo
  • Bug_2 : A customer cannot login into the website

You place both tickets in the grid considering their priority. TOPMOST means HIGHER priority.

Kanban board : T0

NewActiveIn TestDone
Bug 2
Bug 1

Time 1

You start working on Bug_2 (the one with highest priority). Suddenly, another bug appears.

  • Bug_3 : A user is registering products in the system but they suddenly disappear (like if they were erased).

Your instincts help you consider this bug more important than previously reported Bug_1.

Kanban board : T1

NewActiveIn TestDone
Bug 3Bug 2
Bug 1

Time 2

Your work on Bug_2 is finished and you start working on Bug_3 (the next on your list). Bug_2 gets moved into the column In Test where it will be tested by the QA team and you preparte to work on the next item on the list.

However, a new bug arrives into your list.

  • Bug_4 : A user lost its password and the retrieval form doesn't send an email back to him.

Kanban board : T2

NewActiveIn TestDone
Bug 4Bug 3Bug 2
Bug 1

Time 3

The story repeats itself again and again as long as you keep working on a team like the support team.

Kanban board : T3

NewActiveIn TestDone
Bug 2Bug 4Bug 3Bug 2

What makes the Support team a good target for a kanban board?

A team like the support team works with an infinite list of items. They don't know them all in advance but they know they will be working on them when they arrive to their list of New items. In simple words, their board is alive and their process has not definite end.

Project 2 (scrum)

You are working for a development team which is following srum as their organization schema. Your Product Owner has curated of list of User Stories that he needs developed as soon as possible within the next two weeks (the length of your scrum).

Your cicle will look like this:

  1. Analyze the backlog (list of all the user stories your PO has created and prioritized) and size it with Story Points.
  2. Analyze previous trend of story points in your team
  3. Use that trend (team velocity) as input in negotiating the work load for the next sprint with your Product Owner
  4. Add the elements that fit your trend into the sprint backlog
  5. Work from the rest of the sprint only with the selected User Stories.

So the process and the grid would look like this:

Time 0

Your product owner curates a list of User Stories and orders them (topmost elements have higher priority).

Backlog

  • US1 - As a user I want to access the website using Single Sign On
  • US2 - As an admin user I want to block other user accounts from accessing the site
  • US3 - As an admin user I want to have a log for all other users access
  • US4 - As a user I want to be able to login with my FB account outside of my Single Sign On domain
  • US5 - As a user I want to be able to add my picture to my profile.

Based on our capacity we take only the first three User Stories and place them in our Board. This will be the team's focus during the Sprint. Once in your board, the User Stories go out of your backlog.

Scrum board : T0

NewActiveIn TestDone
US1
US2
US3

Time 1

Your sprint goes on and you start moving elements around to represent their status.

Backlog

  • US4 - As a user I want to be able to login with my FB account outside of my Single Sign On domain
  • US5 - As a user I want to be able to add my picture to my profile.

Scrum board : T1

NewActiveIn TestDone
US1
US2
US3

Time 2

Perhaps your Product Owner has decided to include more User Stories into the backlog. This shouldn't affect your planned sprint.

Backlog

  • US4 - As a user I want to be able to login with my FB account outside of my Single Sign On domain
  • US5 - As a user I want to be able to add my picture to my profile.
  • US6 - As a user I want to be able to change my main email.

Scrum board : T2

NewActiveIn TestDone
US1
US2
US3

Time 3

The idea is that at the end of the sprint all User Stories to the Done column.

Scrum board : T3

NewActiveIn TestDone
US1
US2
US3

Some times it won't be possible for your team to get all User Stories done. In that case the 'velocity' of your team has to be evaluated for your next planning.

Scrum or Kanban?

It depends on the type of project and the way a team organizes. Scrum is perfect if the team is focused in a small release cycle with a limited set of features, which will be delivered at the end of a preset time. Kanban is an option to use if the team works as a production line. This kind of teams focus on prioritizing tasks and dispatch them as soon as possible.