The Myth of Specification

September 09, 2012

A common understanding in computing of a specification is

A description of how something should work

This is fundamentally flawed. At best a specification can be

A description of a small subset of the behaviour of something

Once this is realised the following mistakes are easier to avoid:

  1. Thinking there is nothing left to learn about how something should behave, once the behaviour has been specified.
  2. Thinking that if you automate the specification and the specification passes then the subject behaves correctly.

One must learn by doing the thing; for though you think you know it, you have no certainty until you try. -- Sophocles