Friday, April 4, 2014

The seven sins of a specifier - Bertrand Meyer / IEEE SOFTWARE (Jan 1985)

On Formalism in Specifications (*)
Bertrand Meyer (*), University Of California, Santa Barbara
IEEE SOFTWARE, January 1985

The seven sins of a specifier:
  • Noise: The presence in the text of an element that does not carry information relevant to any feature of the problem. Variants: redundancy; remorse.

  • Silence: The existence of a feature of the problem that is not covered by any element of the text.

  • Overspecification: Thc presence in the text or an element that corresponds not to a feature of the problem but to features of a possible solution.

  • Contradiction: The presence in the text of two or more elements that define a feature of the system in an incompatible way.

  • Ambiguity: The presence in the text of an element that makes it possible to interpret a feature of the problem in at least two different ways.

  • Forward reference: The presence in the text of an clcment that uses features of the problem not defined until later in the text.

  • Wishful thinking: The presence in the text of an element that defines a feature of the problem in such a way that a candidate solution cannot realistically be validated with respect to this feature.
I had an opportunity, this week, to reflect on this paper and these basic points on writing a clear and concise specification. They have remained with me since first reading the Paper in the early 1990's. A formative Paper for some one like me who has always struggled to write clearly and concisely.

Bertrand also introduced me to Object-oriented software construction (*) and the The Eiffel Programming Language (*), an elegant way to construct software, that I use everyday to great advantage. Many thanks to Bertrand, who helped equip me with the skills to achieve more than I could have otherwise.

No comments:

Post a Comment