On Formalism in Specifications

Seven deadly sins of formal specifications are:

1. Noise

The presence of irrelevancy and unnecessary duplication which masks the basic intent of the specification.

2. Silence

The (unintentional) omission of parts of the intention.

3. Overspecification

Providing details of how the specification may be realized thereby suggesting we employ a particular implementation which may or may not be appropriate.

4. Contradiction

5. Ambiguity

6. Forward referencing

Appealing to concepts that are defined later yet are used to make an important point early in the specification. This confuses us.

7. Wishful thinking

Including some feature(s) which, with all the goodwill in the world, cannot be realistically implemented.
Quoted from: B. Meyer, On formalism in specifications, IEEE Software, 2(1):6-26, January 1985.