This is a spec for tsunami modules/functionality/whatever. It's mostly just a few good software design/planning/architectural principles.
The first spec should clearly facilitate rapid development of a prototype.
level of detail
The spec should cover what you expect the software to do, a list of operations you can expect to perform. It should not be too general as to be vague or too specific by getting into implementation details.
You also want to grade these features; I suggest the following ranking:
- must have
- would like
There should be more C's than B's and more B's than A's. The less A's the better.