The Backlog Prioritisation Dilemma

The Backlog Prioritisation Dilemma
Illustration by Hatim El Kaddaoui/Motion Graphics Designer

I worked as Product Owner across different industries (Banking, Finance, Real Estate etc) and in different countries. When it comes to prioritising features, I’ve noticed the same exact pattern over the years.


Our Prioritisation Process is Biased

Most product teams have a sketchy prioritisation process that goes like this:

We Put Together a List Of Features

First, we put together a list of features based on different stakeholders’ needs/wants:

Team

Wants to

Why?

Product Owner/Manager

prioritise Feature 1,2 and 3

based on some strong experience and knowledge of the Product (rarely backed by Product Data metrics)

UX designer

prioritise Feature 4,5 and 6

to improve user experience and to adhere to brand guidelines (rarely backed by Product Data metrics)

Customer support

prioritise Feature 7,8 and 9

to speed up their day to day tasks OR because of some recurrent bug escalated by customers

Sales

prioritise Feature 10, 11 and 12 

to satisfy Customer Lambda and sign a contract ASAP (regardless of how scalable the feature is)

Engineering

prioritise Feature 13, 14 and 15

to speed up deployment, resolve maintainability issues OR to improve code quality

CEO

generate X revenues next quarter

to reassure investors and/or shareholders

We Prioritise Based On Biased Scores

The 15 features or so in the example above are all valid requests with valid reasons and need to be prioritised accordingly. We’ve only considered three features per team, but in reality each team has dozens of features to prioritise. As a result, Product Owners can easily find themselves with hundreds of items to prioritise and different stakeholders to satisfy.

To which extent are these features important? Which of these are game changers and which aren’t? To answer these questions, Product teams came up with a combination of two things:

  • We arrange sessions with different teams to agree on a priority list. We need to walk them through different topics when each team member is only interested in his/her features.
  • Very quickly we realised we needed some sort of well grounded arguments. So we devised an elaborated scoring framework to assign a score to each feature and prioritise based on metrics: Potential generated revenues, Savings, improved user experience and effort.

Again, there are all valid metrics. However, do we know how much revenue a reset password feature would generate? Or, how much we are saving or by how much we are improving the user experience? We don’t, because those metrics are almost impossible to quantify and take time to set. And if set, are all the teams familiar with these metrics?

So we end up with a very long list of features (or wishes) with biased scores that sometimes we cheat to meet our preferences. And what was intended to be a rational approach aimed at innovating and tackling real product issues, quickly becomes a rule of thumb approach.

What Can We Do About It?

You have a functioning product with existing customers you want to retain and potential new customers to whom you need to sell.

Existing customers want a performant and reliable product fulfilling its core tasks and constantly improving to reflect their changing needs. On the other hand, new customers may want the existing product to adapt to their use cases and processes.

We need to define quantifiable prioritisation metrics and track them over time. To that end, I devised an easy to quantify and track prioritisation framework called MIKS:

💡
MIKS stands for:
- Maintain your platform
- Improve your performances
- Keep your product metrics in check
- Shorten your product life cycle

1. Maintain Your Platform

How?
Deployments must happen swiftly with automated testing running and without down time between deployments or compatibility issues. If not, our Product will fail to do anything it’s intended to achieve, engineering will lose time maintaining the platform and Customer will not be satisfied.

Metrics to collect and monitor:
A maintenance issue will be qualified as such and appear in the priority list if and only if it impacts the following metrics with defined thresholds:

  • Successfuldeploymentsratio = Nb of successful deployments in a given month Total Nb of deployments in the same given month
  • Servicedowntimeratio = Target avg deployment downtime avg downtime in a given month
  • Maintenance Ratios Target = 95% (for example)

Maintenance issues are encountered at early stages of our Product development BUT also as we develop new features and use new technologies. So it’s important that we always keep them in check and make sure our defined thresholds are met.

💡
It’s important that any maintenance feature supersedes the rest, no matter the effort or the time this would require

2. Improve Your Performances

How?
Performance relates to speed of execution, availability of service and robustness. All products have some performance thresholds they need to abide by. Optimal performance must be defined by and with customers and not by Engineering. Anything above Customer expectation is a nice to have. If for example most customers are using a daily report, why bother having a report loading every 10 seconds?

Metrics to collect and monitor (example):

In order to be able to monitor performance, we need to define some key metrics to monitor as well as their thresholds based on customers' needs.

  • Speed of execution. Target = 5min max per job
  • Availability of service. Target = 99.99%
  • Throughput (robustness). Target = 10GB ingested per upload
  • and so on

When those thresholds are not met, a new item needs to be added to the backlog.

💡
Performance issues come after maintenance, meaning that it supersedes any other feature coming next regardless of effort or time

3. Keep Your Product Metrics In Check

How?
Most of the time our products fulfil many tasks and have multiple components. The idea behind Key Product Metrics is to define and track metrics that, alone, encapsulate all the rest of the metrics and indicate how the product is performing its core tasks over time. All our metrics need to filter through to a few measures (usually ratios) that you can track daily and easily visualise and share.

Also, as the product is evolving, these metrics and their thresholds need to be updated to reflect the product change.

Metrics to collect and monitor (example):

  • Visits VS Accounts created Ratio
  • Processed files VS Uploaded files Ratio
💡
Any feature expected to improve our Key Product Metrics will come after the performance issues

4. Shorten the Product Life Cycle

Our IT products are becoming more and more complex. Multiple actors and doers work in harmony to complete a task. This is illustrated in the following diagram:


Customers complete a series of tasks, followed by back-end processing or automation, then customer support takes over and performs some other manual tasks before handing over back to the customer etc.

We retrieve this behaviour in most IT products today and this is what I call the Product Life Cycle: the series of tasks required to achieve a product use case.

For our product to scale, we want to reduce friction in the Product lifecycle, simplify the steps and add automation. This in return, will allow our teams and customers to perform more tasks, in other words to become more productive.

How?
We need to measure the complexity of completing a key product use case from end to end. This can be defined as a combination of time to completion metric AND number of human interventions (i.e by Customers OR Customer Support team).

Metrics to collect and monitor (example)

  • Number of manual interventions of customer and customer support
  • Time to completion from end to end
💡
Any product lifecycle improvement feature will come after the Key Product Metrics related feature

Limit The Number Of Features Prioritised In One Go
Some companies maintain a priority list of hundreds of items. This creates confusion for all stakeholders and is just impossible to prioritise with relevant metrics.

We all know we will never get to item 50 of the backlog this year, and by the end of the year the requirement may well change. So the Epic is sitting in the backlog consuming time to those who write it, those who prioritise it and to those who deal with its confusing appearance.

Instead, we should aim to keep the priority list as short as possible, taking into account only items that are effectively going to be worked on in the next quarter or so. My rule of thumb is 15 EPICs at maximum. Anything beyond that point is irrelevant to talk about, prioritise or even share with customers.

To summarise, your Jira list will look as simple as this:

The Benefits Of The MIKS Approach Are Multiple

  • Remove the burden of dealing with unquantifiable prioritisation metrics
  • Easy to track and showcase metrics that allow for easy prioritisation. In fact, once in place, it’s a matter of looking at the dashboard
  • Literally metrics based and very transparent to everyone
  • All stakeholders concerns and goals are taken into account and reflected in measures

As a result, our defined measures will ensure the product is scaling, is performant to the customers’ standards and fulfilling its intended core tasks.