Scrum vs Kanban? Which Way to Go?

As an agile coach I am very often asked :”What is the difference between Scrum and Kanban?”, “Which one is your favorite methodology?”, “Which one is more up to the minute?”. Well, none of this questions can have a definite answer. Both Scrum and Kanban are agile ways of handling a project, and each has it characteristic features that can better or worse serve your project's needs.

In order to better understand the difference between these two methods, let us first try defining them both.

Scrum alliance defines Scrum as " a framework for developing and sustaining complex products". Kanban’s definition slightly varies from one source to another. Kanban blog defines Kanban as a " technique for managing a software development process in a highly efficient way. Kanban underpins Toyota's 'just-in-time' (JIT) production system".

Scrum is an iterative mechanism. It optimizes predictability and decreases risk. The three values it stands upon are transparency, inspection and adaptation.

Kanban’s main pillars are: visualize work, limit work in progress, focus on flow and continuously improve.

Let us now try to point out the advantages of both methods:

 

Why Scrum?

  • Opportunity of quick changes
  • Credibility with clients
  • Mistakes can be easily rectified
  • Continuous feedback from user
  • Possibility to deliver a quality product in a scheduled time
  • Incremental delivery saves time and money
  • Continuous testing

 

Why Kanban?

  • Flexibility in production
  • Reduction of wasted money
  • Preventing overproduction
  • Continuous feedback from user
  • Incremental delivery saves time and money
  • Increased efficiency


The attraction of these two methods is that they can be integrated to any process and to the development and support of any web or mobile product. The elements of both methods can be used independently, and you can choose the ceremonies and artefacts suiting your company’s and project’s needs.

Let me just bring an example. We all know that planning meetings require much time and resources. Very often, especially if you are an outsource team, you cannot afford wasting that much time on planning meetings, so you can modify your planning schedule and do it per request. It means, you still can have your fixed iterations, but plan not once in two weeks, for instance, but two, three times within these two weeks' time, spending less on planning meetings.Your team will be less tired and much more focused.   

As for me, Scrum is very convenient for product development, when the whole team comes together and focuses on delivering the best possible quality product on time. Kanban is a great way to handle projects within their support period, when all the issues on production can be addressed immediately, without affecting the sprint scope. So we see that the same product can be handled differently based on the development stage it is in.

Recently, we often come across a new term: Scrumban. The term itself reveals its concept. Wikipedia defines Scrumban as an Agile management methodology describing hybrids of Scrum and Kanban which was originally designed as a way to transition from Scrum to Kanban.

Scrumban can be a great way to pass from product development to product support. Little by little the ceremonies of Scrum can be transformed into Kanban ceremonies. Thus, you will have a suitable method to handle each step of your work.  

So we can see that there is no such thing as “We do Scrum/ Kanban/Scrumban” at our company. We never stick to a specific process. We choose the best possible methodology to handle projects and are flexible in passing from one method to another. That is what today’s market requires.