Pattern: CommunicateJustEnoughDesign
...there are several types of customers who insist on complete design details at the beginning of project, while the nature of the project may require a more incremental approach.
* * *There are customers who insist on BigDesignUpFront, who can't be ignored (they are a primary source of funds) and are unwilling to listen to alternative approaches.
These customers are often have their own technical experts, whose skills may or may not match the technology being applied to the problem.
The customer expert may range from antagonistic to supportive in terms of trying to understand your approach to a design, but they almost never understand everything that you do and almost always want some link back to their own process for design.
Therefore, you must communicate just enough design to engage the customer expert, demonstrate expertise, and gain trust. The design should provide some mapping to the customer design process. The design should be detailed enough to satisfy the customer export. It should be comprehensive enough to cover the primary areas of customer concern.
It should not cover the complete project, include details which are speculative or of which you are unsure, create so much overhead as to threaten the project success (although the question of how much overhead is acceptable to keep the customer happy can be a difficult one).
The best possible result is that the customer gains trust and understands the need for further incremental design.
In the next-to-worst case the customer doesn't understand, but does invest some time trying to understand your proposal and you've created a design artifact in the Booch sense that can be used to facilitate further communication through refinement.
* * *CrcCards and UmlIsForPeople gives some guidance for presenting designs to customers. Judicious use of UML can help bridge the gap with many BigDesignUpFront customers who expect UmlAndBigDesign