Skip to content
Choose what to build

Prioritization template

By Cat Williams-Treloar, Founder·Updated Oct 21, 2026·6 min read

The short answer

A prioritization template is a ranking sheet with one row per item and one rule for the order. A score is optional and comes last. For each row, record the bet, whether it is broken, the evidence in exact words, why now, effort as of today, confidence and a decision with a date. Sort by bet, then broken, then customers asked, then ideas. Use the score only for ties.

A prioritization template is a ranking sheet with one row per item and one rule for the order. A score is an optional column that comes last. This is the sheet; for the reasoning, see product prioritization for small teams. Use the one below to rank what to build next, keep the reason beside each row and settle ties without a meeting.

TL;DR

  • One row per item. Never a score without the evidence next to it.
  • Sort in this order: your bets, then what is broken, then what customers asked for, then ideas.
  • Use the tie-break score only to separate rows that are otherwise equal.
  • Write the decision and the date on every row, so nobody re-argues it next month.

When to use it: you have more than a handful of things to build and you keep re-ranking from memory. When not: you have three items. Pick one and start.

A prioritization template

It is a table you can paste into a sheet or a doc. Each row is one item. Fill in the columns left to right, then sort.

Prioritization sheet
# Prioritization sheet

Inputs: a list of candidate items, your 2 or 3 bets, the evidence you have for each.
Outputs: one ordered list, each row with a decision and a date.

Sort order: bet (your order) > broken first > customers asked > ideas. Tie-break score only for equal rows.

| Item | Bet | Broken? (yes/no, set by a person) | Evidence (exact words, account, revenue per month, date) | Why now | Effort as of [date] (S/M/L) | Confidence (H/M/L) | Tie-break score (ties only) | Decision (now/next/later/no) | Decided by and date |
|---|---|---|---|---|---|---|---|---|---|
| [what becomes true, in a customer's words] | [bet] | [yes/no] | ["exact words" - name, account, $/mo, date] | [deadline, renewal, blocker, or none] | [S/M/L] | [H/M/L] | [score, or n/a] | [decision] | [who, date] |

Rules:
- A person marks broken. A formula never does.
- No evidence means the row sits in ideas.
- Re-guess effort when its date is old.
- Every row ends with a decision and a date, including "no".

How do I fill it in?

Bet. The goal this item serves, in your words. If it serves none, it goes at the bottom or gets cut. Keep to two or three bets. Everything is ordered inside a bet first, so you do not compare a billing fix with a launch.

Broken? Yes or no. Broken means something that used to work, or was promised, does not work. A person marks this, never a formula. Broken items go ahead of requests and ideas inside the same bet.

Evidence. The customer's exact words, the account and what it pays. Paste, do not paraphrase. Three accounts with revenue beside them beat a long argument. If there is none, write "none" and let the row sit in the ideas group.

Why now. One line. A deadline, a renewal, a launch or a blocker. "Because it would be nice" means it can wait.

Effort as of today. Small, medium or large, and the date you guessed. Effort changes: an agent that touched the code last week may have made it smaller. Re-guess when the date is old.

Confidence. High, medium or low that the problem is real and the fix will solve it. Low confidence is a reason to look closer, not to skip.

Tie-break score. Only for rows that are otherwise equal. Any simple score works: reach times impact times confidence, divided by effort, which is the RICE shape. With S/M/L effort, count S as 1, M as 2 and L as 4. Rate reach and impact 1 to 5, and count confidence as 1 for high, 0.8 for medium and 0.5 for low. If you want to pick a formula, see prioritization frameworks. The score never moves a row above a broken item or past a different bet.

Decision and date. Build now, next, later or no. Who decided, and when.

In what order do I sort?

The product prioritization guide explains why this order works. The short version:

  1. By bet, in the order you set.
  2. Inside each bet, broken items first.
  3. Then what customers asked for, with more accounts and more revenue higher.
  4. Then ideas.
  5. Use the tie-break score only when two rows land together.

An example, filled in

This is an example, made up to show the level of detail. Say a four-person team with 40 customers and two bets: "Keep paying customers" and "Win more trials".

ItemBetBroken?EvidenceWhy nowEffortConfidenceTie-breakDecisionDecided by and date
Fix invoice emails that never arriveKeep paying customersYes4 accounts. "I never got my invoice, my accountant is chasing me." (Dana, Northbeam Studio, $49/mo, 2 Oct)Two renewals this monthSmall (21 Oct)Highn/aBuild nowSam, 21 Oct
Export a report as a PDFKeep paying customersNo5 accounts, $310/mo together. "I copy the list into a doc by hand." (Dana)Asked at 3 renewalsMedium (21 Oct)High8.0NextSam, 21 Oct
Add a dark themeKeep paying customersNo2 accounts, $98/moNoneMedium (21 Oct)Medium3.2LaterSam, 21 Oct
Shorten the sign-up formWin more trialsNoIdea from a founder walk-through, no accountsTrial starts are flatSmall (21 Oct)Low2.0Later, test firstSam, 21 Oct

Read it top to bottom. The broken invoice bug is first even though the PDF export has more accounts, because a person marked it broken. The dark theme and the sign-up idea are ranked by evidence, not by who suggested them. The scores 8.0 and 3.2 are shown only so you can see the column filled in. They did not set the order: the PDF export sits above the dark theme because 5 accounts asked and 2 did. Say two rows had the same bet, the same group and the same account count; that is when the score would decide.

To check the 8.0: reach 4, impact 4, confidence high (1), divided by medium effort (2). 4 x 4 x 1 / 2 = 8.0.

What mistakes should I avoid?

  • A score with no evidence. If you cannot say whose words it came from, the number is a guess dressed up.
  • Letting the formula beat your judgment. A person's call on severity always wins. Write the reason on the row.
  • One flat list across bets. You end up comparing things that were never in competition.
  • Stale effort. Effort from last quarter is a rumor. Date it.
  • No decision column. A row that never says "no" or "later" comes back every week.
  • Scoring ideas before there is any evidence. Park them and collect proof first.

How does Annsa do it?

Annsa keeps this sheet as the one ranked list of priorities. Each priority keeps the customer's exact words, the account and its revenue. Inside your bets, in your order, what a person marked broken comes first, then what customers asked for, then ideas. Within those, it uses severity, how many accounts, revenue and urgency. Your severity always wins, and you make the call. Your coding agents read the same list over MCP with annsa.priorities, so they work on what you ranked.

If you are working out what to build next, see what to build next. The ranked list lives on the priorities page.

Questions people ask.

Q1

What should a prioritization template include?

One row per item with the bet it serves, whether it is broken, the evidence in the customer's exact words, why now, effort with a date, confidence, a tie-break score and a decision with a date. Evidence is the column most templates skip, and the one that settles arguments.
Q2

Should I use RICE or ICE in my prioritization template?

Either works as a tie-breaker. Use the score to separate rows that are otherwise equal, not to override a bug or a bet. If you do not have reach data, use a simpler score or none at all.
Q3

How do I rank bugs against feature requests?

Put what a person marked broken ahead of requests inside the same bet. Then order requests by how many accounts asked and what they pay. Ideas come last, until they have evidence.
Q4

How often should I update a prioritization sheet?

Whenever new evidence arrives, and at least weekly. Re-date the effort guess when it is old, and write the decision on every row so it does not come back unchanged.
Q5

Can a coding agent use this template?

Yes. The copy block states its inputs and outputs, so an agent can fill rows from your evidence and return an ordered list. A person still marks what is broken and makes the final call.

Get your agents in a row.

Try Annsa