This page is designed to help you avoid the easier challenges we’ve seen most teams new to Kanban face as well as to arm you with powerful methods beyond Kanban that will help larger implementations.
Benefits of Kanban
The benefits of Kanban over other agile methods include:
- It has an intense focus on improving the flow of work to lower delays. It makes work processes and workflow extremely visible. Improvement in flow comes from intentional looking at processes and delays.
- Management is a key member of the process.
- Kanban offers ways to manage projects without having to form cross-functional teams (which can be difficult when certain people are in very high demand)
- The transition to Kanban is much less intense. It starts where you are and gradually improves based on observe-and-adapt process improvements.
- The ability to control your rate of transition.
- If your teams are overwhelmed with work, the ability to determine what the root cause of the overwork is.
- Much faster learning than typically achieved with other methods.
The challenges with Kanban
Common challenges with Kanban include:
- If teams do not have all of the capability they need they must rely on others; this can result in handoffs and delays.
- The pull method of Kanban is not the only or best approach. Lean says, “Flow when you can; pull when you must.” Focusing on flow also requires improving the ecosystem.
- Stories must be roughly the same size for cycle time to be meaningful.
Improving upon Kanban
We can use practices from Scrum and eXtreme Programming plus Lean Thinking to improve upon Kanban.
Helpful lessons from Scrum
Scrum has taught us a lot. It is a very good framework or approach. Here are some good lessons from Scrum.
- Cross-functional teams are good. A team that has all of the capability required to create a product. Feature teams are better structures than component teams because you don’t have to try to tie components together.
- Improve collaboration. Cross-functional teams improve collaboration within teams. Consistent cadence helps teams collaborate and coordinate with each other.
- Eliminate waste. Reducing delays in communication reduces the waste of waiting and decreases cycle time. Frequent feedback reduces miscommunication and defects and the delay of realizing value quickly.
- Cadence coordinates different roles. Product Owners know when they need to have backlogs ready for the team. Teams are able to stay in sync. This reduces waste caused by dependencies.
- Iterations create discipline. Time-boxed iterations automatically focuses people on the work at hand.
- Short-term planning can be accurate. It is much easier to predict what is needed in the near term than far away.
Helpful lessons from eXtreme Programming (XP)
XP has also taught us a lot about good Agile practices. For example:
- Test-first and automated testing results in long-term high quality, maintainable code.
- Continuous integration is important.
- Small stories are important.
- Collaboration is critical.
- Shared understanding of Agility is critical.
Leanban brings additional Lean thinking to Kanban. Specifically:
- Holistic view
- Focus on flow
- Remove delays in the workflow
- Only work on the most important items
- Build quality in
This is a different mindset than classic Kanban or the Kanban Method. This “Kanban within Lean” mindset instead of the common “Lean within Kanban” makes all the difference. The biggest changes to what you do will be:
- Focus on delivering business value
- Make your teams as cross-functional as possible
- Adopt a common cadence across teams
- Use estimation and velocity
- Acceptance Test-Driven Development
- Continuous integration
- Automated testing
- Emphasize collaboration