People are different. I have to think about this axiom every time I see a statement I can’t apply for myself.
One of such statements is a wish to get ideal software requirements and to work them off, preferrably left alone.
Every time I’ve tried this approach, a produced a dead-born something, that has corresponded pretty much to the requirements, but nobody wanted to use it.
I’m confident, it is not a coincidence.
As a product owner, you know what a successful application must look like. You can communicate these requirements explicitely and verbally, or implicitely and non-verbally.
In the latter case, you have to make the developers to share your vision. When you succeed, they will evolve (even better and more complete) requirements on their own. In the former case, the communication channel is rather limited and too one-way-ish.
Without perfect knowledge, what exactly will make the app to success, developers will create just some set of bytes, albeit perfect in its internal architecture, but otherwise useless.
Making successful apps is more important to me than making apps with clear architecture.