Kanban essentials

What is Kanban?

I've been meaning to write a post all about Kanban ever-since I wrote about a previous article  "The Ten Must do's of Scrum" 

http://christianleemiles.blogspot.co.uk/2013/02/the-ten-must-dos-of-scrum.html

Kanban is another agile term that gets thrown around a-lot.... usually by people who have no idea what it's really all about - but when did a lack of knowledge or understanding ever stop anybody throwing around buzz words?

Kanban originates from Japan and in particular Toyota's JIT (Just-In-Time) production system.

I was at a presentation or it might have been a training course, I don't recall!  but I do remember the instructor/speaker gave a very good demonstration using a bit of clear plastic pipe and a number of ping-pong balls to model the typical business/development process.

Basically features enter the pipe at one end... a process occurs, sometimes this will be structured, requirement gathering, design, production of code, testing etc, etc. However those who have worked in the industry as long as myself know that this process is usually far from structured!

But let us assume we have a nice neat process that occurs within our plastic pipe

  • Analysis

  • Design/Develop

  • Test

Now lets say that our analysts are churning out 3 stories a week .

Development being the highly efficient machine we know they are are able to code 5 features per week.

And the testing team are able to test 3 features per week

No matter how many new requirements (or ping pong balls) are pushed into our plastic pipe the maximum number of new features per week is 3..... we have a bottle neck!

The testers have too much work to do.... whilst the developers take a well earned break!

So how can Kanban help us?

Like all good things agile it involves sticking a board on the wall and using post-it notes! you can get fancy computer software for this and apps for your phone but I personally like a board on the wall! perhaps not so good for distributed teams or where people are working from home a lot... however there's no reason why with everybody having smart phones these days you can't just take a photo! If your really into Agile and buzz words try calling it a "Information Radiator" - I tried it once and people laughed at me.... actually nobody laughed at me.... and in my opinion that's part of the problem with the modern workplace.

In the above example (I was going to use a real photograph but client confidentially and all that!) We can see that every piece of work is represented by a post-it note.

The numbers on top show the maximum number of jobs allowed per team (more on that later) but for now these numbers limit the amount of overproduction... There's no point in development turning out a 100 features a week if we can only test 20! (think back to Toyota's JIT production line)

In the above example, development have all their work DONE (Remember how important the definition of done is in agile)... the testers however are still hard at it... the numbers on top physically prevent development and the analysis team from taking on anything new from the pending column until jobs can flow into Test.

Now depending on your organisation and how much your teams like each other the analysts might give the testers a hand - which helps to free up the blockage in the pipe line and work can start to flow again!

But the real advantage of the Kanban board is that blockages are immediately apparent and this allows for the process to be continually refined - remember this is one of the cornerstones of agile methodology.... you don't just design a system and leave it... you monitor it! agile is all about visibility and transparency.

I want to get started with Kanban - what should I do first?

1. Draw your pipeline... every organisation will have a slightly different process flows where do stories originate? how do they move through the system? how do they get tested/UAT/Release? 

2. Agree what are the 'Work in Progress' limits (remember you can change them later) 

3. How are stories selected and given a priority (just as would you with Scrum)

4. Very importantly.... how often do you review the process and how?

5. Get a board and stick it up (Be-careful with this and consider H&S, hanging a board from the wall isn't as safe as it used to be.... in fact in most organisations a Kanban board for this process might be required)

6. Start doing it! and don't be afraid to make changes!

And finally good luck,

Written by Christian Miles

Christian MilesWIP, kanban