One of the buzz words today in software development community is Kanban. One of my teams has started using Kanban few months back and I just wanted to post my thoughts on Kanban (agile software development).
This is my first post in Kanban. I am planning to publish a series of posts in the coming days.
Let us talk some theory. What is Kanban?
From Wikipedia: It’s a concept from the Lean or Just-in-Time Production System (Originally created by Taiichi Ohno). Kanban is not an inventory control system. Rather, it is a scheduling system that tells you what to produce, when to produce it, and how much to produce.
The need to maintain a high rate of improvements led Toyota to devise the kanban system. Kanban became an effective tool to support the running of the production system as a whole. In addition, it proved to be an excellent way for promoting improvements because reducing the number of kanban in circulation highlighted problem areas.
Taiichi Ohno states that to be effective kanban must follow strict rules of use (Toyota, for example, has six simple rules, below) and that close monitoring of these rules is a never-ending task to ensure that the kanban does what is required.
Toyota’s six rules
1. Do not send defective products to the subsequent process.
2. The subsequent process comes to withdraw only what is needed.
3. Produce only the exact quantity withdrawn by the subsequent process.
4. Equalize production.
5. Kanban is a means to fine tuning.
6. Stabilize and rationalize the process.
Well, Well, Well. Isn’t this not for production units? We are into Software Development and why should we bother about this? Of late, most of the product development companies (ISVs) have started looking at themselves Software Factories which produces Software. Hence, the idea is to apply the same in Software Development as well.
References and Some Useful URLs for free time Reading