MoSCoW, RICE, Kano, the impact effort matrix and votes from paying users, each applied to the same twelve feature requests. Where they agree, where they disagree, and which one to use when.
By Martin Lasek · Oct 5, 2026 · 7 min read
Feature prioritization is deciding which feature requests to build first when there are more good ideas than time. There are dozens of frameworks for it, and most guides describe each one with its own made-up example, so you never see two of them disagree. This guide does the opposite: five frameworks, one list.
The list is twelve requests for Plant Diary, a made-up plant care app, the same one used in the guides to each framework. Each section below says what the framework asks, what it decided for that list, and links to the full guide.
Use MoSCoW when a release has a fixed date and too much to fit, RICE when you need a strict order, the Kano model when you can't tell a basic from a nice extra, an impact effort matrix for a quick first sort, and votes from paying users when revenue decides. Most teams end up combining two of them.
Eleven requests from Plant Diary's feedback board, each with its votes from the last quarter, plus one bug from support. Every item has a rough estimate in days of work.
| Request | Votes | Days |
|---|---|---|
| Fix double reminders | 12 reports | 2 |
| Watering intervals | 64 | 6 |
| Home screen widget | 51 | 5 |
| Sync across devices | 47 | 14 |
| Fertilizer reminders | 41 | 2 |
| Dark mode | 38 | 3 |
| Plant ID by photo | 33 | 20 |
| Apple Watch app | 22 | 15 |
| Plant photo diary | 19 | 5 |
| Share with a partner | 18 | 12 |
| CSV export | 9 | 1 |
| German translation | 7 | 2 |
MoSCoW sorts everything into Must have, Should have, Could have and Won't have this time, and keeps the Musts under 60% of the work. With 40 days for version 2.0, three Musts survived the question "would we cancel the release without it?": the double reminders fix, watering intervals and sync, which had been announced. The widget, fertilizer reminders and dark mode became Shoulds. Plant ID by photo, despite 33 votes, became a Won't, because 20 days would eat half the release.
Good at fitting a release to a date and saying no out loud. Weak at ordering anything inside a bucket. Full walkthrough: MoSCoW prioritization.
RICE multiplies reach, impact and confidence, then divides by effort. With votes as reach, watering intervals scored 256, far ahead of the widget at 81.6, sync at 75.2, plant ID at 49.5 and dark mode at 38. Sync came in below the widget, because the formula knows nothing about the promise that made it a Must.
Good at turning a long list into one ranking. Weak at commitments, dependencies and anything the four numbers can't hold. Full walkthrough with a calculator: RICE prioritization.
The Kano model asks users how they would feel with a feature and without it, and sorts the answers into must-be, one-dimensional, attractive and indifferent. In a survey of 120 voters, reminders that fire once and dark mode came out must-be, watering intervals one-dimensional, the widget and plant ID attractive, and CSV export indifferent.
Good at spotting a missing basic that a score underrates, like dark mode. Weak at cost, which it ignores. Full walkthrough with an evaluator: Kano model.
Two rough scores, impact and effort, put every request into one of four boxes. With votes as impact and lines at 30 votes and five days, the quick wins were the widget, fertilizer reminders and dark mode, ten days of work in total. Watering intervals, sync and plant ID were big bets, and the Apple Watch app was the only money pit.
Good for a first pass in an hour. Weak wherever effort is underestimated, which is most places. Full walkthrough with a template: impact effort matrix.
Raw votes count every voice the same. For a business, the people who pay are worth hearing twice, so the fifth method counts what the voters for each request pay. Plant Diary Pro costs $2.99 a month. Adding up the subscriptions of everyone who voted gives each request a revenue figure:
| Request | Votes | Paying voters | Their revenue per month |
|---|---|---|---|
| Sync across devices | 47 | 31 | $92.69 |
| Watering intervals | 64 | 20 | $59.80 |
| Share with a partner | 18 | 15 | $44.85 |
| Fertilizer reminders | 41 | 12 | $35.88 |
| Home screen widget | 51 | 9 | $26.91 |
| Plant ID by photo | 33 | 8 | $23.92 |
| CSV export | 9 | 7 | $20.93 |
| Dark mode | 38 | 6 | $17.94 |
| Apple Watch app | 22 | 5 | $14.95 |
| Plant photo diary | 19 | 4 | $11.96 |
| German translation | 7 | 1 | $2.99 |
The order changes a lot. Sync jumps to first place, because two out of three people who asked for it pay, mostly people with an iPhone and an iPad. Sharing with a partner climbs from ninth by votes to third: households pay for one subscription and want to use it together. Dark mode falls from fifth to eighth, since most of its voters are on the free plan.
Watch the caveats. Free users today are paying users next year, so revenue alone starves growth. One large customer can outweigh a hundred small ones. And a new paid feature can't show demand from customers you don't have yet. Use revenue as a tiebreaker or as a second column next to votes, not as the only number.
Here are the five requests that appear in almost every guide, side by side. The paid votes column shows each request's revenue figure and its rank among the eleven requests.
| Request | MoSCoW | RICE | Kano | Impact effort | Paid votes |
|---|---|---|---|---|---|
| Watering intervals | Must | 256 (1st) | One-dimensional | Big bet | $59.80 (2nd) |
| Home screen widget | Should | 81.6 (2nd) | Attractive | Quick win | $26.91 (5th) |
| Sync across devices | Must | 75.2 (3rd) | Not surveyed | Big bet | $92.69 (1st) |
| Dark mode | Should | 38 (5th) | Must-be | Quick win | $17.94 (8th) |
| Plant ID by photo | Won't | 49.5 (4th) | Attractive | Big bet | $23.92 (6th) |
The picker at the top of this guide, in words:
The frameworks answer different questions, so pairs work well:
Every framework above starts from the same input: a list of requests with an honest measure of demand. Votes give you that measure without a meeting, because users post ideas and vote on each other's, and the count is there when you sit down to prioritize. A feature request template makes sure each request also arrives with the problem behind it and a way to reply.
WishKit collects those votes on a feedback board for websites and SaaS products, and inside iOS apps with a native SDK. If your iOS app tells WishKit what each user pays, with WishKit.updateUser(payment:), the list of upvoters on every request shows each voter's monthly revenue next to their name.
Deciding which feature requests to build first when there are more good ideas than time. Frameworks like MoSCoW, RICE, the Kano model and the impact effort matrix turn that decision into a repeatable process.
None fits every list. MoSCoW suits a fixed release date, RICE a strict ranking, Kano a question about what users expect, an impact effort matrix a quick first sort, and votes from paying users a business where revenue decides.
Collect them in one place with votes, estimate the effort of each in days, and apply one framework that fits your situation. Then check the result against commitments, dependencies and what paying customers ask for.
MoSCoW sorts requests into four buckets for a release with a fixed date. RICE gives every request a score from reach, impact, confidence and effort and ranks them. Many teams use MoSCoW for what must ship and RICE to order the rest.
Add up what the people who voted for each request pay per month, and compare that figure with the raw vote count. Use it as a second column or a tiebreaker, since revenue alone ignores free users who might pay later.
Yes, and most teams do. Common pairs are MoSCoW with RICE, an impact effort matrix with a Kano survey for the close calls, and vote counts with revenue side by side.
Setup takes less than a minute. Free plan included, no credit card required.
Try WishKit for free