The most expensive decision in a software project is made before anybody writes code: deciding what is in version one.
We use a blunt test. For each feature, ask: if this were missing on launch day, would a user still pay? If the answer is yes, it is not in version one. That sounds harsh, and it removes roughly four features out of every ten from a typical brief — which is exactly the point, because those four features are what turns a six-week build into a five-month one.
The features that survive are usually unglamorous: sign-up, the single core action, a way to pay, and a way to get help when something breaks. Everything else can be added later, by which point you will know from real usage whether it was ever needed. Most of the time, half of it was not.