Functional Specifications Documents

What I've described so far has all been very visual, but at some point all of this needs to be documented and that's where a Functional Specification Document is needed.

You should be used to these if you have any sort of formal development experience, perhaps less so if you're more Agile experienced, but essentially a FSD is a formal way of bringing the functionality, wireframing and prototyping together in one place so that the details software developers need are all easily accessible. This is still a guideline, it's written on paper not stone, but it should act as a guide for exactly what has been decided, how the system flow is going to run and how it is going to look.

Typically, the functional specification shows the visual appearance of the user interface and describe each of the possible user input actions and the program response actions. It can also contain formal descriptions of user tasks, dependencies on other products and documents and if not expressly stating user and usability criteria it should have links to the documents that do describe them.

For a sense of where the functional specification fits into the development process, I've produced a simple example of the type for download here.

© Bob Powell