Kanban in a Nutshell

6:02 PM

Kanban is a method used in agile and lean environments.

The word kanban has a simple meaning, it means “visual card” and it came from the Toyota Production System. It was used to tell providers that the company was ready “to pull” materials. This way, they didn't have to wait or they didn't have to keep much inventory which also generated costs. It started as a system of just in time using a pull system.


If we try to find a definition in software development it would be something like: learn about your team capacity and match it with your work in progress to create a constant flow. Having this will make things faster.


To prove this, we have a formula from queueing theory,  it is called little’s law:

Total Cycle Time = Number of Things in Progress / Average Completion Rate

This formula says that  the more things you do, the more cycle time you will have. (Cycle time starts when work begins on the request and ends when the item is ready for delivery).

Kanban has been evolving through time and now it involves also some common practices:  “code review”, “mentoring”, “pair programming”, “pull-requests”, “workshops”. These  techniques promote knowledge sharing in the team. Which helps in case someone is on vacations or sick. The flow must always continue.

Two common reports for Kanban are control charts and cumulative flow diagrams (available in Jira). They show you your cycle time, the time you took in each step and in average. This helps you to see if you are improving or not. Again, you are checking your flow.

The way to implement Kanban changes from company to company, it is kind of flexible. But it remains with two important rules: a board and a limit in work in progress. A nice video to show how you could implement this can be found here:



Eric Brechner, the author of the book Agile Project Management with Kanban, describes kanban using a board with columns in progress and done. This video is simple and illustrates the basics of Kanban. It covers estimation, evolving from scrum, time boxes, etc. It is worth it to take a look at it.




0 comments