At this point, you have all the information needed to begin writing thefunctional specification. Here's a list of the high notes - make sure youhit them all!
* A very, very important rule of creating specifications is to be consistentand extremely precise in your use of words. For example, if you're using theword "function" to indicate the, well, functions of your software, youshouldn't at any point switch to "features", "commands", "menu items" or"actions". To this end, make yourself a glossary of the terms that you'regoing to use right at the start, and stick to them consistently. Add thisglossary to the end of your specification so that your readers have a readyreference, and to ensure that developers can communicate with each otherusing the right words.
* Conventions in the document lead to patterns that the users can grasp.They then start expecting information in a particular format, thusincreasing their level of comfort with the document. Using consistent stylesalso speeds up assimilation of the information, and helps spot particularinformation easily on re-reads.
* Headings are a powerful tool in making a huge mass of text lookmanageable. A common model is that as you go deeper in a particular topic,you indicate that by descending prominence of headings. So, all top levelheadings will be, say, in a large font size and bold typeface, with the nextlevel taking a smaller font size, and so on. You might also want to numberthe headings to help users understand the grouping of information.
* Use bullets and numbering to break up complex concepts into simpler,smaller information nuggets. The convention here is to use numbering forsequential information only and bullets for information that is bestpresented in points instead of a paragraph. Bullets also allow you to grouptogether points related to a concept and ascribe them levels of importance.
* Use screen grabs, schematics or flow diagrams to increase the efficacy ofyour document. Since a functional specification also includes information onwhat the user will see in the application, it will include schematics,screen flow diagrams and sample screens. These screen grabs will be used bythe developers to ensure that the final product conforms to what has beendecided in the specification. Ensure that you are consistent in your usageand labeling of screenshots.
* Ensure that nothing is left open to interpretation. Since this documentwill be used as a guideline for the actual implementation of theapplication, it's important that it be clear, concise and accurate at alltimes. Ambiguity and a failure to resolve troublesome points are sure signsof trouble in the future.