Any Business in the modern era needs to improve on a consistent basis to protect its foot hold in today’s Cut throat market. Every Business firm, maybe its Software, Banking, Retail , Automobile or Government etc., constantly are on the look out for new opportunities to improve their companies share value. So the look out for these new opportunities self realized by the client or through Third Party stakeholders will make the company realize the need for a new Project or their product improvement. Thus, comes the need for new Requirement.
A Requirement according to IIBA (International Institute of Business Analysis) is defined as Condition or capability of a Stakeholder for problem solving or achieving the higher objective put forth by the client.
There are mainly 4 types of Requirements in general.
1) Business Requirements: These are the High level requirements put forth by the Stakeholders regarding what they want our software should be doing.
For example , According to them the High level requirement might be Software For Retail business which should include option for accepting payments. These sort of the Business requirements can be found in a document known as BRD(Business Requirement Document)
2) Stakeholder Requirements: These are a more detailed version of the Business Requirements. Stakeholder requirements fall in the umbrella of Business Requirements but do not negate them.
For example , According to the Stakeholder (Billing desk executive who collects the bills/money) they collect money via Cash, card, or eWallet. So our software must have the ability to accept the bills in all three forms. Stakeholder requirements are mostly found in BRD but sometimes they can be found in URD (User Requirement Document) as well.
3) Solution Requirements: The set of requirements which allow the Stakeholder to fulfill the Business and stakeholder requirements are called as solution requirements. These can be found in SRS (System/Software requirement Specification)
Solution requirements are further sub categorized into
(i) Functional Requirements: The navigation of screens through which the Functionality is achieved is known as a Functional Requirement. These requirements are found in a document called Functional Spec(FS) or Functional Requirement Specification(FRS)
(ii) Non Functional Requirements: Integration of the external peripherals of the system along with Quality requirements are known as Non Functional Requirements. External peripherals are Printer, Scanner etc and Quality requirements are Performance, Supportability, Reliability etc. This Can be found in a Document knows as SSD (Supplementary Support Document).
Functional + Non Functional Requirements together combine to form the Solution Requirement.
4) Transition Requirements: these are 1 Time requirements like Installations, Deployments and trainings given when we are transitioning from an older version of the software to a newer version. These requirements can be found in a Document called ADD(Application Design Document)
A Need is nothing but the High level representation of Requirements needed for the client. Needs are segregated into lower level Requirements.
For example,
Need: Come up with a Billing Software for a Retail firm.
Requirements: Login details for the User, Cash/Credit/wallet options for Billing, Printing the receipt option etc.
It is very important to understand the need of the client to give them the optimal solution. If Needs are not understood properly, it leads to wrong requirement elicitation and can lead to the project not being a success.