When you launch the development of a new product release, plan to fail because you will fail, and plan to recover.
Nothing is impossible. Thus envisioning and designing the right feature set the right way from the first attempt is not impossible. But chances are your first shot will be off target. It will take you several iterations to get close. So if you don’t plan to fail and adjust your course during development, you’ll fail during production where you’ll be leaving an unwanted trail of legacy behind.