Kanban is now one of the most popular Agile methodologies. For modern software developers, it is necessary to know the main Kanban terms to be capable of managing their projects using this method. Before starting our talk about Kanban notions, it is necessary to give the general definition of the methodology.
The history of Kanban began in Japan in the 1940s. The methodology was invented by the managers of a famous Japanese corporation Toyota to improve the terms of product delivery. In the 2000s the method was applied to software development. Most modern specialists consider it very effective. Probably that is because its main principles are workflow visualization, limitation of work in progress, and iterative structure of projects. Kanban is an Agile methodology, so it shares all Agile values. However, some actions of Kanban teams look quite weird for Agile developers. That is why some inexperienced programmers even compare these two methodologies. However, it is a wrong approach, because Kanban is just one of Agile methods.
Now, as we know what Kanban is, let’s look at the terms that are typical for this methodology.
Kanban boards are the main distinctive features of Kanban methodology. They are the means of workflow visualization. A typical Kanban board is nothing but a table with several columns. Each column depicts a certain stage of task performance from “to-do” to “done”. By moving the cards or sticky notes with tasks on the board the team can see their current state. It is very important to define all factors that impact the process of project realization negatively. Modern Kanban boards can be either physical devices or digital applications. Kanban project management tools allow the developers to visualize their progress in various forms including charts, diagrams, and tables.
The product backlog
Like any other Agile methodology, Kanban uses product backlogs. A product backlog is actually a list of tasks for the entire project. It is formulated of user stories. These brief descriptions of the future product’s functionality are gathered and prioritized by the customer or his representative. Unlike Scrum teams, Kanban teams cannot reprioritize the items in the product backlog. The customer’s demands are the main thing in every project for them. The client or his representative can reprioritize the product backlog items anytime.
The iterative cycle
Kanban iterative cycles are unlike iterative cycles of other Agile methodologies. They don’t have separate plans and backlogs. An iterative cycle in Kanban is the time required for one task to pass all stages of its performance. Such an approach allows the customers to reprioritize the product backlogs anytime.
As we have already mentioned, limitation of work in progress is one of the main Kanban principles. A typical Kanban software development team never performs more than two tasks at the same time. Such approach allows the developers to improve the quality of their products.