That's it, you have your idea, your teams (internal or external) for the design and development are ready and you are finally going to start working on it. But then your experts tell you "stop, you have to prioritize the backlog". But, what for? After all, you have a vision of a final product, so everything must be done? We explain below the importance of prioritizing the features of a product and we present some methods to prioritize effectively.
Why prioritizing your tasks is important
#1 Your project environment is changing
A development project is a long work over several months, even years. In a "perfect" world, with no surprises, prioritizing tasks may seem unnecessary. In today's fast-paced world, your technical and business teams and even the market will evolve throughout the design and development of the product.
#2 Not all features are equally valuable
The ultimate goal of your product is to solve a problem and/or bring value to your users. However, not all problems and not all features are equal. For example, allowing a user to save one hour of work per day is more interesting than saving 10 minutes. Then, is it more relevant to save them 10 minutes or to add a new feature that will improve the way they work?
#3 Continuous evolution thanks to the agile method
With agile, you will provide your users with incremental versions of your product. As they use the product, and thanks to their feedback, your choices and ideas will certainly evolve. So you will have to prioritize again and certainly readjust your initial plan.
#4 For the well-being of your teams
Creating a new product can seem like an insurmountable task, because everything seems urgent and a priority. In order to avoid the feeling of being underwater, a good prioritization is important. Your internal and external teams will perform better, as they can focus on the important features.
How to prioritize tasks effectively
There are many ways to do this, which will depend on the type of product and your vision. But the first step is always the same: break down your product into a list of features.
#1 P0, P1, P2 & P3 or MoSCoW (Must, Should, Could, Wish)
These two similar methods will allow you to define a series of priorities.
Take the features one by one and ask yourself these questions to sort them out:
- P0 / Must: is this feature mandatory to launch your product?
- P1 / Should : does this feature bring a good value to your users, but your product can work without it ?
- P2 / Could : is it a comfort feature, a little extra ?
- P3 / Wish: everything else & vague and distant ideas.
Once you've made this list, start by doing the P0s, then the P1s, etc.
#2 Matrix or ratio: "business value VS effort
If you want a more precise method, based on detailed values, we advise you to follow the following steps. Knowing that steps 1 & 2 can be followed in parallel.
Step 1: Define the business value
The value of a feature is a scale that you define, with a Min and a Max value. It can represent a percentage of additional sales, or an improvement in the perception of your product.
One of the few rules to keep in mind is that each feature has a different value. That's why we recommend a scale from 0 to 1000. Your first features will probably have values like: 500, 700, 650.
The mandatory features of course will have to be at the top of the scale, for example being able to create a user account and log in are often at 1000 and 999.
Don't hesitate to split the functionalities, for example, being able to invoice a customer is of course mandatory, so probably 990. But a system that generates invoices automatically may not be critical at the beginning of the project, it is probably a feature at 300.
Step 2: Define the complexity value
Just like business value, complexity can be measured according to different criteria: the number of development days, the financial investment required or simply an agile complexity which is a mix of:
- the effort required to accomplish the task,
- the complexity of the task,
- the identified risks,
- dependencies outside the team.
Example of prioritization for an e-commerce project
|C||Search for a product||500||8|
|D||Automatic inventory management||550||5|
|E||Be able to buy a product||700||8|
|F||Create an account||800||5|
|G||Have a 3D rendering of the product||100||8|
Step 3: Create your matrix, order your list
Once you have these two values for each feature, you can draw your matrix or make a ratio. If you prefer a more graphic view, the matrix is for you:
Otherwise take the business value and divide it by the complexity and you will have a value that gives you the importance of this feature.
Example for an e-commerce project
|C||Search for a product||500||8||63|
|D||Automatic inventory management||550||5||110|
|E||Be able to buy a product||700||8||88|
|F||Create an account||800||5||160|
|G||Have a 3D rendering of the product||100||8||13|
Please note that, as mentioned in these two cases, this is an indicative value.
The order and choice of features must be a joint decision, these two methods give you an idea of which features to prioritize or not.
Start again and again!
Like any product, it will evolve with time, you will discover new features to add to your backlog and you will want to do a prioritization phase again. In this case, start from scratch, both for choosing the prioritization methodology and for the different categorizations.