10 Characteristics of High-Quality SRS (Software Requirements Specifications)

4 levels of technical writing and editing© Ugur Akinci
NASA’s Software Assurance Technology Center has identified the following as the ten important criteria that any SRS (Software Requirements Specifications) should satisfy:
1.    Complete
A complete requirements specification must precisely define all the real world situations that will be encountered and the capability’s responses to them. It must not include situations that will not be encountered or unnecessary capability features.
2.    Consistent
System functions and performance level must be compatible and the required quality features (reliability, safety, security, etc.) must not contradict the utility of the system. For example, the only aircraft that is totally safe is one that cannot be started, contains no fuel or other liquids, and is securely tied down.
3.    Correct
The specification must define the desired capability’s real world operational environment, its interface to that environment and its interaction with that environment. It is the real world aspect of requirements that is the major source of difficulty in achieving specification correctness. The real world environment is not well known for new applications and for mature applications the real world keeps changing. The Y2K problem with the transition from the year 1999 to the year 2000 is an example of the real world moving beyond an application’s specified requirements.
4.    Modifiable
Related concerns must be grouped together and unrelated concerns must be separated. Requirements document must have a logical structure to be modifiable.
5.    Ranked
Ranking specification statements according to stability and/or importance is established in the requirements document’s organization and structure. The larger and more complex the problem addressed by the requirements specification, the more difficult the task is to design a document that aids rather than inhibits understanding.
6.    Testable
A requirement specification must be stated in such as manner that one can test it against pass/fail or quantitative assessment criteria, all derived from the specification itself and/or referenced information. Requiring that a system must be “easy” to use is subjective and therefore is not testable.
7.    Traceable
Each requirement stated within the SRS document must be uniquely identified to achieve traceability. Uniqueness is facilitated by the use of a consistent and logical scheme for assigning identification to each specification statement within the requirements document.
8.    Unambiguous
A statement of a requirement is unambiguous if it can only be interpreted one way. This perhaps, is the most difficult attribute to achieve using natural language. The use of weak phrases or poor sentence structure will open the specification statement to misunderstandings.
9.    Valid
To validate a requirements specification all the project participants, managers, engineers and customer representatives, must be able to understand, analyze and accept or approve it. This is the primary reason that most specifications are expressed in natural language.
10.    Verifiable
In order to be verifiable, requirement specifications at one level of abstraction must be consistent with those at another level of abstraction. Most, if not all, of these attributes are subjective and a conclusive assessment of the quality of a requirements specification requires review and analysis by technical and operational experts in the domain addressed by the requirements.
Source: http://satc.gsfc.nasa.gov/support/STC_APR97/write/writert.html
Technical Writing and Editing Online Video Course

6 Comments

  1. j on November 25, 2011 at 10:46 am

    Great help, but I cant open the source link.
    Thanks



  2. molu on February 15, 2012 at 1:17 am

    This is very helpfull



  3. Mallikarjun Hanagandi on January 9, 2013 at 12:21 pm

    very nice information and very useful.



  4. nagra on January 31, 2013 at 7:39 am

    very nice………..



  5. Prateek.V.Kumar on July 1, 2016 at 10:12 pm

    Great 🙂 Very useful information. I liked it .



  6. Prateek.V.Kumar on July 1, 2016 at 10:14 pm

    I too cannot open the source hyperlink http://satc.gsfc.nasa.gov/support/STC_APR97/write/writert.html . Why ? Watz the problem ?