Requirement Specification is the phase in software engineering which come after Requirement Gathering and Requirement Analysis, wherein gathered requirements are documented and different documents are prepared from those requirements. This is basically a documentation phase and documents like Functional Requirement Document (FRD), Business Requirement Document (BRD), Supplementary Support Document (SSD), Software Requirements Specification (SRS), Requirement Traceability Matrix (RTM) etc.
Requirement Specification is a very critical part of the Requirement Engineering process. It is a process of listing down all the requirements captured in earlier phases. The documents created in this phase must be clear, comprehensive, consistent and complete.
Requirement
A requirement is a usable representation of a need. Requirements focus on understanding what kind of value could be delivered if a requirement is fulfilled. The nature of the representation may be a document (or set of documents), but it can vary widely depending on the circumstances.
A requirement is basically the need of the client. This need or requirement will transform into a solution while taking various shapes and forms as it progresses from each stage of Software Development Life Cycle (SDLC). Requirements serve as the foundation of systems or system components. A requirement can be thought of as something that is demanded or obligatory, a property that is essential for the system to perform its desired functions. Requirements vary in intent and in kind of properties. They can be functions, constraints or other elements that must be present to meet the needs of the intended stakeholders. Requirements can be described as a condition or capability a customer needs to solve a problem or achieve an objective. For clarification purposes, a descriptor should always precede requirements with their type, for example, business requirements, user requirements, functional requirements, non-functional requirements etc.
Let’s take a look at various types of requirements:
1. Business Requirements: These are higher level statements of goals, objectives or needs of the enterprise. It describes needs of the organization as a whole, and not groups or stakeholders within it. They are developed through requirements analysis.
2. Functional Requirements: These requirements describe behaviour and information that the solution will manage.
3. Non-functional Requirements: They capture conditions that do not directly relate to the behaviour or functionality of the system, but rather describe environmental conditions under which the solution must remain effective or qualities that the system must have.
Sample Document Templates
Functional Requirement Document (FRD)
Req ID
Req Name
Req Description
Priority
FR0001
Login
User should be able to login to the application to work on the service request
10
FR0002
Account Details
Account details should be displayed on the screen as staff enters account number
10
Business Requirement Document (BRD)
Req ID
Req Name
Req Description
Priority
FR0001
Login
User should be able to login to the application to work on the service request
High
FR0002
Account Details
Account details should be displayed on the screen as staff enters account number
High