As more Scrum Masters and project management professionals recognize the benefits of using Scrum with Kanban, more of its core concepts, principles, and practices are being embraced and applied. More Scrum teams appreciate how Kanban metrics such as WIP limits, cycle times, and WIP Age help them be attuned with their work and manage issues even before they blow up. But there’s another Kanban concept that Scrum teams can leverage to further improve their flow. We’re talking about Kanban Classes of Service (CoS).
Managing Emergent or Unplanned Work
While the Scrum guide states that during the Sprint, “no changes are made that would endanger the Sprint goal,” it also says that “scope may be clarified and re-negotiated between the Product Owner and Development Team as more is learned.” However, with the majority of the Scrum teams I’ve worked with, the former is what seems to stick. Any attempt to add to or change the Sprint Backlog will be met with some degree of hesitation and disapproval.
However, emergencies and important unplanned work can crop up at any time when we talk about knowledge work. Scrum teams are no exception to this reality. How many times have you experienced a production issue reported during the middle of the Sprint? How about a user story whose deadline is only two days away but work’s not even half-way done? Emergent and unplanned work when not dealt with immediately can come at a high cost. If a Scrum team doesn’t have a structure in place on how to deal with such instances, their flow would be disrupted.
This is where Kanban Classes of Service goes to work. Scrum with Kanban CoS allows teams to junk the think time required to determine what to prioritize and focus on doing the work. According to David Anderson, author of Kanban: Successful Evolutionary Change for Your Technology Business, a class of service (CoS) is a set of policies that describe how an item of work should be treated. When a work item enters the team’s backlog, it is assigned a class of service. Based on the assigned CoS, the team immediately knows what to do and how to handle the item. Check out a more detailed article on CoS to understand this concept better. To get started immediately with CoS, use our Kanban CoS board template.
Typical Kanban Classes of Service for Scrum Teams
The typical classes of service used in Kanban include Expedite, Fixed Delivery Date, Standard, and Intangible. Here’s a brief background on each class of service:
- Expedite – Critical and top priority items that require immediate handling. It preempts other work and requires teams to ensure no interruptions are experienced in the workflow.
- Fixed Delivery Date – Work items that have a significant cost of delay if not delivered on a fixed delivery date. Items that fall under this class are prioritized where necessary to be finished on or before the target deadline.
- Standard – Items that aim to solve business and customer requirements without a fixed timeline or sense of urgency. Standard work items typically flow on a First In First Out (FIFO) basis.
- Intangible – Items that are useful but have little to no cost of delay. Quality improvements and optimization work would normally fall under this classification.
The same classes of service can be used by Scrum teams. But for purposes of handling emergencies and to keep it simple, teams can opt to only have two classes – Expedite and Standard. Anything that doesn’t need immediate handling would fall under the Standard class. Teams can add more classes should they feel the need to do so. Other teams even have more than four classes of service used. It all boils down to what’s working for the team.
Improving predictability and Flow Efficiency
Scrum with Kanban classes of service help teams improve their predictability and flow efficiency. Having a clear policy on how work items should be handled, especially emergency cases, allows teams to lessen the time it takes to resolve them. The time that could have been spent discussing what to do is used in doing actual work. Furthermore, having a way to classify and monitor emergency items can also help teams better understand just how much unplanned work they are dealing with and how that impacts their Sprints.
Scrum teams can also gather Kanban metrics, like average cycle times for emergency items. Teams can then get a better estimate of how much time they need to spend on such items which can be used when discussing with stakeholders around resolution timelines. To further improve predictability and flow, Scrum teams can design their workflow to anticipate emergencies and explore other strategies to mitigate the impacts of unplanned work to their Sprint goals.
Scrum with Kanban
If you’re thinking of doing Scrum with Kanban classes of service, start with defining what classes you’ll use. Next, outline the policies for each of your selected classes. Policies can include prioritization rules, assignments, swarming, and delaying the uptake of more work by the team. Craft these policies with your team so everyone agrees. Then, design your Kanban board to reflect your classes of service. I recommend having a specific swim lane for each class so that it’s easier for the team to know if an item of a specific class enters the workflow, especially when it’s an Expedite class.
While Kanban classes of service is a good approach to improve your Scrum practice, there are more ways to improve Scrum with Kanban. This just goes to show how Kanban complements Scrum and how it can result in better outcomes for Scrum teams. Have you tried using Kanban Classes of Service while doing Scrum? Share your experience with us in the comments.