Thoughts about improving writing a software Requirements and specification document (SRS).
Something that I believe in is that without a good requirements document, the project will approach failure (if it did not fail). This document is very important because any mistake in it costs time and money. When you are writing a software requirements document, you should think of following:
Before I go through the above, please note that you don't have to stick to a certain template, you could make your own template; each project is different from the other, and each client is different from the other, so take my advice, DON'T STICK TO A SINGLE TEMPLATE Knowing who is reading the document is very important. The requirements documents somehow needs to be from any technical terminologies, because usually if you are making a tailor made software, the client is usually someone who is out of our field. So be sure to determine the audience. So always use as much simple words as possible. It is not a design document, so don't include diagrams that any of the stock holders will not be able to understand.
Logical workflow of the business process
You should write a logical work flow of the business process, and all the system pages or frames should be integrated with each other. Think of every single action the user could do, and the way to do so, and how this action will reflect in the results, and on the other parts of the system.
The User Interface
Please note that the most important thing (sometimes the only thing) the client cares of is the user interface. You may have done all the functionality to work perfectly, but when it comes to the UI we should take care of it. In order to save time, you should settle all the UI issues with the client in the requirements document.
Determine The Audience of the Document

Dhanusu VaradharajaPosted Mar 24, 2016, 12:14 AM
Thank you Tamer. It's very helpful for my new job. Previously use to write BRD, now started to develop SRS.
Gowtham RajamanickamPosted Apr 20, 2015, 4:20 AM
good on
knightsPosted Jan 11, 2011, 11:39 AM
Dear Tamer, Thank you for sharing your experience.I would respectfully disagree where you have quoted "DON'T STICK TO A SINGLE TEMPLATE".For a certain type of projects and if an effective template is available and being used widely why not use the same template? Software develoment is a very vast and diverse field.I believe it depends on scale and circumstances of software development in which one is working in; that is why when you say you could make your own template will not help to effciently reach the milestones. All software development documents are based on models which are concluded after some research.Not following a researched one, seems not a very nice idea.Thanks
Sam HobbsPosted Dec 29, 2010, 11:41 PM
I hope someone can provide examples of how costly mistakes can be when the requirements are not adequately determined initially. There are probably very many more than what people realize.
Hussein AhmedPosted Dec 28, 2010, 4:15 AM
Thank you Mr.Tamer for posting this article regarding the very important issue which is requirements and how it is so essential to any successful software.
Sam HobbseditedPosted Dec 28, 2010, 12:43 AMEdited Dec 28, 2010, 12:47 AM
All excellent points. Yes, the requirements should be written so the user can understand. It should not describe how to do the application technically; that cannot be determined until all the requirements are understood. The only technical items should be actual requirements, such as stating (for example) that the application must execute in Windows using SQL Server.