This is one of those "in a perfect world "scenarios, in my case.
I can see that for large projects, but what about smaller projects or enhancements?
There was a recent article about how most of a developers coding time is used for maintenance and enhancements, and not new coding/projects?
As a developer, too many times to count I've received vague "one line wonder biz descriptions" from the business analysts describing the desired functionality, and it's up to the developer to flesh out the actual requirements, ramifications, the interfaces, the presentation GUIs, and finally document what it was we created.
The #1 problem with that of course, is feature creep: after it gets created from vague biz descriptions, when it finally gets reviews for QA, they jump in and say that's not what they wanted/imagined, and require additional changes...sigh. You can say that's not right, and say "make them fix it", but in the real world, you can only push so hard.
I'd love to get a solid business requirements and documentation like you describe up front for smaller enhancements the same way I would get for large projects.
Lowell