The name 'Kanban' originates from Japanese, and means roughly as "signboard" or "billboard". From Agile Methodology point of you, Kanban is an agile methodology for managing the creation of products with an emphasis on continual delivery while not overburdening the team.
Kanban is a new technique for managing a software development process in a highly efficient way. Kanban underpins Toyota's "just-in-time" (JIT) production system. Although producing software is a creative activity and therefore different to mass-producing cars, the underlying mechanism for managing the production line can still be applied.
Kanban methodology proposes that a software development process can be thought of as a pipeline with feature requests entering one end and improved software emerging from the other end. A bottleneck in a pipeline restricts flow. The throughput of the pipeline as a whole is limited to the throughput of the bottleneck.
Kanban Over an Example Scenario:
Let’s consider that analysis of 10 items are completed per week by the team. And these 10 items are developed per week by the team respectively. But, 5 items can be tested by the team per week. This means 5 items will not be tested and delivered. The throughput of the team will be 5 items per week because the testers are acting as a bottleneck in this scenario.
If the analysts and developers aren't aware that the testers are the bottleneck, then a backlog of work will begin to pile up in front of the testers. The effect is that lead times go up. And, like warehouse stock, work sitting in the pipeline ties up investment, creates distance from the market, and drops in value as time goes by. Inevitably, quality suffers. To keep up, the testers start to cut corners. The resulting bugs released into production cause problems for the users and waste future pipeline capacity.
If, on the other hand, we knew where the bottleneck was, we could redeploy resources to help relieve it. For example, the analysts could help with testing and the developers could work on test automation.
But how do we know where the bottleneck is in any given process? And what happens when it moves?
Kanban reveals bottlenecks dynamically. Kanban is incredibly simple, but at the same time incredibly powerful. In its simplest incarnation, a Kanban system consists of a big board on the wall with cards or sticky notes placed in columns with numbers at the top.
The cards represent work items as they flow through the development process represented by the columns. The numbers at the top of each column are limits on the number of cards allowed in each column. The limits are the critical difference between a Kanban board and any other visual storyboard. Limiting the amount of work-in-progress, abbreviated as WIP, at each step in the process, prevents overproduction and reveals bottlenecks dynamically so that you can address them before they get out of hand.
Practices of Kanban
There are 3 basic practices of the Kanban. These are:
Visualize what you do today. Seeing all items in context of each other can be very informative. Kanban board is for this purpose actually. All works that are in progress and done and waiting for the next step to be processed are visualized in the board.
Limit the amount of work in progress. This helps balancing the flow-based approach so teams don’t start and commit too much work at once. Otherwise, too much work will overburden the team and this will cause quality to decrease respectively.
Enhance flow: when something is finished, the next highest thing from the backlog is pulled into play. When there is a room for analyzing, developing, testing and deploying a new item in the software development pipeline, the most important feature from the backlog is pulled into service development pipeline until all features of the project are finished.
Follow us to get latest news about IT & Business World and Certification Exams
Did you see our FREE courses?
Did you take a look at our Certification Courses?
Do you want to earn money just by sharing this article? Learn How