[project name], and get a requirements document that names the problem, the user, the journey, the smallest feature set, one success number, the constraints, and the decisions still open — then pressure-tests every feature against priority, effort, and the journey it serves.
The cheapest place to cut scope is a document, not a codebase.
Copy it as-is and replace [project name] with your project. Change nothing else until it has answered every field.
Create a Product Requirements Document for [project name]. Include: - Problem statement: the exact user pain this solves in one sentence - Target user: one specific persona (not "everyone") - Core user journey: what the user does from signup to first value, step by step - MVP feature list: only features required for that core journey. Nothing else. - Out of scope: explicitly list what we are NOT building in v1 - Success metric: one number that tells us if this worked in 30 days - Tech constraints: stack, integrations, third-party APIs required - Open questions: things we need to decide before dev starts For each feature in the MVP list, add: priority (P0/P1/P2), estimated complexity (S/M/L), and which user journey step it serves. Flag anything that sounds like a phase 2 feature disguised as a phase 1 requirement.
Every required field, and the test a good answer has to pass.
Read the finished PRD as one chain. If a link breaks, the scope is wrong — not the code.
Every journey step exists to move the user through the stated problem toward first value.
Every MVP feature maps to a journey step. A feature that serves no step does not belong in v1.
Every feature carries a priority and an effort estimate, so its cost is visible next to its value.
The whole set has to be able to move the one 30-day success number. If it cannot, the scope is off.
Tag every feature on both axes. Priority says whether it ships; effort says what it costs.
Required for the core journey to reach first value. Without it, there is no product to test.
Strengthens the journey but is not required to reach first value. Build only if capacity remains.
Deferrable without blocking the journey. Explicitly parked, not silently dropped.
Small — well understood, contained, few unknowns.
Medium — moderate scope or a dependency to coordinate.
Large — significant unknowns or surface area. A P0 tagged L is the risk to plan around first.
Rule of thumb: a P0 marked L is where scope conversations should start — it is both required and expensive.
Before locking the MVP list, run every feature through these questions.