Introduction to Kanban
Kanban is a system based on Lean and the Theory of Constraints. Named after the Japanese word for taskboard and developed by David Anderson it works on a continuous flow basis and dispenses with planning iterations. Instead it works by limiting work in progress to team capacity.
The Kanban board looks very much like a team board where tasks move across based on progress. The difference is that instead of refilling the board each iteration it is continually being replenished, a new work item is added every time another one is completed.
When a developer finishes a piece of work which has been in progress she moves it to the next column (normally either complete or awaiting test) and she takes a new card. If she takes a card from the stories column it will leave a gap in the stories column. The business representative will then see this gap and add a new story.
There will always be the same number of stories in the story column. This is how we limit work in progress to the amount of work we can accomplish.
Releases don’t need to follow a regular pattern, whenever a valuable story is ready the business can decide to release. Throughput is measured in completed stories per week.
It’s possible for slots can be assigned for support work but again this is limited by capacity.
No work is done on breaking stories into tasks until somebody is ready to work on it.
This is a true ‘just in time’ system with much less waste than a traditional agile iteration. However it also provides much less prediction to the company about what will be delivered when.
Long planning meetings are eliminated.
Limits work in progress which should improve efficiency.
Stories that are longer than one iteration can be worked on.
Business Representative gets to decide what they want ‘just in time’.
Easy to limit work done on new features versus bugs.
Things to Watch out for
The company won’t get a roadmap and release plan.
Design discussions are no longer prompted by planning cycle.
If the team is very motivated they could experience burnout because there is nothing limiting how much work they do.
However if they aren’t very motivated there is also no deadline or burndown chart to motivate them and they may under perform.
The business representative needs to be very engaged in the process and physically present enough to answer questions and refill the board.
No sense of accomplishment which you get from completing agreed work every iteration.
Loss of regular refection points, no sprint review or retrospective.
Applying the theory of constraints to maximise throughput leads to a Kanban system where projects aren’t broken down into iterations, but rather the project is done as a continual stream of prioritised work. It is a more efficient system than dividing work into iterations, but also doesn’t have the benefits of iterations which focus and motivating the team.