
What is requirement elicitation?
Requirement elicitation is term used for collection and discovery of requirements from the variety of stakeholders who are involved in the development of the particular software application.
Stakeholders may include customers, business people also technical people who all contribute to the Development of software.
Requirements are of utmost importance from any software application development perspective.
If at any point during application development if any requirement fails to get clarity, then that can cause many major effects on the application.
Business analyst plays major role as a mediator between the all types of stakeholders in terms of understanding requirements.
Business analyst also plays major role in a communication which should be carried out in terms of requirements throughout the project.
Types of elicitation techniques
When it comes to requirement elicitation techniques then there are several techniques come into picture. I will be listing details for few of them.
- Brainstorming – In this technique people gather and discuss and come up with the ideas in terms of requirements understanding.
- Document analysis – Understanding of document and analyzing the requirements from it and understanding requirements.
- Focus groups – Discussion in groups for understanding requirements.
- Interviews – Group of stakeholders will discuss and come up with understanding of requirements.
- Observations – This is a process of observing a stakeholder in terms of business process and understanding the requirements.
- Prototyping – Creation of the application screens using prototyping tools which would help understand stakeholders about the visual representation of the software application which is under development or yet to start development.
- Requirement Workshop – In this method of requirement elicitation formal discussion is held for understanding of requirements.
Survey – Survey is a requirement elicitation method for collecting feedback about the requirements in terms of questionnaire. Survey is completed by stakeholders and accordingly requirements are collected.
Commonly used elicitation techniques
Out of the above list of requirement elicitation techniques commonly used techniques are as below:
Brainstorming
Brainstorming technique is commonly used because as a business analyst main goal is to understand requirements and collect the information regarding requirements. While working in organization its easier for the brainstorming session to conduct within the teams in order to gather the ideas regarding the requirements about the project. Brainstorming is mainly a group activity.
Still there are some things that can make a brainstorming session to fail which should be noted:
- Lacking focus during discussions.
- Discussion irrelevant with the requirements.
- Wrong group of people involved during discussion.
Interviews
Interview technique is also commonly used in case of requirement elicitation because in this technique because interviews are very efficient way to collect requirements as lots of questions are asked to the stakeholders in terms of interview and hence, they can come up with lot of ideas.
Below are the cons of Interview technique:
- Interviews is time consuming process.
- Many a times financial investment needs to be done while conducting interviews with the stakeholders located at different geographical locations.
Prototyping
Prototyping is used in various organizations as a common requirement elicitation technique.
For prototyping there are variety of tools available in the market and from prototyping technique visual representation of the application can be created such as predicted UI elements, design for variety of mobile applications as well as websites.
Also, wireframing technique along with prototyping is commonly used for mapping the requirements into visual representation in terms of rough sketch.
There are variety of prototyping tools available in the market like Miro, Invision, Adobe XD and many more.
Cons of prototyping would be:
- Time consuming process.
- Lack of understanding of tools.