← Blog

What a prioritisation framework is, and why five of them disagree

The short version

  • A framework collapses several dimensions into one so a list can be sorted.
  • Five frameworks over the same twenty requests, and eleven of them move ten places or more.
  • Which framework is right is the wrong question.
  • One input changes everything: whether a vote is a person or an amount of money.

A prioritisation framework is a rule for turning several numbers about a request into one number you can sort by. That's all it is, and saying it plainly makes the next part obvious. The framework doesn't decide anything. The choice of which numbers to feed it does.

Five frameworks were run over the same twenty requests to see how much that choice matters. The top item is different in three of the five, and one request moves nineteen places between two of them.

What does a prioritisation framework actually do?

It collapses several dimensions into one, so that a list can be sorted.

Every framework on this page takes some subset of four things, being how many people want it, what those people are worth, how much work it is, and how confident you are. Then it combines them with an arithmetic rule. The rule is the framework. The inputs are the decision.

There's a queue carrying those inputs if you want to see where they come from, and the demo is open without an account.

Doing this in a tool rather than a spreadsheet? Twenty one feature request tools and the eight units they bill on. The unit decides the bill, not the headline price.

The five, run over the same twenty requests

The dataset is twenty invented requests, each with a vote count, the monthly revenue of the accounts behind it, a reach, an impact, a confidence and an effort in person months. Every figure below is produced by a script in this repository and running it reproduces them.

Framework The rule Its top pick
Raw votes Sort by the number of people who asked Dark mode
RICE reach × impact × confidence ÷ effort Tag colours
Revenue behind the request Sort by the monthly revenue of the accounts that asked Single sign on
Revenue per person month Revenue ÷ effort API rate limit increase
Weighted scoring 40% revenue share, 30% vote share, 30% inverse effort Dark mode

Three different answers to "what should we build first" from the same twenty requests. Nobody changed the data between runs.

The insights rail beside the voter list, counting total, new and active voters, how many carry revenue, where they arrived from, and the requests with the most revenue behind them
The rail counting voters, revenue, and which requests carry money.

Where they disagree most

Eleven of the twenty requests move ten or more places between the best and worst framework for them. Two examples carry the whole argument.

Request Votes rank RICE rank Revenue rank Revenue per effort Weighted
Dark mode 1 7 19 20 1
Single sign on 13 20 1 10 20

Dark mode is first by votes and twentieth by revenue per unit of effort. It carries 15% of all the votes on the list and 0.5% of the revenue.

Single sign on is first by revenue and twentieth by RICE. It has the most money behind it of anything on the list and it costs three person months, which is six times the median.

Those two rows are the same disagreement seen from both ends. One framework counts people and the other counts money, and on this list those two populations barely overlap.

So which framework is right?

Wrong question. The right one is which input you're willing to be wrong about.

If you believe Use
Every user counts the same Raw votes
Revenue is the thing you are optimising Revenue behind the request
You are capacity constrained above all Revenue per person month, or RICE
You want a defensible blend nobody can game Weighted scoring, with the weights published

The blend isn't more correct than the others. It's more defensible, because the weights are written down and can be argued with, which is a different and sometimes more useful property.

What every framework is bad at

Inputs it can't see. A contractual obligation, a dependency, a thing that has to exist before three other things. None of the five knows about any of that.

Confidence. RICE has a confidence term and the other four have none, which means four of the five treat a guess and a measurement identically.

Being the answer. The output is a starting position. Its value is that nobody has to defend it socially, so the conversation becomes what to move and why, which is shorter and leaves a record.

The one input that changes everything

Whether a vote is a person or an amount of money.

Every disagreement in the table above traces back to that single choice. A list of requests where each vote counts one produces a different product from a list where each vote carries the revenue of the account behind it, and no arithmetic downstream can recover the difference.

How do you do this without a tool?

A spreadsheet with a column per input and a column per framework, so you can see all five orderings side by side. It takes an hour to set up once.

The input that's hard to fill in is the revenue behind each request, because it means knowing who asked and what they pay. Without it, four of the five frameworks above are unavailable and you're left sorting by votes.

How does this product do it?

A request carries the people who voted for it. Those people carry whatever you know about them, including the revenue on the account, so both populations are available, and the plain vote count and the weighted one sit beside each other, not one replacing the other.

Each card carries an effort estimate and a demand score, and the board can be ordered by the priority the two produce, which is the fourth framework above without the spreadsheet.

The revenue weighted voting page covers the weighting, and a RICE prioritisation example works one of the five through in full.

MoSCoW is the one of the five that needs no numbers at all.

14 days, a card at signup, then $9 or $39 a month.

The same board ordered by priority, which is demand divided by effort, so a smaller request with less demand sits above a large one with more
The same board, ordered by demand divided by effort.

Related reading

Feature request software, and the eight ways it gets billed The prioritisation matrix, and the two axes worth using A RICE prioritisation example, with every input shown