20 Nov 2012

The joys of the one page functional specification document

Category:
  • Project Management

Forget the details for now, they are not importantWhy is the detailed specification document so rare to find? A one page set of scribbled notes is the single biggest unnecessary risk you can take in any software development project. A concise specification document should always be the first deliverable for any project.

When you write a decent spec, you only have to communicate how the software is supposed to work once. The clients read it to make sure the developers will be building a product that they want. The developers read it so that they know what code to write, the QA testers can read it so they know what to test for. Simple! So why make life complicated with just a set of notes and a whole bunch of assumptions?

A good specification document is written in clear and plain language that can be reviewed by the client with minimal technical expertise. It might be very detailed, or it can just be a straightforward list of functional attributes which includes diagrams or schematics of functional relationships or flow logic, or the spec can occupy some form of middle ground. It is the key tool for effective software development because it acts as the bridge between the software developers, the project manager and the client.

 And the benefits are huge!

  • The document acts as a contract between the client and the software developer specifying all the deliverable features required in the final system and should be signed off BEFORE any development work is undertaken.

  • A good spec enables costing and pricing of the project providing the ability to estimate the amount of effort required to build the software product.

  • The document will contain the scope for a detailed design and enable experienced developers to convert the requirements directly to a technical design. 

  • Of vital importance is the leverage that a concise spec will provide with regard to managing client expectations as the spec defines the project scope and ensures that client expectations don’t change during software development. If scope creep happens, then the spec can be modified and the costing/pricing can be amended to reflect the changes required.

The natural flow from a well rounded specification document is the preparation of a Technical spec which is typically written by the developers and describes how they will implement the project. The developers work from the functional specifications, and translate the functions into their actual coding practices and methodologies. By ensuring that these documents are in place you are mitigating any risk to your software development project as it is easy for another developer to pick up and run with should the key developer on the project win the lottery and decide not to come back to finish the project off!

Go Back

Please enter your details and we will aim to call you back the same day.