When to use Kanban?

Here are the reasons for using Kanban development method:

Kanban can be used in any domain, and it can be used very effectively in software development. Kanban project management helps in improving the efficiency of the team. It is a pull-based system. Tasks are being pulled as soon as an individual is free. Kanban should be used when you want to release your work at any time. It requires git branching, but it is doable. Kanban should be used when you want to change the priorities on the fly. For that, all you need to do is to put this story on the top of the to-do queue. It should be used when you want to visualize your work, and you want to see the progress of your tasks visually.

Kanban Cards

The Kanban system recommends visualization of work. It suggests the use of the physical and the digital board.

Kanban Cards The Kanban cards are essential pieces on the Kanban board as it represents the work that the team is working on. These cards will have

Priority Owner Type Due date

A column in Kanban board represents the work stage, and you can place a WIP (Work in Progress) limit on the column. The WIP limit means the maximum number of cards that can stay on that column. Since Kanban project management uses a pull-based system, as and when a developer is free, he/she can pull a card from the to-do column to the dev column. It has columns that represent the status of the work like

To-do, Dev Testing Done.

Each of these columns can have cards <=the WIP limit. The cards represent the actual work. You can use positive numbers to limit work-in-progress, and this limit number can be placed on the top of the columns in both physical and digital Kanban boards. Any individual of the team can manage the state of his card, and the entire team can visualize the workflow. Next in this Kanban tutorial, we will learn about Kanban Workflow. The basic principal Kanban follows is, “stop starting, start finishing”. With the help of WIP limits, it gets more work done. There are customizable Kanban workflows and states available in any modern tool like JIRA. Below are the basic states that many software teams follow for their workflow management.

Pull Based System

Kanban is a pull-based method where tasks are being pulled rather being pushed. As soon as you have completed your current card, you can pull a new card from the previous column of the Kanban board.

Start with what you have now: Kanban system suggests working incrementally and start with what you have currently. Since one of its practice is to improve continuously, you must improve the system gradually.

Agree to Pursue Incremental, Evolutionary Change: Kanban recommends an incremental change in the process, and you must not make a big change in the process in one go.

Respect the Current Process, Roles & Responsibilities: Once again, start with what you have now and change the process, role, and responsibilities in an incremental manner.

Encourage Acts of Leadership at All Levels: Every individual can act as a leader and provide ideas to improve the efficiency of the overall Kanban system. You should not think that this is a management level activity, and even the youngest member of the team can act as a leader.

Visualize the workflow: This principle suggests having a Kanban board (physical or digital) to visualize the workflow. Each individual of a team must see his card and cards of other team members. You can move your cards in different columns as per the above image. It brings lots of transparency within the team and also makes it easier to resolve blockers

Limit work in progress: Kanban is a pull-based system, and it improves the efficiency of a team to limit work in progress and have tasks that can be completed in the given time frame by the team. This WIP limit applies from the beginning to the end of the workflow. You can apply the limit on top of the column using a positive integer.

Focus on flow: This principle focuses on flow and on any interruptions. If there are interruptions or blockers, they must be fixed permanently.

Explicit Policies: Policies can be established in a team to reduce the rework and focus on the areas which require attention or where it is more effective.

Feedback Loop: Feedback loops are very essential in Kanban. It is not just within the team but between multiple teams, coaches, etc. This helps in improving the overall health of the Kanban system.

Continuous Improvement: This is the core principle of the Kanban system. It states that you can always improve the process, and that will result in better efficiency.

With the WIP limit, Kanban helps in the improvement of Lead Time and Cycle Time. There should be the least possible gap between these two timings. For example, we have 5 developers and just 1 tester; what will happen in this case? There would always be many cards that require testing, and they will be sitting idle and waiting. To overcome the issues mentioned above and improve efficiency, Kanban follows the pull-based approach with WIP limits, where there would be a limited number of cards to be pulled. So, a tester will pull a task from the “ready for testing” stage when he has finished his current task in hand. With the WIP limit in Kanban columns (stages of development), you will not have many unattended cards in the Kanban workflow. The pull-based system also helps in finding the correct velocity for the team. With the right velocity in place, the team will perform better.

Lead Time and Cycle Time

In Kanban method, lead time and cycle time are widely used, there is a difference between the two, and it is important to understand that to avoid the confusion. Here it is also important to understand not to include the time it takes between ready for release and actual release. In the ideal scenario, the gap between lead time and cycle time should be minimal, and Kanban uses a cumulative flow diagram (CFD) to measure lead and cycle time historical data.

Cumulative Flow Diagram (CFD)

CFD is a chart which is available in all leading workflow management tools like JIRA. This chart measures the total amount of work cards/tasks that entered the workflow and amassed completed cards/tasks over time. It helps you to have an estimate of average lead time and cycle time for prespecified time. CFD diagram will give you indicators or problem areas to fix. It will provide you with a clear picture, and based on this diagram. You can correct your team’s lead time and cycle time.

Kanban Cumulative Flow Diagram

Lead Time: It is the duration between a new card’s arrival in your workflow and its final departure from the workflow. Cycle Time: It is a duration between the card’s arrival in the working state and when the card is ready for release. WIP: Work in progress (WIP) limits the maximum amount of work items in the different stages of the workflow. Throughput: It is the actual performance, and it tells the actual number of cards delivered in a given timeframe. Throughput = WIP/Cycle Time

Limiting WIP(Work-in-progress)

In Kanban development methodology, WIP limits the number of tasks/cards which can be worked on by a team member or entire at one time. The WIP limits ensure that the team stabilizes their work and increases the predictive nature, which is essential in the pull-based system. Usually, the WIP limit decision is taken by the team itself.

Reason to set the WIP Limits:

Here are reasons to set the WIP Limits:

It shifts focus on getting things done as an individual focuses on a single task at a time. It helps teams to understand their capacity. It improves productivity lead and cycle time. It helps in avoiding the piling up tasks (in waiting mode). It helps in the movement of the workflow and tasks keep moving. It also helps to resolve blockers as an individual don’t switch between different tasks.

Scrum Vs. Kanban

Here are the important differences between Scrum Vs. Kanban

Summary:

Kanban definition: Kanban is defined as an agile development methodology to develop software, automobiles, goods, medicines, shoes, or any other manufacturing work. Kanban uses the Kanban board to visualize the work. It uses columns as stages (to-do, dev, testing, etc.) and cards as a work item. Kanban methodology supports the physical and digital board for visualization. Kanban is a pull-based system, and cards are pulled from the previous stage to the current stages by team members. Kanban method uses the CFD diagram to understand the team’s lead time and cycle time. This chart helps the teams to fix the gap between these two timings and improve efficiency. Kanban development methodology, WIP limits the number of tasks/cards which can be worked on by a team member or entire at one time. WIP limits shifts focus on getting things done as an individual focuses on a single task at a time.