Kanban is a method for software products and processes development with emphasis on just-in-time delivery while at the same time does not burden the software developers. The emphasis is on the fact that developers draw work from the ranks and the process is visible to all who participate in the development until being supplied to the user.
In the agile method of software development, it has become common practice to visualize the progress of the project and to be available to everyone on the wall in the shape of the plate in which the tasks are. In addition, the advantage of Kanban is that it can be used to visualize in any development methodologies such as RUP or waterfall.
From the images we can see that the project is visualized in a way that the pieces of paper are glued to the plate with the tasks. These pieces of paper are called Kanban tasks, while the board is often called Kanban board. There are assigned tasks on Kanban board, and their current status is determined by description below which, to do, doing and done tasks are located. However, the labels can vary too, so for example, labels can be “tested”, “certified”, “blocked”, etc.
Additionally, each project has multiple processes (User Story, Unit Test, Deploy, etc.), and each process has its Kanban boards and labels where the tasks, after having undergone a process and end up in the Done column shift to the next process, or next Kanban board (illustrated in the figure below). In this way, it’s given a clear visualization of the task flow and their progress through the course of the project.
Another important characteristic of Kanban is to monitor and improve the process. Over the life of the project is necessary to pay attention to how tasks are circulating through the system and it is very important to monitor and improve the Kanban process.