scope
Cut scope to ship something meaningful within constraints. Favor a complete small thing over an incomplete big thing.
Step 1: List All Requirements
Collect every feature, requirement, and "wouldn't it be nice if" into a flat list. If the user provided a PRD or feature set, extract items from it. If not, ask.
Each item should be a concrete, shippable unit — not a theme. Break down anything vague ("improve onboarding") into specific deliverables ("add welcome wizard", "send day-1 email", "add progress indicator").
Step 2: Apply the Core Job Test
For each item, ask: "If we shipped without this, would the core job still get done?"
- Yes → Nice-to-have. Move it down.
- No → Must-have candidate. Keep it.
Be honest. "Get done" means the user can complete the primary task, even if it's manual, ugly, or slow. A to-do app without drag-and-drop reordering still lets people track tasks. A to-do app without the ability to add tasks does not.