What is Requirement Elicitation
The process to gather the software requirement from customers and analyze those requirements to document them is called requirement engineering or requirement elicitation. If the feasibility report is positive from all aspects, then we start the requirement elicitation process in this process we start requirement engineering we use different techniques to get requirements about the project. We discuss the feature and functionalities of the system and identifies the user and stakeholders.
Example
Let us consider you want to gather the requirement for (Law Firm Android App) from your client and after completing the requirement elicitation process you analyze them and finely you write the software requirement specification document of the project is called Requirement Engineering process.
Process of Requirement Elicitation
Requirement Gathering
The developer discusses with the client and end-user to know about features and functionalities of the system and wants to know the customer expectations for the software product.
Organizing Requirement
After the requirement engineering process, the developer prioritizes and arranges the requirement in order of High middle, and low.
Negotiations & Discussion
If the requirements are ambiguous or there are some conflicts in the requirement of various stakeholders, the developer negotiated and discussed with stakeholders. These requirements come from different stakeholders so to remove the ambiguity and conflicts the developers and stakeholders discussed with each other’s and compromised reasonably.
Documentation
All the informal, formal functional non-functional requirements are written in the formal document called as Software Requirement Specification (SRS) Document.
Importance of Requirement Elicitation
Software requirement elicitation is a very important phase of the software development process or simply Software development life cycle (SDLC). This phase is used to translate the unclear and incomplete idea of the customer into complete precise and formal specification this document is very must important and act as a bridge between the Customer, User, and Developers. Therefore, the importance of software requirement engineering is very much important for the development of effective and efficient software products.
- Software requirement elicitation is the basis of every software product.
- Software requirement elicitation identifies the Functional and Non-Functional Requirements of the system.
- Software requirement elicitation identifies the business requirement of the system.
Level of Requirement
- Business Requirements
- Functional Requirements
- Non-Functional Requirements
Business Requirements
Business Requirements are those types of requirements that describe why an organization implemented the system these requirements identify the business logic for the system and describes the high-level view of the system. Business requirements describe the need and expectations of the system.
Example
- To reduce the number of staff members by some limit/percentage (let's say 30%.
- To reduce the paper handwork of the employees of the organization.
User Requirement
User requirement are those type of requirement that describes the task of the user that the user must be performed with the system
Example
- Information about courses of the university.
- Information about tickets of the airline.
Functional Requirement
Functional Requirements are those requirements that describe what the developer must be implemented to enable the user to achieve the desired task we identify the features and functionalities of the targeted system functional requirements are very important for the system.
Example
- The user selects the Airline through the kiosk.
- User Select the No of seats.
- Users select the source and destination for travel.
Reference