Are there standard practices when writing a spec for a software development project? Is there a specific format to follow? Also, does the developer or the client write this up? If the dev, is this billable?
The great thing about standards is that there are so many to choose from.
The overall requirements
1. Defining Models
2. Defining Use cases
3. System requirements
4. Other compliance requirements
While it is not always true that UML and other such formats are used. Many a times companies can have their own specific type of templates may exists such as one shown in wikipedia.
One quick tip: add time numbers to the spec document. Start from 1 on each page.
Our main spec recently had line numbers added, and it's so much more easy to refer colleagues to an exact sentence.
Before: "... on page 25, section 2.8, that bit under the table, no, the next bit, it begins with 'The server must...'"
Now: "See page 25, line 34."