What is an FSD?
A Functional Specification Document (FSD) is a document designed to give an overview of how a software system, mobile app or web app functions...
Essential Designs Team
May 9, 2019
What is a Functional Specification Document?
Important first steps when building an app
A Functional Specification Document (FSD) is a document designed to give an overview of how a software system, mobile app or web app functions. The document gives a detailed step-by-step outline of each item's functionality and flow. You can think of an FSD as a blueprint to an architect: a guide to understanding how something will function, and the expected behavior of that system. At Essential Designs, we create an FSD after the initial wireframe and quoting phase of our development process in order to map out each feature's specific functionality and the correct user flow for different user roles (aka Administrator, logged in User, anonymous User, etc.) The FSD is a labor of love, as it can take a bit of time to fully map out every little aspect, but a good FSD confirms that the development team, design team, QA team, and project managers all understand exactly how the project should function. This is an imperative step to establish that all parties involved in the software development are on the same page, and the end result is an application that performs in the way the client expects.
Who Writes it?
FSDs created at the start of each project are a collaborative effort between the development team and the UI/UX design team. The reason for this is multi-fold:
- The development lead takes in the initial project requirements and estimates out the specifics of, and the hours required to build each feature.
- The UI/UX team builds the initial wireframes and clickable mockups to give a visual representation of the features and user flow.
- The development lead will review and confirm that the planned data functionality match the approved designs.
- On completion, the document is delivered to the client.
- After client feedback and approval, milestone dates are assigned to each leg of development as outlined in the document.
What Goes in it?
At ED, we combine Functional Requirements and Use Cases, and User Stories to give a combined expectation of the project flow and features as a whole.
- Functional Requirements are "system shall" type statements, outlining general functionality, for example, "The system shall allow users to register and create a profile" or "The system shall have report options which can be exported by the Admin".
- Use Cases are a series of steps, presented in their order of action, to give a sort of 'play-by-play'. Example: "User logs in and is redirected to the pricing page, where they are prompted to select from three drop-down menus, which contain: ***"
Combining the information gives an overall project snapshot as well as a step-by-step walkthrough, which makes the project easily attainable, comprehensive, and clearly mapped out.
FSD Changes and Additions
When the document is delivered to the client, it is then the client's job to:
- Make amendments or ask questions where necessary
- Sign off
This necessary process confirms that the design and development team are on the same page as the client, making sure expectations can be fully met, and the proper functionality will be developed (as predicted during the quoting process).Ultimately the end goal of the FSD is to meaningfully align a client's feature desires with the design and development teams functionality, usability, and logic. The functional specification document helps to keep each software project on track in order to deliver milestones that work as expected and are carried out on time.
By Mary MacPherson, Digital Marketing Manager @Essential Designs
Mary is a popular Vancouver DJ and has been working in the high tech field since her inception as a web developer at Newbridge Networks in 1996.
Making hundreds of businesses better, big or small.
“Essential Designs was able to create a cutting edge application that will save lives, they always say "Anything can be done" and are definitely able to deliver on that promise.”
"We’ve been engaged with Essential Designs for several years now and we’ve found that the value they deliver is significantly above everyone else that we deal with."
"I had a lot of trust in them, everyone knew their job, and they worked very efficiently. ...the trust and communication skills were what distinguished them from their competitors.’’
“Essential Designs’ communication skills are one of their strongest suits...accurately informing the client about time estimates and possible delays. They’re also very responsive and knowledgeable."
The Impact of AI and Machine Learning on Custom Application Development
Essential Designs Team
September 29, 2023
In a rapidly evolving tech landscape, discover how AI and Machine Learning are reshaping custom application development, making it smarter, more efficient, and user-centric than ever before. Dive into the future of software solutions with this eye-opening exploration.