The Myth of Specification
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:
- Thinking there is nothing left to learn about how something should behave, once the behaviour has been specified.
- 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