You can’t effectively design something if you don’t know what the business logic is. Only after you know what the actual process is can you build an interface for it.
An even more hardcore subset of this is the API-driven approach that focuses on what data and processes might be exposed to others.
Similarly, a front-end engineer or a designer would definitely say that you need to first see what actions the user will need to preform. Only after that’s done will you have an idea of what data will be generated and how it needs to be manipulated.
That helps you progressively build up more and more of the feature while having each intermediate state at least somewhat functional.
Squarespace offers a different perspective within the context of building a risky feature. In an article about good tech debt the author argues that the most risky part should be built first.
But besides that, you cannot accurately plan something that isn’t well defined. You often come up with new and better ways of doing things as you’re doing them.