There have been exactly two times that I can count in the last 25 years of development where I had customers that new what they needed/wanted and could articulate it to the point of hard and fast requirements that could be documented ahead of time. Both times were in the Air Force. Both times were in situations that processes were so strict, that it left no doubt as to what happened in alternate flows, because alternate flows did not happen. One was a replacement tool that allowed communication to happen via email between the secure and unsecured networks. The other was tracking inbound documents (of all kinds of levels of security clearance, ranging from unclassified to the so classified, that is existence is denied) through out the building. Those are the only times ever that I had concrete requirements that could be documented before development. They are also the only time I've had documents I've written that passed ISO 9000 compliance. (come to think of it, they're probably the only ones ever sent for compliance certification).

-tg