How can Scrum with Kanban help people solve complex problems?
Let’s approach this from a slightly different angle by looking at how Scrum with Kanban can help people deal with complexity.
Complexity often requires collaboration, not necessarily between teams, but between groups, crews, or individuals. Scrum already helps teams deal with complexity, so what does Kanban bring to the mix?
Scrum with Kanban includes a definition of workflow, four practices, and four measures. The first practice is visualization of the workflow. The visualization of that workflow is essentially the Kanban board.
There is so much in the definition of workflow that can help make sense of complexity. The name Kanban roughly means visual signal. The Kanban Guide For Scrum Teams helps us optimize signaling to see what we need to do to help our work flow.
Focusing on the following allows us to navigate complexity more easily:
- What active work we should focus on or bring in today
- How much work we’re comfortable doing at the same time
- Our aspiration for more predictability
- relatively aged work
- blocked work
- dependencies, including those neither aligned nor acknowledged
The 2nd practice of limiting work in progress (WIP) tightens the Scrum Team’s focus, so they get the Product Backlog items to Done sooner, which allows for slack time for thinking and unplanned eventualities. When the Scrum Team releases sooner, feedback loops also get tighter resulting in a quicker inspection of feedback and adaptation.
The 3rd practice of active management of work items in progress is about the Scrum Team addressing the above signals. By reviewing what the Developers need to work on together today, they continually refresh their thinking to address the complexity they’re facing.
The 4th practice is inspecting and adapting the team’s definition of workflow. The Scrum Team can change the definition of workflow at any time, including which columns on the Kanban board to add or remove. However, the Scrum Team needs to strike a balance between allowing the system to settle to observe trend changes following a policy change and adapting to the current reality by making multiple changes in the definition of workflow.
Scrum events increase the number of opportunities to step back to thoughtfully review what’s going on, which helps avoid execution bias. Using Kanban’s flow-based perspective and metrics as part of the Scrum events strengthens the team’s empirical approach.
In Sprint Planning, teams can use throughput or Monte Carlo probabilistic forecasting to guide selecting the number of items they can reasonably get Done in a Sprint. In the Daily Scrum, a review of blockers and relative work item aging can help manage items in progress towards the Sprint Goal.
I recommend using Monte Carlo probabilistic forecasting in the Sprint Review as well. The tool can help manage expectations with its caveat that we’ll have a more accurate forecast next week/Sprint/month. Knowing that we are up against it to meet a deadline early on is often enough to course correct or simplify achieving the outcomes.
The Scrum Team should strive for a range of opinions and views on what the customer data is saying; doing so improves fresh thinking, a vital tool for complex work. Try to avoid groupthink; invite to the Sprint Review people who constructively bring different perspectives.
The Sprint Retrospective encourages the Scrum Team to assess where work is getting stuck, the definition of workflow, and monitor their aspiration for the service level expectations (SLE) against real-world data.
While Scrum with Kanban is fantastic at improving effectiveness, efficiency, and predictability, deep complexity presents additional challenges.
Quickly evolving, complex environments can encourage advancing ideas that have insufficient evidence to support building them. The “build it, and they will come” approach can be wickedly expensive. Remarkably, the simple act of talking to the customer can help avoid slipping into a fantasyland of what we think they want or need. Using a discover-to-deliver approach aided by Scrum with Kanban and Scrum with UX’s data-informed decision-making help teams stay on the right path.
Remember the treasures that come from simply improving customer service delivery. Using Scrum with Kanban, we can get through Product Backlog items more effectively, efficiently, and predictably to realize those improvements.
The beauty of using Kanban to deal with complexity is that we can apply it at all levels as a strategy to optimize the delivery of value. In these times, value is not only about the organization, the customer, and the end-user; it is also about sustainability, the reduction of risk, and learning.