The best spec is one that:
- Exists
- Describes WHAT, not HOW (no solutions)
- Can be interpreted in as few ways as possible
- Is widely-distributed
- Is agreed-upon as being THE spec by all parties involved
- Is concise
- Is consistent
- Is updated regularly as requirements change
- Describes as much of the problem as is possible and practical
- Is testable