An option for every team
There are many different ways that features can be scored during roadmap prioritization. One team might use the RICE model, while another could use a weighted impact formula. Further, there are different ways of quantifying effort. Some teams prefer Fibonacci, and others a simple 1-10 model.
Canny's prioritization feature is flexible in supporting any model you want to use. In order to support every model, the formula is a tad complicated. But at the end of the day, it boils down to the Impact / Effort formula you'd expect.
If you're really technical, here's the complete formula we use:
We combine all impact factors (normalized to 0-100), then divide by effort (normalized to 1-100). Then, we multiply by 1000 purely for the sake of readability. It's just nicer to compare numbers like 25 and 73 than 0.025 and 0.073.
This means the score will be normalized to integers between 0 and 100k. However, the vast majority of scores will end up between 0 and 1000, which makes for easy reading and comparison.
If you're using RICE, for example, the formula will end up looking like this:
If you're using a weighted impact model, the formula will end up looking like this:
Impact Factor Types
Canny offers a variety of impact factor types to give you flexibility in how you want to quantify impact:
0-10. Integers from 0 to 10. Normalized to 0-100 by being squared.
0-100. Numbers between 0.0 and 100.0. No normalization needed.
Fibonacci. Integers from 0 to 233. Normalized to 0-100 by being divided by 233.
Stars. Stars between 0 and 5. Normalized to 0-100 by being doubled and then squared.
Checkbox. Either checked or not checked. Normalized to either 0 or 100.
Percentage. Integers between 0 and 100. No normalization needed.
Votes. A special impact type, based on the number of votes on the post in Canny. Normalized to 0-100 by dividing by the roadmap's highest post score.
Effort Types
Canny also offers several effort types to provide flexibility around quantifying effort:
1-10. Integers from 1 to 10. Normalized to 1-100 by being squared.
1-100. Numbers between 0.1 and 100.0. No normalization needed.
Fibonacci. Integers from 1 to 233. Normalized to 1-100 by being divided by 2.33.
Stars. Stars between 1 and 5. Normalized to 1-100 by being doubled and then squared.