A lot of people believe that Scrum and Kanban are two mutually exclusive options for doing software development. All too often, you run into conference sessions or website/ blog articles titled “Scrum vs. Kanban” – which reinforce that belief. The reality is that they are actually completely complimentary!
Kanban is an evolutionary process or method to making gradual, non-disruptive changes to improve whatever process you are currently using. Yes, even Scrum! As David Anderson has stressed in his Kanban blue book, Kanban is not a software development or project management methodology. It is a method for improvement to whatever you do. In fact, Kanban cannot be applied or implemented without the existence of a process.
So, Kanban does not compete with Scrum. Instead, Kanban (principles) applied on top of your existing Scrum practices can help you get better visibility to how your process is actually working, where there might be bottlenecks and opportunities for improvement, and help you improve your flow (of work), your time to market or time to value, and your predictability.
While Scrum has had worldwide adoption and success, many teams and organizations have struggled to implement all of its aspects. The popular refrain in Agile circles goes – “We are doing Scrum, but…”
Broadly, these challenges can be grouped into the areas:
If you have faced some or all of these challenges, and are looking for ways to improve your Scrum processes, then you should look at Kanban – to help you improve and manage your work and your team better.
Even if Scrum (or any other method for that matter) is working fine for you, there is always room for improvement. How do you determine if and where bottlenecks exist in your processes? How do you know you are meeting SLA commitments for different classes of service your teams are expected to deliver? How do you decide if you could improve your time to market? What kind of impediments is your team facing which impede the flow of work? How balanced are your resources across different functions within the team?
These are all questions that you should be asking your team – and consider using Kanban for.
Another area of likely improvement is what your Product Owner manages – the overall task of backlog grooming, roadmap planning, prioritization of user stories in a collaborative way that ensures a steady supply of work to your dev team at the start of each sprint planning meeting. The challenges that a Product Owner faced are not appreciated by many people. While tools such as story-mapping exist to help the Product Owner, providing visibility to the process of starting from a high-level set of themes or epics and breaking them down so they are scheduled in specific releases and sprints, is crucial for all stakeholders to come to an agreement quickly and amicably on an ongoing basis.
Kanban capability to address this process and feed the dev team is addressed in the body of work that is now termed Upstream Kanban or Discovery Kanban. This is also something you should consider Kanban for.
Kanban is a process or a framework to improve what you are already doing gradually. Kanban helps you visualize your workflow, limits work-in-progress and manage the flow of work. It helps you start with what you have and gradually evolve by making changes to your processes that improve your flow and throughput – and the final product quality.
Most Scrum teams use a Taskboard and have a Ready – Doing – Done workflow on it to track the progress of tasks associated with various user stories.
However, this board does not help you track the overall process each user story is following. The process a user story follows most likely looks something like this:
You can apply Kanban at this level to understand how smoothly your stories are flowing; where are the bottlenecks in terms of high wait times, where they may be getting blocked due to external or internal resource dependency, etc. The board will reflect the process above –
Using this visualization, along with WIP Limits and implementing pull at the story level will get you started with applying Kanban within your Scrum environment.
Agile teams around the world are evaluating, testing or have completely adopted Kanban. As they have made changes to the process to improve their delivery capability, these teams have called the resulting ‘improved’ process Scrumban, Scrum-Kanban or just Kanban! Call it whatever you like, applying Kanban to your Scrum (or other) processes helps you take your process that is not working for you and transforms it into a process that does.
Kanban is not just about visualization. It gives you a range of tools and techniques to further enhance your ability to balance the mix of work your teams are called upon to do (using Class of Service), a wide range of metrics that help you understand your team’s delivery capability and make reliable predictions of how long it might take to complete a new sprint or a release and many others. We invite you to fully explore this Kanban Guide to determine fully how you might use Kanban in your Scrum environment.
SwiftKanban is a leading Kanban tool that also supports Scrum processes with an integrated set of Scrum features and metrics – to make an evolutionary change to your processes. SwiftKanban’s Scrum features make it one of the best Scrumban tools to give your team full support through your transition from Scrum to Scrumban and/ or Kanban! You can explore more of SwiftKanban’s Scrum features.
If you are ready to try out SwiftKanban’s Scrum capabilities, you can sign up for a Free SwiftKanban trial!
Check out other topics on the right side of this page. You can also sign up for an upcoming webinar on Kanban – or look at some great previous webinars conducted by people such as David Anderson and other thought-leaders in the Lean/ Agile community!
Try our Enterprise Plan FREE for 30 days.