Kanban is the most popular agile framework after Scrum for software development. It provides the real-time and transparency of work. In Kanban board, all the tasks are visible that allows the team members to see the state of every task at any time.
Characteristics of Kanban methodology:
In Kanban methodology, a team focusses on the work that is 'in progress' state. Once the team completed its task, then it pulls the next first task of the product backlog. A product owner reprioritizes the tasks or made changes in a product backlog outside the team, so this will not disrupt or impact the team. A product owner keeps the most important task on the top of the product backlog, so the development team assures that they will produce the most valuable output. In Kanban, we do not need to do the fixed-length iteration as we did in the scrum.
- Minimize time cycles
The cycle time is the amount of time taken by the work to travel from the moment it gets started to the moment it gets shipped to the customers. An overlapping skill set can minimize the cycle time. In this, developers not only write the code but can also test the code whenever required. This type of sharing skills means the team members can take the heterogeneous work which optimizes the cycle time.
- Visual metrics
Visual metrics is a way of improving team efficiency and team effectiveness. A visual metric is shown through charts, and team members can view the data in charts, and can spot the issues arises in their process. The main goal of the visual metric is to reduce the amount of time taken by the issues to move through the entire process.
There are two types of charts used by the kanban team:
Control charts: It shows the cycle time taken by each issue.
Cumulative flow diagrams: It shows the number of issues present in each state.
- Continuous delivery
The main aim of continuous delivery to deliver the product with low risk rapidly. The transition from the agile methods to continuous delivery move the two-three weeks sprint to the Kanban methodology. Both Kanban methodology and continuous delivery complement each other by delivering the product to the customers faster. Software development teams are used to develop, test, and review the new features in a continuous manner. Therefore, we can say that Kanban is a continuous flow methodology.
Kanban board is a tool used to visualize the work and limit work-in-progress.
As in scrum, we are taking some activities from a product backlog and adding in a sprint backlog. However, in Kanban, we do not have sprint, so sprint backlog activity will not be performed. This is the main difference between scrum and Kanban that scrum contains sprint backlog while kanban does not contain the sprint backlog.
Kanban board consists of three states:
When the project is started, then we put all the activities from the product backlog to the 'To Do' state. When the team member starts working on an activity, then that activity is put in a 'Doing' state, and when the activity is placed, then it is placed in a 'Done' state.
From the Kanban board, one can get to know which activities have been done and which activities they need to develop.
One of the most important features of the Kanban board is a Limit option. In the above figure, we have eight tasks in a product backlog and limit set is 4. At a time, it will take only four tasks in a 'To Do' state, and if any of the tasks come in a 'Doing' state, then one more task from the product backlog will be placed in a 'To Do' state. In this way, we can set the limit depending on the availability of the resources.