Updated: 19/12/2019
What is a Software Requirements Specification Document?
Many developers choose to work with a software requirements specification document (also known simply as a Software Requirements Document) as it typically contains the following:
– A complete description of the software’s purpose and functionality
– Details as to how the software will perform in terms of speed, response time, availability, portability, maintainability, recovery speed and more
– Use cases of how users will use the software
– The definition of how the application with interact with other hardware and program
– Non-functional requirements (e.g: performance engineering requirements, quality standards, or design constraints)
Why is it important?
A SRS allows developers to be clear on the goals of the software and on what they should focus on. Furthermore, it allows them to:
– Save time on communication
– Minimize development efforts
– Gives the customer feedback
– Eliminate task duplication
– Facilitate the transfer to new users or to new machines
– Breaks problems down into parts
– Serves as the main document to verify the validation and testing processes
– Referring to past SRS documents helps identify deficiencies and process flaws
– Define the scope of the project
– It helps reduce development effort.
How to Write a Software Requirements Specifications Document
There is no standard way of writing a requirements specifications document, but here are a few guidelines:
Create an SRS outline
If you do not already have an SRS template, there are many you can find on the web. Use a template to create an outline for you SRS doc. Modify it to suit your organization’s needs.
SRS outlines vary, depending on the organization and their processes. Some may be simple, while others are more detailed and complex.
Here is an example of a simple SRS outline:
1. Purpose
2. Scope
3. System Overview
4. References
5. Definitions
6. Use Cases
7. Functional requirements
8. Non-functional requirements
I got this outline from this website. Check it out to see it in more detail.
Once outlined, the SRS is ready to be written. Here are some tips to writing an SRS:
Choose the best person to write it
The writer should have superior communication skills. The purpose of the SRS to make everyone understand the specifications. Anything that is unclear or miscommunicated can lead to not-so-great consequences. Many suggest having technical writers involved in the requirements specification process helps in preventing miscommunications. They are more skilled writers than developers, and they have an air for precision and clarity. Technical writers know how to gather and process the right information; they also know how to convey customer requirements.
Make things visual
A picture can save 1000 words. Include graphics such as tables and charts to communicate your ideas better.
Don’t over-document
Avoid including things that may not need to be documented. SRS documents may get a bit long, so avoid packing in unnecessary information.
Keep an online version of the SRS and keep updating
As your tasks progress and if your staff and process changes, the SRS will need to be updated. For this reason, keeping a virtual version will help keep the whole team on the same page every time a change is made.
Sources:
MicroTools Inc.
TechWhirl
another sample of srs for scope
Pingback: Chapter 4. Requirements require.. more requirements! [part 2] | Sweek
Thank you for your post. Very helpful. 🙂
We have written a LyX layout to write Software Requirements Specification (SRS). It supports Requirements, Features, Use Cases, and Test Cases. It support full tractability using references.
I am in dire need of a software where I can write my documents.
can any one guide me how to prepare s.r.s document for password manager project
Very informative post!
Really, It’s necessary to understand the essence of the task, to clear up what is needed. It also helps all the parties to evaluate the product. Here also some views on this matter Software Requirements Specification document The necessity of the the specification document
Hi Achille,
Will you please elaborate the following points in 2 to 3 lines each for better understanding?
If possible with example?
TIA
These points
1. Purpose
2. Scope
3. System Overview
4. References
5. Definitions
6. Use Cases
7. Functional requirements
8. Non-functional requirements
I was searching for a brief summary of SRS document to implement in a project.
Appreciate the points given in the article. Thanks!
can you help me how to write make my trip srs
It is very helpful for me and I would like to appreciate to you.
can you help me to write a srs document on Online inventory management system
how SRS is differ from FRS ( Functional requirement Specification ) or it is one and the same ??