Tuesday, February 5, 2013

What are Software Requirements?

Hello again. Good programmers have at least a basic understanding of project management. This includes project requirements. I'll attempt to explain below an example of what those requirements look like when you are dealing with a new software project.

Software Requirements are the elicitation, analysis, specification, and validation of requirements for software. A requirement itself is a singular documented physical and functional need that a particular solution or service must be or must perform.

The following information should always be provided when putting together proper software requirements within a software requirements specification (SRS) document.

Requirement Type The type of requirement.
Event / Use Cases List of events / use cases that need this requirement.
​Description Describe the requirement being requested within the project. Additional requirements should be inclusive of additional secondary headers (for table of contents tracking in documentation).
​Justification ​Describe the justification of the requirement.
Measurement Describe the measurement of the requirement such that it is possible to test if the solution matches the original requirement.
​Source Who raised this requirement?
​Customer Satisfaction ​Degree of stakeholder happiness if this requirement is successfully implemented. Scale from 1 = uninterested to 5 = extremely pleased.
​Customer Dissatisfaction ​Measure of stakeholder unhappiness if this requirement is not part of the final product. Scale from 1 = hardly matters to 5 = extremely displeased.
Dependencies A list of other requirements that have some dependency on this one.
Conflicts Other requirements that cannot be implemented if this one is.
Supporting Materials This is a pointer to documents that illustrate and explain this requirement