Though Scrum is the most popular agile methodology, many companies have been experiencing issues with it and are moving to a Kanban model for their software development efforts.
The most frequently asked question is “Which is better, Scrum or Kanban?”. My answer is always the same, “It is like comparing apples and oranges”.
That depends on how the use of these methodologies will match your expectations.
Agile frameworks and methodologies
When we talk about Agile, we talk about the Agile Manifesto and Principles. Over several decades it has been a result of the search for the best solutions, finding the response to the challenges of software development. The following principles are based on the Agile Manifesto.
A number of core Agile methodologies share the same philosophy expressed in the Agile Manifesto. However, they all have different practices, processes, and techniques.
Kanban vs. Scrum
Many Scrum teams use Kanban as a visual process and a project management tool. While other teams prefer to use only Scrum because of its prescriptive nature. When choosing between Kanban or Scrum, distinction can’t always be made because Kanban and Scrum can go hand-in-hand.
- Both are Agile
- Both limit WIP (Work in Progress)
- Both use “pull scheduling” system
- Both are focused on delivering the releasable software often and early
- Both use transparency to drive process improvement
- Both need breaking the work into pieces
- Both are based on self-organizing and cross-functional teams
- The release plan for both is continuously optimized and based on the empirical data (lead time/velocity)
What is Kanban?
Kanban comes from the Japanese word that literally means “signboard” or “billboard “. It was developed by Toyota Motor Corporation (1950) in the late 20th century. The line – workers used Kanban to signal steps in the manufacturing process. It helped them communicate more easily, on what work needed to be done and when. Using Kanban helped them reduce waste and maximize value.
Some frequently used definitions of Kanban:
- Its a “pull scheduling” system that tells you what to produce, when to produce it, and how much to produce
- Simple but powerful tool that can help business owners and project managers to stay organized
- Kanban is a technique for managing software development process in a highly efficient way
- Kanban is a management and visual control tool of the workflow
The Kanban board can be applied in many industries such as constructions, architecture, software development, and personal time management.
The goal of Kanban is to identify potential bottlenecks in your process and fix them so the work can flow through it.
Why Kanban?
Kanban board is widely used by IT managers and software development teams. But it is also being adopted by business managers and project teams to work smarter. Why to use Kanban board:
- Tasks in Progress are always visible
- Instantly detect impediments/obstacles and take steps to remove them
- Improve communication between you and your team
- Empower the Teams to self-manage visual processes and workflows
- Inspire Team collaboration
Usually, humans are visual creatures. It is easier for us to give and receive some information with a visual aid than without. This is one of the reasons why Kanban board is the perfect tool to help teams instantly “see” and understand every part of a project. This is a concept known as visual management.
Cards can be created in seconds and moved around the board by dragging and dropping them to the desired locations.
Above all else, Kanban boards are flexible. Using a Kanban board is as easy as writing a sticky note and posting it on a whiteboard, so anyone can use them for just about any purpose.
Project managers can spend less time communicating status updates because the board creates transparency. Team members, either onsite or remote, can see the status of a project at any time.
Studies show that people are more efficient in getting tasks done if they can focus on only a few tasks at once, as opposed to being forced to task-switch throughout the day.
How we organize our work on a Kanban board?
Most Kanban boards are located in the team room and have user story cards or post-it notes distributed across different categories. The use of “Story” cards or post-it notes helps everyone in the team to understand the complete scope of work that needs to be done.
Electronic Kanban board usually consists of three columns: To Do, In Progress, Done. Such workflow is the best approach for individuals and small teams. Tasks are created in the left column and are being moved towards the right. The work is finished when all tasks reach the right column.
Core principles
According to David Anderson, there are five core principles to a successful implementation of the Kanban board.
Visualize the workflow
The goal of Kanban is to make positive changes and optimize the workflow through the system.
This can be done in the form of stickers or cards with different colors to signify different classes or services. Depending on the complexity of the process and the work-mix (different types of work items that need to be done and delivered), Kanban board can be very simple to very elaborate. Once the process is visualized, the current work that the team needs to do can be defined.
Limit WIP (work in Progress)
Limiting work-in-progress (WIP) is fundamental to implementing Kanban – a ‘Pull-system’.
Limiting the WIP, encourages the team to complete the given work before taking some more. Thus, work currently in progress must be completed and marked done. This creates capacity in the system, so new work can be pulled in by the team. Initially, it may not be easy to decide what the WIP limits should be. In fact, work may start with no WIP limits.
Limiting WIP and putting the WIP limits on each column of the board not only helps the team members to finish what they are doing before taking new stuff – but also informs the customer and other stakeholders that there is a limited capacity work for any team, so they need to plan carefully what they will ask the team to do.
Manage Flow
Kanban system helps managing flow by highlighting the various stages of the workflow and the status of work in each stage.
A key aspect in the process of observing the work and resolving/eliminating bottlenecks is to look at the intermediate wait stages (the intermediate Done stages) and see how long work items stay in these “handoff stages”. This way it shows that reducing the time spent in these wait stages is key to reducing Cycle Time. As it becomes more predictable, it becomes easier to make reliable commitments to the customer about when any work you are doing for them will be done.
Make process policies
By formulating explicit process guidelines, it creates common basis for all participants to understand how to do any type of work in the system. The policies can be at the board level, at a swim lane level and for each column. It can be a checklist of steps to be done for each work item-type, entry-exit criteria for each column, or anything at all that helps team members manage the flow of work on the board well.
Implement Feedback Loops
The idea of getting feedback early, especially when the team is on the wrong track with the work is crucial for ultimately delivering the right work, the right product or service to the customer in the shortest possible time. Feedback loops are critical for ensuring that.
Constant Improvement
The Kanban Method is an evolutionary improvement process. It helps adopting small changes and improving gradually at a pace and size that the team can handle easily.
Kanban isn’t something that is ever “finished.” The approach requires constant monitoring and analysis to look for the next best way to improve. Conditions, resources and customer demands change over time, so it is always important to assess flow and look for blockers that can reduce waste.
Advantages and Disadvantages
Advantages
- Simple and understandable process
- No estimation
- Provides quick and precise information
- Seamless communication
- Minimizes the waste
- Provides quick response to a change
- No need of planning overhead, less meetings
- Low cost associated with transfer of information
- Control can be maintained
- Focus on quality
Disadvantages
- Communication problems when 5 people work on the same story
- Sometimes Kanban team makes the board overcomplicated
- There is no defined time frame for stabilization/ regression
Conclusion
Kanban can improve agility of an existing process with installing continuous improvement capability across the organisation. It can work in circumstances where time-boxed methods are inappropriate or problematic, and can help challenged or failed Scrum.