You start e.g. with a press release and then make your way backwards to the user stories and backlog.
It's a very useful approach to think big and focus on the problem instead of the many little issues that need to be solved.
The problem is that programming is still knowledge work. That means you can not specify everything beforehand without doing the actual work. (Like writing a novel, which can not specified before.) The solution would imho be a good balance between description the big picture/desired result (good) and spec'ing out every little detail and screen in advance (bad).