Usability of Specs?

Ever been frustrated when what the developers built didn't match what you designed or architected? Maybe your specification had some usability problems itself. Brian Krause has useful tips in Getting Creative With Specs: Usable Software Specifications - An effective, usable spec serves two main purposes: First, it elicits feedback early, which helps to avoid problems and misunderstandings later on. It's especially important that clients are able to identify any missing functionality in the design, for example. Second, an effective spec ensures the software stays in line with the designer's intentions as it's built in other words, the spec is precise enough that a competent engineer will build the interface as it was designed.