It's raining on your software development project. Your Scrum team is in the middle of its fourth sprint. Sure, some work is being finished, but progress feels minimal. The team cannot definitively communicate the state of the project; stories are carrying over to the next sprint at an alarming rate; there are too many tasks in progress to count; and there is little, if anything, to demo at the upcoming sprint review. Developers feel the project is stagnant, stakeholders are becoming antsy about the fast-approaching deadline, and you keenly observe the compounding tension in each daily stand-up.
So what is a ScrumMaster to do? Fortunately, the Agile Umbrella (complete with Kanban) is designed to protect us from these types of rainy days. Kanban's lightweight nature allows for easy integration with Scrum. We will explore how to use Kanban as a technique
within your Scrum framework, by breaking down its five core properties. Let's take a look.
Source: Andrea Gigante
Kanban is well known for being a nonprescriptive method that has the following core properties:
- Visualized work flow
- Limited work in progress (WIP)
- Measured and improved flow
- Explicit process and policies
- Continuous improvements
Visualize the work flow
Have you ever finished a stand-up and still felt a bit lost? This may be the result of numerous issues, including, but not limited to, neglecting to update the Scrum and/or Kanban board, ineffective daily stand-ups, inadequate communication, or lack of team alignment. Many of these issues can be addressed by visualizing the work flow. Software development is intangible, complicated knowledge work. Since we are not able to see a physical product built in front of us each day, it is important to visualize the flow of user stories. By design, Kanban is a visual framework intended to bring transparency and communication to the forefront of the process. It is critical to display the board during each daily stand-up so that team members can see work flowing across the board.
Some ScrumMasters elect to conduct daily stand-ups without displaying the board. Although each team has a distinct way of operating, I strongly recommend using the Scrum and/or Kanban board as a highly visible information radiator. For example, some teams may use a physical board that is openly posted in the team workspace. Others may have a virtual board displayed on a large monitor for all to view. Below is an example of a Kanban and Scrum board that creates visual information radiators. A well-displayed information radiator instantly creates transparency, increases teammate accountability, and provides a snapshot of the sprint's progress.
The work flow below is Backlog, Development, Testing, Deployment, and Done. On the Kanban board, you will notice numbers below the Development
, and Deployment
column headers. These numbers refer to the team's agreed-upon WIP limit for each column, which will be discussed in the next section.
Takeaway: Use your hybrid Scrum/Kanban board as a well-displayed information radiator to visualize the work flow.
Source: Pawel Brodzinski
Limit work in progress
Ever wanted to pull all the work that is "almost done" across the finish line? Maybe uncovering a bottleneck might help. How about a way to improve the overall quality and throughput? Establishing WIP limits can have an immediate impact on these points.
For many, establishing WIP limits may be treading in new, unknown waters. Before implementing WIP limits, it is important to create a culture of "Stop starting and start finishing." Often Scrum teams look to the backlog for something new, exciting, and fresh to start. As a result, a massive list of stories stacked up in the In Progress
column and bottlenecks are created.
When integrating Kanban with Scrum, the team should read the board from right to left (as opposed to the traditional left-to-right approach), and the mentality then becomes, "What can I do to pull this story across the finish line?" This thought process instantly creates a team-swarming culture that will remove impediments, expose bottlenecks, and resume a healthy and sustainable development process.
Task switching is toxic. WIP limits aggressively target the minimization of task switching and provide the team with the enhanced ability to focus on a single task. Your customers will see immediate value. The team will experience an improved sense of accomplishment when stories are moved into the Done
column. When focus increases, throughput metrics vastly improve.
Takeaway: Establish WIP limits in your Scrum process to increase task/story focus, quality, value, and throughput.
Measure and improve flow
How can we keep the work flowing? Where are the bottlenecks? Kanban provides the means to identify, observe, and analyze areas where the flow of value is stalled. Over the course of several iterations, it will become apparent where blockages are forming. Once identified, bring the team together to provide recommendations, generate insight, and ultimately define a solution to unblock the clogged flow of value. This type of collective problem solving will create team ownership of the process. Key metrics used are lead time, cycle time, and throughput. Additionally, a cumulative flow diagram can be used to analyze your metrics.
Takeaway: Integrate Kanban with Scrum to identify bottlenecks and increase the flow of value.
Source: Andreas Wintersteiger
Make policies explicit
What exactly are we doing? Setting expectations and ensuring that all team members are aligned is imperative. Having a shared vision and clear policies and procedures is invaluable to a Scrum team that wishes to implement Kanban or any other component of Agile. Working agreements are an excellent way to begin the "shared vision" conversation. Without an explicit explanation of policies, procedures, and expectations, the team is not set up for success.
Takeaway: Team alignment and communication of processes and policies are foundational aspects for integrating Kanban.
Kaizen (a component of Lean) is a Japanese business philosophy of continuous improvement of working practices, personal efficiency, etc. Kaizen uses models and the scientific method to continuously improve and create high-performing Agile teams. The objective is to identify problems, create solutions, and make positive changes. The retrospective is an ideal time for the team to reflect on how and where positive changes should be implemented. Challenge your team to come up with three to five ideas for improvement each month.
Takeaway: Create a culture that allows for positive change, collaboration, and innovation.
The lightweight nature of Kanban allows for easy integration with the Scrum method. It is a fundamental shift in product development that can increase the flow of value to the end customer. Working in tandem and properly implemented, this hybrid Agile approach can produce immediate benefits for Scrum teams and customers.
Note: Be patient. Instilling Kanban and Agile practices and techniques takes time and repetition. Once the team figures out how to effectively leverage the framework, they'll be set up for future success in product development projects.
Anderson, David. Kanban: Successful Evolutionary Change for Your Technology Business
. Sequim, WA: Blue Hole Press. 2010.