Software requirement Specification is typically developed during the first stages of “Requirements Development”, which is the initial product development phase in which the information is gathered about what requirements are needed- and not. This information gathering stage can include onsite visits, questionnaires, surveys, interviews, return-on-investment (ROI) and client’s current business environment.
A well designed SRS accomplishes four major goals:
1. It provides feedback to the customer:- An SRS is the customer’s assurance in which the development organization understands the issues or the problems to be solved and the software behavior which is necessary to address those problems. Therefore, the SRS should be written in natural language in an unambiguous manner which also includes charts, tables, and diagrams.
2. It decomposes the problem into component parts:-The simple act of writing down software requirements in a well-designed format organizes information, places border around the problem and helps in breaking down the problem into its component parts in an orderly fashion.
3. It serves as an input to the design specification:-As SRS serves as the parent document to the subsequent documents, such as the software design specification and the statement of the work. SRS must contain sufficient detail in the functional system requirements so that a design solution can be devised properly.
4. It serves as the parent document:-for testing and validation strategies which is applied to the requirements for verification.