November 2, 2021

[BLOG/VLOG] 7 Meanings of Kanban - what is Kanban all about?

 

Supposedly, Confucius said once: "Let’s start fixing the nation with fixing the concepts first". Whether he really said it or not, nobody can be sure. But what is important, I would like to specify the meaning of Kanban. Very often people understand it in their own way and when two people talk to each other about it, they mean two different things.
 

1. Kanban Card

When it comes to the Japanese, they have a few alphabets. And now, depending on how we phonetically write the word Kanban in different alphabets, we get different meanings. For example, if we write the word Kanban in the Hiragana alphabet, it means a card - let say "kanban card".

This card is a ticket representing a work item, a unit of work, and this unit of work goes through the flow of value. If we use a board, it goes through the columns of the boards. Traditionally in Toyota, there was additional information about necessary materials for example parts from the warehouse. Somebody could say: "Hey listen, I would bring you what you need but write a kanban for it, or - add it to existing kanban".

A Kanban card is a graphic representation of a signal or information. So thanks to it we can pull work in the right moment, make certain decisions and actively manage the flow.

2. Kanban Board

If the Japanese write the word kanban in the Kanji alphabet, it means a "signboard" or just "board". This is the most popular kanban in terms of its meaning.

What is really sad, I saw many "kanban transformations" where the whole change is only about starting using kanban boards. But it's a different topic, I think we will talk about it in the future, but what's important, the kanban board is not any board, it is a specific board... it implements the kanban system. And, we smoothly go to the third definition.

3. Kanban System

Every kanban system is also a pull system. It means that people engaged in certain work decide themselves when to pull the next task and this is the opposite of a push system where work is assigned to them.

Let's imagine a Project Manager assigns 10 tasks to somebody this is a PUSH system. When people decide when to pull work it is the PULL system. Also, a printer is a pull system. A printer "decides itself" when to pull the next task - if one sheet is printed on, then the printer has an "empty slot" and it pulls the next sheet. This is how you can imagine it.

I made a little simplification when defining pull systems but I promise there will be a separate post about 5 different pull systems. And then I will explain it in more detail. For now, I can tell you one thing, kanban is the king of all pull systems!

Kanban pull system is based on WORK IN PROGRESS LIMITS (WIP limits). Each flow phase, or, in the case of the kanban board, each column, must have a proper WIP limit.

What is also important here is that there must be active states in the flow divided with passive states also called ques. Imagine a programmer finished his work and if he moves it to the "Testing in Progress" column right away - it is a push system. There has to be a "Ready for Testing" state a queue from which testers can pull.

Here is one more thing, maybe obvious but in 80% of cases ignored - there has to be commitment and delivery point - very clearly defined beginning and end of the system. It is really important from the perspective of lead times/cycle times - I will tell you about measuring in Kanban system for sure in the different post but what I want to tell you now, till we don't have a well-defined beginning and end, we have a very lame or disabled kanban system. So summing up, a board is a physical or electronic representation of a system.

4. Production Kanban

The fourth meaning that we can come across is a so-called Production Kanban. It is a part of Toyota's production system or Lean Manufacturing. The creator of it is none other but a legendary engineer from Toyota. Taiichi Ohno - Emperor of Lean. What's important a production Kanban is dedicated to managing... production. It is based on kanban systems that I've already written about before. The effect of it should be faster production of... Toyota cars.

You should also understand that Japan is a really small country, each square centimeter is important so storage is something they want to reduce. That is why Toyota's Kanban supports the reduction of inventory. And here comes a story or an anecdote. An inspiration for Taiichi Ohno was a grocery store. Tomatoes or potatoes go bad really quickly so you cannot really store them. So when he looked at it he realized - "come on, if they can deal with it, I can deal with it too"... and limit unnecessary storing which costs a fortune.

So let's smoothly move to the fifth meaning, the Kanban Method. The Kanban Method was created by David J. Anderson. He adapted the Production Kanban to manage intellectual work. It can be used in software creation, but not only. In fact, everything can be applied here

In order to understand the Kanban Method better, it would be best to refer to Scrum as it is the best-known framework of the delivery process. The framework is purposefully incomplete. But, as long as Scrum is a framework, the Kanban Method is more like a meta-framework. It gives much more freedom.

I think it is a perfect time now for an analogy from the film with Arnold Schwarzenegger. In "The Terminator 2" there is a so-called T 1000, the liquid metal terminator, and what's important here, Kanban is just like T 1000, it can transform, change and be adjusted to any situation, take very different shapes, actually - it can be used everywhere!

In Scrum, we have very clearly defined accountabilities. There is Scrum Master, Product Owner, and self-managing and cross-functional Developers. And when it comes to Kanban, the roles are not defined - you must create a definition! There are only a few advices like there should be somebody who manages the process and somebody who manages service requests.

When it comes to Scrum, we have very clearly defined events. I will maybe not list them, but in Kanban, you will need a number of events but as you probably already guess you have to design them! Kanban is incredibly flexible and when Scrum cannot cope with something, you can use Kanban.

But Kanban flexibility has a cost. Kanban is a really hard approach. Scrum gives us a kind of frames, and Kanban... it is very easy to ruin Kanban I would say. Kanban requires a much bigger maturity of an organization. In my opinion, Scrum is not so easy to ruin if you follow its guidelines.

When it comes to the Kanban Method, it is an evolutionary approach. You "start with what you do now" and you do not know yet what is the final process definition it evolves to the final shape! I would even say it is a meta evolution, evolution on the process level. The process is developed step by step.

If you choose to have Project Managers, then your process contains Project Managers, if you choose to have Scrum Masters, then your process contains Scrum Masters. And this is really characteristic about it in comparison with Scrum if there is a Scrum Transformation the final result is a Scrum process.

The Kanban Method is a terribly broad subject in fact. I put here only part of the things. Kanban Method contains practices, metrics, statistical forecast, some complementary concepts... also values, principles for change management, and principles for service delivery. There are even, you know, just like the Predator had different vision modes, in Kanban, there are 3 vision modes called Kanban Lenses. Kanban Method is a huge, huge topic.

6. Scrumban

Well, let's get to the next part, which is, Scrumban. Corey Ladas, an author of the concept, was of the opinion that teams that effectively adopted Scrum, should go further in development. Should go into Kanban Method. Personally, I don't think that Scrum or Kanban is in a kind of hierarchy, that one is better or worse, these are just different approaches. Anyway, that was his opinion. So at first, this Scrumban meant Kanban which originates from Scrum but this concept faded away very quickly.

Nowadays, everyone who has any hybrid of Scrum and Kanban on their mind uses this word. The concept of hybrid is rather cool I would say but it looks a bit different in practice. In fact, it looks terrible each time. We usually deal with something similar to a Frankenstein monster.

9 out of 10 cases look like that - we cannot do the proper Scrum, so let's get rid of Sprints, retrospective, and review because they are uncomfortable and let's start working in Kanban, let's do boards, but, in fact, work in progress limits are also uncomfortable for us so let's get rid of them as well because why would we want to use them? In practice, Scrumban means "comfortable" process - but the empirical process can't be comfortable! It should be very painful when we do wrong things! Scrumban usually is anti-empirical, it kills any empiricism which we would need!

7. Professional Scrum with Kanban (PSK)

So let's get to the last sort of kanban - it is called the Professional Scrum with Kanban (PSK). The temple of Scrum, Scrum.org created its own version of Kanban which is adapted to let say upgrade the already existing Scrum. 

What's important, PSK - Professional Scrum with Kanban is 100% Scrum. It contains part of the elements from the Kanban Method but it is still a 100-percent Scrum. It contains these elements from the Kanban method which are not covered by Scrum. So if Scrum covers something, it is not, let's say duplicated or overwritten. For example, in Kanban Method, there is a practice called: "Establish feedback loops" it is not present in PSK because Scrum covers feedback loops with Scrum Events. Also in Kanban Method, there is a practice called: "Improve Collaboratively Evolve Experimentally" - it is also not present in PSK because in Scrum it is covered by Inspection and Adaptation.

What's important, as the Kanban Method is an evolutionary approach, the PSK is more like in Scrum so it is a kind of revolution. We do have to do a transformation to have Scrum and then from Scrum, we can go further to additionally implement Kanban to optimize it, to make it even more efficient, focused more on the flow.