What makes a good spec?

Candidasa picture Candidasa · Dec 18, 2008 · Viewed 11.4k times · Source

One of the items in the Joel Test is that a project/company should have a specification.

I'm wondering what makes a spec good. Some companies will write volumes of useless specification that no one ever reads, others will not write anything down because "no one will read any of it anyway". So, what do you put into your spec? What is the good balance between the two extremes? Is there something particularly important that really, really (!) should always be recorded in a specification?

Answer

Robert C. Barth picture Robert C. Barth · Dec 18, 2008

The best spec is one that:

  1. Exists
  2. Describes WHAT, not HOW (no solutions)
  3. Can be interpreted in as few ways as possible
  4. Is widely-distributed
  5. Is agreed-upon as being THE spec by all parties involved
  6. Is concise
  7. Is consistent
  8. Is updated regularly as requirements change
  9. Describes as much of the problem as is possible and practical
  10. Is testable