Faysal Ahmed
Chapter 5

Requirements & Prioritization

Writing Good Requirements

A well-written requirement answers:

  • Who is this for?
  • What problem does it solve?
  • What does success look like?
  • What are the edge cases and constraints?

User Stories

As a [user type], I want to [action] so that [benefit].

User stories are a placeholder for conversation, not a detailed spec. Pair them with acceptance criteria.

Acceptance Criteria

Use the Given / When / Then format:

Given a user is on the checkout page
When they enter an invalid coupon code
Then they see an inline error message
And the total is unchanged

Prioritization Frameworks

RICE

FactorQuestion
ReachHow many users will this impact per time period?
ImpactHow much will this move the needle? (scale: 0.25–3)
ConfidenceHow sure are we about the estimates? (scale: 0–100%)
EffortHow many person-days will this take?

RICE Score = (Reach × Impact × Confidence) / Effort

MoSCoW

CategoryMeaning
Must haveCritical for launch / viability
Should haveImportant but not critical
Could haveNice to have
Won’t haveExplicitly out of scope

Opportunity Scoring

Ask users: How important is X? How satisfied are you with X?

Opportunity = Importance − Satisfaction

Bigger gap = bigger opportunity.

Avoiding Sunk Cost

  • Prioritise based on expected value, not how much work has been done
  • Kill features that don’t show impact — even if you’ve invested heavily
  • Celebrate learning (pivots, kill decisions) as much as shipping

Next: Chapter 6 — Product Development Process