Would you expect a home builder to start building your new dream home without any plans? We thought not! And yet many businesses skimp on planning and preparation when it comes to building their new website that will be representing their business interests online for years to come.
It’s fair to say that the smaller and more ‘stock standard’ your website project is (e.g a 4-page brochure-style website), the less important it is to have a functional specification document. Conversely, the larger and more sophisticated/customised your website project is, the more important it is to have a functional specification document (or the more risky it becomes not to have one). Functional specifications themselves will vary in size and detail as the requirements for the project are exposed.
So what is a (website) functional specification? It’s a document that describes what a website will do as opposed to how it will be done. (The ‘how’ is a question for the technical developers). It will be written in plain English, and sufficiently detailed, to ensure that all stakeholders in the website project, be they technically minded or not, are clear on what the proposed website will do and (therefore) not do.
We can think of a few reasons why businesses might gloss over the functional specification phase for their website project:
- The additional initial cost/time of preparing a functional specification document. “I know what I want, let’s get coding now, no time to waste!”
- Underestimating the time/costs of changing your mind during the project. “Hey, it’s not like we’re pulling down bricks here. Surely it’s not hard to change a few lines of code?”
- Cramping your style. “I don’t want to be tied down to a document written two months ago that tells me what I can or can’t have!”
So let’s counter these points with some benefits and attributes of a good functional specification:
- It will save you money. Software development isn’t necessarily as flexible as we (clients and developers) like to think it is. Typically the further advanced a website project it, the more costly in terms of time and money it is to change direction. So a functional specification provides a clear roadmap and targets for the developer to aim for such that expensive deviations from the plan are avoided.
- It will save you time. Yes, a functional specification phase might delay the start of the actual development of your website, but then once development does start it will be far more rapid and focused than otherwise.
- It will give you a timeframe. Knowing what needs to be done, a good project manager will be able to assign resources to tasks and thereby build a reasonably accurate timeframe for the project including key milestones and expected ‘live’ date.
- It will facilitate more accurate quoting. If you invite three web companies to quote for a project but only supply high level information about that project, you’re likely to receive three very different quotes back, with each company attempting to interpret your requirements as best they can. Give the same three web companies an in-depth functional specification, and now you’re much better able to compare apples with apples when the replies come back. Furthermore, web companies are much more prepared to commit to a solid estimate with the ‘protection’ afforded by a functional specification document. In the absence of one a prudent website company looking to stay in business will either quote high as an insurance policy against project variations, or will offer their services on a ‘time & materials’ basis (hourly rate plus the cost of other inputs such as website hosting, domain names, transactions fees, etc.)
- It will keep everyone honest! Assuming a web developer has agreed to build a website based on a functional specification document that the client has approved, then it will be clear to all what is or isn’t included in the deal. New functionality can still be introduced mid-project, but typically with cost and/or time implications.
So now you’re convinced that a functional specification document is a great idea for your next web project, who do you talk with to get one done? Two choices: independent consultants, or a reputable website company. A couple of tips for you when choosing who to go with:
- Ask to review examples of work they’ve done in this area. Satisfy yourself that, if the same approach was conducted for your project, you’d be comfortable that all bases had been covered.
- Ensure that you own the functional specification document on completion. If you’ve chosen a website company to do the job, it’s important that it’s clear that you reserve the right (whether or not you choose to exercise it!) to shop it around to other website companies in search of competitive quotes.
Final thought: your website project doesn’t have to have a detailed functional specification document to get started. Plenty of projects (some of them even successful!) started with a twinkle in a developer’s eye and a keyboard. But when it’s your money at stake, it’s important that you know what you’re getting into if the road ahead hasn’t been clearly mapped out.
Further reading:
A sample template for a Functional Specification from the Victorian eGovernment Resource Centre
http://www.egov.vic.gov.au/index.php?env=-innews/detail:m1128-1-1-8-s-0:n-418-1-0–
Joel Spolsky’s “Painless Functional Specifications – Part 1 (of 4): Why Bother?”
http://www.joelonsoftware.com/articles/fog0000000036.html