Gotcha... missed that.
I would still say that only with lots of relevant experience could a project manager or whomever spec it cleanly and intuitively.
So in theory, it think it is possible, but not at all easy. It would take a lot more time than "normal".
I wonder if that much forethought might save more time than would be otherwise spent on development and testing?
Kind of like the adage of "cut twice, measure once".