Why a functional specification document is crucial to good development.
A Functional Specifications Document is one of those things that developers tend to hate writing and clients tend to struggle to read and understand. But if we take a moment to look at the importance of that dreaded document which informs the website development, we might all feel a little less resentment and start feeling a little more love for the Functional Spec.
First of all, what is a Functional Spec for development?
When it comes to developing a website, app or any other technology platform, Functional Spec is a document that details the functionality of the site to be built. It should be like a bible for the build. It explains the features, interactions and every other bell or whistle that has to be included. A good Functional Spec should include not only the what, but the how and why. For example, an ecommerce website to be built on wordpress should include details about what elements will be displayed on a product page, how they work from a user perspective as well as a development perspective and why they need to work a specific way.
Data models and information flow should be included to act almost as a development instruction manual. Think back to building Lego when you were a kid (or maybe more recently as a parent building on behalf of a kid), how much you relied on the instruction manual. This is essentially what your development team has to follow.
In this excerpt from a recent Functional Spec, some details are left to the designers preference and will be discussed with the client once mock-ups are produced. This allows for some flexibility when it comes to putting the theory into practice.
Clicking on the heading or read more buttons will take the user to the full article page. This section will include pagination to browse further through the content, as well as quick links to the next few articles. The number of articles displaying intro text and the number of quick links will be discussed.
Why do we need to do this?
It makes us (developers) think more carefully about how a site needs to be structured and built and can help overcome development obstacles that may arise half way through the project. It allows us to plan our time more accurately and compare the project with budget constraints before we get halfway through only to find out we are going to run out of budget. It can protect both the agency and the client against scope creep that will almost certainly arise without a solid development specification.
To be put bluntly, a good functional spec will save your ass.
So, if you’re the client – what should you be doing?
- Read the Functional Specification properly and carefully because it will determine the scope of the project.
You should try to understand the document and record any questions you have if there is anything at all you are unsure of.
- If possible, you should sit down and go through the document with your developer face to face.
This document sets the deliverables for a project and confirms that the developer understands your website needs. We find sitting down face to face with our clients and reviewing the specification document is great opportunity for them to ask questions and truly understand what is going to be built. It increases confidence all round.
- Identify and make changes to the spec before the project starts and most definitely long before the finished product is built.
If the developer has the functional specs wrong, you should be able to identify this and make changes before the project starts and the finished product is built. Nobody wants to pay for something that doesn’t do what it is supposed to.
Once the functional spec is confirmed and signed off, your development team will be able to start the project with a positive and crystal clear approach. The design and development team working on the project will all be on the same page as the client, ensuring that everyone will be happy with the finished product.
Image credit: Keaton Fillyding, https://flic.kr/p/pck3CS