Functional Specification Document

A Functional Specification document presents the blueprint of a project and describes how it should look and work. It airs closely to the aspect such as user interaction, style and appearance of the project. It also details the project to the client in order to meet the desired expectation.

The Functional Specification document provides clear information to the developer, so that by knowing what exactly to develop, the product/project meets faultless expectation. It also provides information to the testers so that they understand the testing requirements. It confirms the client what they will be receiving well in advance.

The Business Specification document is different from the Functional Specification document. The business specification document provides the business requirement where as the functional specification document details each and every functional step of the application. For example, if the business specification is to have a secured login scenario, the functional specification would be sending a security code to the user’s mobile device, and login the application using that security code. The functional specification should also explain what happens if there is failure in login attempts. Such as, only three login attempts is allowed. It should also explain what message should be displayed during such scenario.

Example in Detail:

Business Specification
The user should have a secured login facility where the security code should be sent to the user’s mobile device.

Functional Specification
For the user to have a secured login option,
  1.  Create a username and password field.
  2. Once the user enters the unique username, password and clicks Enter or presses the Go button, a security code is sent to the user’s mobile device.
  3. Now the screen should display a field – “Enter the Secured code”.
  4. The user should type the security code which they received in their mobile device.
  5.  If the security code matches, the user is allowed to login.
  6. If not, a message popup is displayed – “Security Code mismatch - Unable to Login”. Click OK button to take back to the Security code page. Now a new button “Send Security code again” should appear in addition to the Security code field.
It is good to provide wireframes in addition to the detailed functional specification. Below are the sample wireframes for reference:




Functional Specification Document template:

  1. Executive Summary: This section should include the overview, purpose, and scope of the project specification. If used any reference document, here we need to list the reference document names and location as well.
  2. Project Description: In this section, the product or the service description has to be presented. The topics covered here should include project perspective, user characteristics, project components, assumptions, constraints, dependencies, and future requirements.
  3. Functional Specific Requirements: This can be from 1 to n numbers based on the business requirements. Each set of functional specification should include topics such as specification description, user interface requirement, and usability. This should also mention the priority of the requirement, the data element and entity format, and so on. This should provide a clear information to the developer so that the developer will know what he/she is supposed to work on.
  4. Security Requirements: This section should talk about the authentication, authorization, access, and assurance related information.
  5. Performance and optimization: Here, the performance related information such as stability, capacity, availability, and latency related information are mentioned.
  6. Maintenance: This section deals with monitoring, maintainability, manageability, and operations related information. This section will also talk about the availability and recovery related information.
  7. Index
  8. Appendix
  9. Document Control: This has the versioning, update, and approval information of the function specification document.

No comments:

Post a Comment