Kanban

What is Kanban ?

Kanban a signboard or a billboard is a process to manage and prioritise workflow in an organisation. It can apply to other industries like manufacturing processes or in handling tasks that arise out of day to day activity. Kanban was first developed by japanese developer called Taiichi Ohno at toyota. Taiichi’s idea was to point out important tasks and their priority and to also make sure work was distributed evenly among the team. The team should be aware of all the important tasks via a display board or a display table every day to everybody. So that the team is aware of all the important tasks and their priorities. Kanban has multiple stages that are displayed to task handlers. Each stage represents either analysed, assigned, working on task, task finished, task in review, tested, finally merged in production.

The stages of the bill board can vary depending on the tasks in an organisation. A simple board consists of the following levels: waiting, inprogress, to-do, doing, done.

An simple example kanban board of a organisation responsible for handling various features, bugs of a data logger

Waiting 

In ProgressTo DoDoingDone
Fixing RF ID
Testing DriveSend status report
Fixing UARTRemote application

Whereas a bigger organisation with more tasks will have a much bigger kanban board then the above. Kanban for software development teams is way more complex with a graphical view of the board on desktop to task any changes from remote locations.

Kanban principles.

  • Visualizing WorkFlow: It is important in any organisation to understand the workflow right from the user request until delivery of the product. Once you understand the workflow then you can improve the process of the workflow by making regular adjustments. For visualising kanban you need a board, cards marker and various columns on the board. Where each column represents a process and moving from one column to another column represents a progress in the task. Each card represents a work item assigned to employees.
  • Limit work in progress: kanban makes sure that a limited number of tasks are in progress at a given time. Assigning multiple tasks to the same employee can generate inefficiency due to multi-tasking and also can harm the process. It helps to reassign the task if the work in progress task is taking longer than expected. Limiting work in progress means implementing small parts of the workflow. WIP balances flow-based work so teams do not perform too much work at once.
  • Focus on workflow: The idea of kanban is to ensure smooth and clear workflow. It is about progress in work for any business process. it is about focussing on the flow of the work. Rather than focussing on the work of the people. If a process is set up properly then all stages of the process will automatically flow in accordance with the stages of the kanban. In this way you will be responsible to manage the work process and how to get it done faster.
  • Continuous improvement: kanban as like any other process needs analysis and continuous improvements in the process. These improvements can be based on the new ideas or experienced failures in the previous tasks. The best way to improve by learning and monitoring the process vs outcome of the process. By providing regular improvements in the kanban process and discussion with the team will improve productivity of the organisation.
  • Visualizing priorities:With Vertical kanban board representation it is very easy to visualise the priorities and make any modification if necessary. Using an “on hold” lane helps put higher priority tasks ahead and less priority tasks in hold state or in backlog lane which is also another lane in the kanban can be used to move a task to backlog if the current task depends on another task. or if the task does not have sufficient information about the task itself.

Kanban Benefits.

  • Flexibility: kanban boards can be used by any team that aren’t following the kanban method. and need a way to visualise the workflow, such as organisations who practice Scrum, waterfall, hybrid methods or SAFe. It is easy to understand the process and can be used by any organisation from developers to marketing or sales. kanban does not need a major change in the current workflow of the organisation.
  • Improves delivery process, each member gets a fair share of tasks according to his or her skills regular task monitoring and analysing provides the details of the task being handled .
  • Increase productivity sometimes higher than 100% with proper management of tasks and resources the business productivity will increase.
  • Manage change requests at any time of the process. The change request can arise out of clients’ needs, clients’ new requirements or business new requirements allowing the users to shift priorities.
  • Provides higher quality output in case of IT development companies better software quality by reviewing the software change with other experts as reviewing is a lane in kanban.
  • Enhances project visibility so every member knows what is his task, who handles sub part of the task or its dependencies and what was done in the past.
  • Team can get the scope of the project and its delivery time, teams can be prepared and know in advance about the task and manage their time efficiently. 
  • Reduces risks in projects, kanban helps reduce any risks that arise in future by analysing the task or evaluating samples before production.
  • Improves team performance, teams can now focus on specific tasks rather than multitasking in many things as kanban helps to monitor the various tasks handled by a team.
  • Reduces project cost, the process definitely reduces time and money by monitoring the period of the task and resources in need.
  • Manages the team efficiently, the team is effectively managed with this process and everybody has a specific task to report and raise concerns if any.

Kanban for software development teams.

A typical software company has a kanban board for maintaining tasks in the form of tickets. And each ticket has a ticket number. A ticket with a number, short description about the ticket is written on a piece of paper and is sticked to the kanban board 

. A short discussion about the ticket is done in regular meetings and the complexity involved in the task and if there are any dependencies on that ticket or the current ticket depend on some other fix. If necessary it can be kept in the backlog stage if it is not very important or it makes no sense to fix the task for the ticket as it was raised in error. Finally  a decision is made to assign the right person for that task. The various levels are shown in the below table.

 

Backlog/FeatureAnalysisIn progressImplementation ReviewClosedBlocked/Waiting For
SN-2034
SN-2035SN-2132SN-4014SN-4560
SN-1006SN-2045SN-4134
SN-2131SN-4133
SN-3040SN-2260SN-1134
SN-5560SN-2320

 

Backlog/New Feature : A new ticket with SN-xxx is a ticket raised by the team leader or by the testing team based on the need for a new feature or a bug that is present in the end product.

Analyze: Is a team effort to analyse each ticket and find out if the ticket has sufficient information to carry out the task and if there are any blockers for this task or if the task is dependent on another task then this task will be moved to the Blocked/waiting For lane.

In progress: In this lane is when the team decides the ticket is valid and good to go ahead for development activity after an assigner is chosen. In this lane an assigner works on the task mentioned in the ticket.

Implementation: After the assigner has done enough work and finally implements the task by either fixing an existing bug or developing a new feature. One implementation is done; he tests it sufficiently on his side. Before moving to the next stage.

Review: Once the assigner thinks he has all the things of the ticket fixed or implemented and that he is satisfied this work or development serves the purpose he puts it is review. Where the team reviews his work. To find out if the changes impact some other feature or if there is any fault in the way it is developed.

Closed: Once the reviewer approves the changes it will be merged in the final production ready to be tested in the final product by the testers once they approve the fix or development works fine the changes will be merged in the final product and ticket is assumed closed.

Blocked/Waiting for: In this lane the ticket can be moved if it is blocked for some reason that is not in assignee scope. Or if the assignee is waiting for a fix from another ticket because this ticket is dependent on another ticket which has to be fixed first. In order for the current ticket to work.