A Quick Guide to Dynamic Prioritization
How do you know which work item to start next? If you’re a Scrum practitioner you would probably sit down twice a month and arrange the top x number of items so your team knows what to work on. Usually, that involves plenty of manual steps that don’t necessarily follow any established approach and aims to bring transparency and consistency to the decision-making process in your organization.
There are a few reasons why that’s not effective.
First, the prioritization process shouldn’t be based on intuition, it needs to be actionable. You should always strive to only initiate the work that brings the most value to your customers right now and thereby realize a return on investment for your business as soon as possible.
Furthermore, you’d have to spend plenty of time analyzing and estimating your backlog items (+ the time your team would use to give their perspective on the matter) to be able to determine the most feasible ordering scenario, often based on effort. Trying to predict the effort a certain item would take is not a reliable approach – not only because it’s directly related to your team performance and not to your workflow performance, but also because it would be based on guesswork or a ‘gut feeling’.
Last but not least, your team will always depend on your availability and they will be used to waiting for directions to decide what to work on next. And we all know that enabling self-managed, engaged and motivated teams is the foundation of any successful business.
Every work item should come with a clear goal. Everyone should understand the value it brings and how quickly it will realize a market opportunity. If a task doesn’t have a goal, this means that there is no point in starting it in the first place. You’re wasting capacity on work that is not yet due and running out of capacity, forcing you to halt work that is due.
All these obstacles can be eliminated easily if you shift your focus to developing a dynamic prioritization system that will enable you to make decisions based on what brings the most value to your business and your customers.
Finding the right approach to prioritization is a challenging effort even for the most experienced managers. We can easily get confused with all the dependencies that constrain our decisions. Still, there is a straightforward method that will make your priorities clear and unambiguous.
There are four types of prioritization – Sequencing, Scheduling, Selection and Classification using Classes of Service. Let’s go through each of them.
Sequencing is a prioritization mechanism that defines the order of the items available on your backlog. When a customer request, a business opportunity, or simply a good idea arrives, it is added to the backlog of all items waiting to be handled. The question is how should you order your work items?
Some of them will be urgent, others can wait for later and there will be items that won’t be handled at all. The approach of identifying the sequence of your tasks is called a triage discipline.
To identify which item is more important than the others and sequence them accordingly, you need to develop a mechanism to specify the order of all items in the pool based on the value they bring. The best approach to take is developing a risk management system that is based on the cost of delay, market opportunities, technical dept, or a combination of all of these. In module 3 in our Sustainable Predictability digital course, we explore the strategies of how to develop a dynamic prioritization framework to sequence your work items by the benefit they bring to your business, all at the moment you add them to your backlog.
This method not only promotes transparency in your decision-making process, but it also saves the time needed to estimate and manually order to-do lists. Keeping your backlog up to date boils down to two main objectives. First, making sure your items have been properly categorized once created and second, maintaining your risk management system regularly, ideally during your Replenishment meetings.
The process of scheduling essentially involves deciding when you need to start working on something in order to deliver it on time. When you work towards a deadline – either due to an event approaching, trying to realize a market opportunity with a fixed date or because your customers are asking about due dates assigned to their tickets – you need to make sure you start your work on time in order to finish it on time.
A word of caution before we move on. If your customers are asking for deadlines, it probably means that they are not satisfied with the level of predictability you currently provide. Establishing a stable delivery system will enable faster delivery times and customers who trust your ability to provide results in a consistent manner.
The best chance for delivering on time comes when you make sure you start on time. When you start working on your tasks too early, you are taking from the time that could be otherwise spent realizing other business opportunities.
When you start too late, though, you risk delaying your work and breaking your commitments. The longer you wait, the higher the chance of a delay. So when is the best time to start?
Now that you know your expected delivery times and the probabilities that come with each of them, the ideal time range to start your work is any time between the 99th percentile and 85th percentile.
99% > start date > 85% before the delivery date
Let’s say you need to deliver on 30th Sep, and your forecast says there is a 99% chance that you will finish any task within 23 days and an 85% chance of finishing it within 11 days. This means that the ideal time to start your work is between 23 and 11 days before the delivery date, or any time in the range of 7th Sep – 19th Sep.
By initiating your work within the “Normal” start date range, you’ll have at least an 85% chance of delivering it on time. Striving to maintain a stable system will reduce the variability in your delivery times and improve your predictability. Predictability is a sustainable competitive advantage.
The selection process involves picking one work item over another. The selection decision should be straightforward if you are using a dynamic prioritization system. Your backlog will automatically sequence all the available items at the moment they have been added.
Selecting the most important and the most urgent tasks will then be a matter of looking into the categorization of the items and the explicit policies that determine how they should be treated.
As long as your items have been categorized properly and you regularly maintain both your prioritization framework and the policies that come with it, the selection decision will be explicit.
Classes of Service
Classes of Service (CoS) have two main purposes: to classify different work items according to their priority and to clearly define how the items in each CoS should be treated by using explicit policies. By having explicit policies in place for each class of service, you effectively enable self-organized teams.
The first step towards implementing Classes of Service is to decide what your classes should be. We recommend starting simple at first and sticking to Standard, Fixed Delivery Date, Expedite and Intangible. You may find later on that you need to add another CoS or two – try different combinations to find what works best for your workflow. Don’t go for more than 5 or 6 Classes of Service in order to make sure the policies are easy to maintain and follow up.
Next, define the policies for how each CoS should be treated. Tasks exist in the same workflow and go through the same steps. However, their Class of Service can affect how quickly they pass through the system.
The policies related to each class of service look like this:
Expedite Class of Service
Critical systems going down and unexpected serious glitches will naturally be treated as a high priority. This class of service is for top priority items that need to be handled immediately. Expedite items are allowed to break your WIP limits and there must be only one expedite in the system at a time. The expedited work item should go out of the workflow as soon as possible.
Fixed Delivery Date Class of Service
These are key handovers, release dates and tasks with a fixed end date that is not likely to change and where the cost of delay is significant. Items with Fixed Delivery Date class of service have a higher priority than Standard tasks. They are handled on a “First-come-first-served” basis.
Standard Class of Service
Regular workflow tasks, features, improvements, the bulk of your work items should be in this CoS. Standard class of service work items have a higher priority than items with Intangible class of service. Again, they should be processed using the “First-come-first-served” approach by pulling the one that arrived first.
Intangible Class of Service
This class of service is used to collect necessary but non-urgent maintenance tasks. They are normally handled if the team has the capacity to do so. Keep in mind though that an Intangible item can become an Expedite if it is neglected for a long enough time.
We highly recommend checking out the Menta Triage mobile app to determine the class of service of your items based on a scheduled start date and understanding of the cost of delay of the item, so you can make a trustworthy decision.
The application is completely free. It is available in the App Store and Google Play and it makes the process of determining the class of service much faster and easier.
Using Classes of Service is an extremely powerful mechanism when it comes to meeting your commitments. However, keep in mind that this approach generates flow debt by borrowing time that has otherwise been reserved for other work items in progress so make sure that the short benefits are worth it in the long run.
It’s time to convert output to outcome! Stop spending your time estimating and reordering backlog items. Adopting dynamic prioritization approaches will enable you to make transparent and reliable decisions that are synchronized across the entire organization. Most importantly, you and your team will be able to spend your time on what matters the most – delivering customer value.
Meet the Author
Sonya Siderova is a passionate product manager and a driving force behind Nave, a Kanban analytics suite that helps teams improve their delivery speed through data-driven decision making. When she's not catering to her two little ones, you might find Sonya absorbed in a good heavyweight boxing match or behind a screen crafting a new blog post.