What is a functional specification and when do you need it?

Functional specification in software development is a document used to fully describe the behaviour and design of the functionalities of a software. As a rule the customer writes the functional specification and sends it to the software development company. Sometimes the term can sound scary, but the functional specification of your project is nothing more than your thought and ideas about the technical development in paper.

There aren’t any defined rules on how to write a functional specification. But it is important that it represents your business needs and it is written in a language that both sides understand. So you don’t have to search for technical terms like crazy. Just express your ideas in a way that everyone will understand them.

You need a functional specification in most projects. But for now lets focus on the ones you need for corporate web site and personalised web platform development.

Most often the customer needs information about the price and time needed to develop a web site or web app. And for business informative web sites with just a few pages of images and text – it is easy to calculate. But what happens when it comes to a more complex web application with various non-common functionalities? The price is defined by a series of factors including time, available technologies and the complexity of the idea. If you want to get the best and most accurate offer possible – you need to write a good functional specification. Otherwise you risk of receiving higher offers from the companies since they do not know what exactly you want. So, first, you need to answer for yourself some basic questions like:

– What is the core functionality?

– What are the additional functionalities.

– Are there going to be online payment integrations and what types to use?

– In how many languages is the application going to be?

– What should the administrative panel manage?

– How are the users going to interact with the platform? How are they going to sign up? What notifications and information should we give them?

– Are there any APIs that you need us to integrate?

– Does the application need an internal search engine? If yes, how is it going to filter and display the results?

– How many traffic are you expecting? (this defines how you are going to host your site)

– What do you need as a support after the official release?

– How is the platform going to connect to social media?

These questions are just an example. There are, however, many others that you may need to answer for companies to give you an accurate price and time offer.

Functional specification

Written example of a functional specification.