Requirements Elicitation Techniques
Requirements are inevitable in a software development project. As a business analyst, you’re solely responsible for collecting requirements from stakeholders and communicating the same to the development team.
Having said that, you’ll have to first obtain better clarity on the requirements, only then you can transfer. For that purpose, there are numerous requirements elicitation techniques that can be implemented to extract the required details. We at Skillcubator have rounded off a few effective techniques for you to elicit the requirements from your stakeholders, subject-matter experts, and end-users.
1. What is Requirements Elicitation?
In software engineering, ‘Requirements Elicitation’ is the practice of extracting/drawing-out and discovering the requirements of a system from users, customers, and other stakeholders. The practice is also sometimes referred to as “requirement gathering.
The requirements elicitation is significant but at the same time challenging as well. As stakeholders, subject-matter experts, and end-users might not be technically sound, you may have to encounter these challenges,
- No in-depth knowledge of the product requirements
- Suggestions on features specifications without primary purpose
- Projects with multiple stakeholders – Contradictions in requirements
- Volatility in the requirement preferences
- Documents accessibility issues
- Technical term misinterpretations
With the help of popular requirements elicitation techniques, you can meticulously garner the clients’ requirements without being caught hold of these challenges.
2. Popular Requirements Elicitation Techniques
The primary success of a software project merely depends on your clarity in requirements as they can create huge impacts on the functionality and usability of the end product.
Interviews are an interactive requirements elicitation technique conducted by the business analyst to an individual or group of stakeholders. In this session, the observer or BA and the software development team will prepare a list of questions to extract the thoughts of the stakeholder about the software.
One-on-one interviews are a commonly implemented practice. And, it’s recommended to ask closed-ended questions rather than open-ended, where you don’t get detailed replies other than ‘yes’ or ‘no’. Since this is an interactive session, in case if you’ve doubts, you can spontaneously interrupt and get clarifications.
|Examples of closed-ended questions||Examples of open-ended questions|
| 1. Do you currently use any other software to accomplish the objective?|
2. Are you encountering issues with your existing product?
|1. Can you elaborate on your daily workflow? |
2. What specifications do you look forward in the software?
Few Tips for a Healthy Interview Session
- Communicate the interview purpose to the stakeholder
- Be ready with the questions even before the session
- Timeline and location should be informed
- Make clear notes of the information during the session
- Double check the details with the stakeholder before the closure
2. Observation/Job Shadowing
The observation also known as ‘job shadowing’ is where you, as a business analyst, conduct tasks and collect requirements just by examining the activities of end-users, stakeholders, or subject-matter experts in their work environment. The business analyst is the observer and the others are the participants in the activities.
Observation can be done in two different methods.
Active Observation – In this type, the business analyst interacts with the end-users by asking questions, clarifying doubts, and placing suggestions. This type of observation is particularly for eliciting requirements in critical projects where clients’ requirements are critical.
Passive Observation – In this type, there is no engagement similar to the active observation technique. Here, the observer, i.e the business analyst will examine the activities of end-users in their work environment and record the observations through notes, videos, audio, and so on. These observations are carried out from a distance without interrupting the usual operations. This technique can be used when you’ll need to keenly closely observe the natural behaviors of stakeholders to avoid the hassles.
3. Requirement Workshops
Requirement workshops are the requirements elicitation technique where you collaborate and discuss with your end-users, stakeholders, project managers, and members. This is when you brainstorm, identify the project scope, define the requirements, and prioritize. Workshop sessions seem to be a helpful technique that boosts mutual understanding and makes everyone involved in the project to be on the same page.
Few Tips for Conducting a Successful Workshop
- Prepare the agenda of the workshop with its purpose, scope, and objectives
- Assign the roles – facilitator, scribe, and timekeeper
- Invite stakeholders, subject-matter experts, and project managers from whom you want to extract the information
- Document the requirements obtained in the discussions
- Share the documents with the end-users and ensure to follow-up for further actions
When it said a software development project, there will be a big team involving stakeholders, subject-matter experts, SMEs, and more. Eliciting the essential details from all these individuals might be quite hard. A proper questionnaire can ease your job.
It’s a less time-consuming technique to obtain ‘what’s required’ data from multiple individuals. The questionnaire will have a direct sync with the respondent’s answers, so you must be careful while designing them. After you prepare the questions, you’ll have to distribute them to the respective participants either in hard copies or electronic forms.
|Open-ended Questions||Closed-ended Questions|
|When you’re looking for deeper information, you can frame open-ended questions to the respondents. You’ll get descriptive-type responses. ||These questions will have predefined answers. The respondents have to just choose their answers from the list. If a simple ‘yes or no’ will suffice your doubt, then you can frame such closed-ended questions.|
Once the survey is over, you’ll have to analyze the results and find the common patterns and use them as insights for your software development.
Prototyping is a refining technique in requirements elicitation. After the initial requirements gathering gets over, the prototyping technique is applied in the final phase to refine the stakeholder’s requirements.
Once these wireframe prototypes are designed, you share them with the stakeholders and look up to their feedback. Designing the prototype involves collaboration between business analysts, designers, developers, and stakeholders.
Prototypes help the development team with a clear understanding of the vague requirements. Since prototypes are the model of the end product, it actually helps end-users to feel how will their product look in real-time. You can also concrete different prototype design options for your stakeholders to choose the best one!
6. Focus Groups
Focus group is a requirements elicitation technique involving the collaboration of stakeholders, subject matter experts, and business analysts. The primary concept of the focus group is, to make a group of subject-matter experts collaborate, ask them questions, and elicit information.
The entire session is led by a facilitator/moderator, serving as a bridge between the business analysts and stakeholders. This can be a perfect technique when you’re looking for deeper insights.
Types of Questions
|Primary Questions – Initiates the session |
We are here to discuss the user-experience feature of the software. What are your thoughts here?
|Probe Questions – In-depth discussion|
How did you come to know about this feature?
|Follow-up Questions – Listening to their opinions|
Would you like to add any more details about this feature?
|Exit Questions – Revisit the above questions|
Have we covered everything? Is there anything else for us to discuss?
Brainstorming is an elicitation technique in which you’ll allow stakeholders/end-clients to discuss a particular subject. During the session, you’ll get a repository of ideas for a particular topic and pick the best out of them.
When your requirements are vague, complicated, and involve multiple stakeholders & partners, you can implement this brainstorming technique. During a brainstorming session, the participants are encouraged to share their ideas. All these will be recorded and later assessed based on feasibility, relevance, and importance.
The output of the brainstorming sessions can be used to create a list of potential requirements that can be prioritized and refined in subsequent stages of the requirements elicitation process.
Brainstorming can be conducted in various formats, such as in-person or virtual meetings, and can involve participants from various backgrounds and roles, such as customers, end-users, developers, and subject matter experts.
8. Document Analysis
Document analysis is an effective technique for gathering requirements as it helps in understanding your stakeholder workflow process. Documents such as user manuals, software vendor manuals, and process documents related to the current system can provide valuable inputs for developing new system requirements.
First, you’ll need to evaluate the relevance of existing business documents and system information. Thereafter, you’ve to analyze the documents to identify important details. Next, you’ve to review the identified details with the help of SMEs.
This technique is useful when the plan is to update an existing system for migration projects.
This technique can be primarily considered to identify the gaps in the system i.e. to compare the As-Is process with the To-Be process. This analysis also helps when the person who has prepared the existing documentation is no longer present in the system.
9. Product Backlog Grooming
Product Backlog Grooming, also known as Backlog Refinement, is a requirements elicitation technique that is commonly used in Agile software development. It is a continuous process of reviewing, refining, and prioritizing the items in the product backlog to ensure that the backlog is in a state that is ready for sprint planning.
The product backlog is a prioritized list of features, enhancements, and bug fixes that are required for the development of a software product. You work with the product owner and the development team to review and update the product backlogs regularly.
Steps involved in product backlog grooming
- Review the product backlog
- Update and refine the backlog items
- Prioritize the backlog items
- Estimate the efforts required for sprint planning
Product Backlog Grooming is an important technique because it helps to ensure that the product backlog is always up-to-date, well-defined, and prioritized.
10. Joint Application Development (JAD)
Joint Application Development (JAD) is a requirements elicitation technique that brings together stakeholders, end-users, and SMEs to collaboratively identify and define system requirements.
It is a structured workshop-based approach that aims to improve the quality and accuracy of requirements by involving key stakeholders in the process. The business analyst will act as the JAD facilitator.
Steps involved in the JAD process
- The JAD facilitator works with stakeholders to identify the purpose, goals, and objectives of the JAD session and creates an agenda
- The facilitator guides the session to ensure that all relevant issues are covered and that participants stay focused on the objectives of the session
- The JAD facilitator carries out the documentation works based on the requirements specification
- The documents are then reviewed and validated by stakeholders to ensure that it accurately reflects their needs and expectations
JAD is an effective requirement elicitation technique because it brings together stakeholders and subject matter experts to collaborate and develop a shared understanding of the system requirements. This helps to improve the quality and accuracy of the requirements.
Have You Chosen Your Requirements Elicitation Technique for Your Software Project?
Requirements elicitation techniques bestow showers of blessings such as
- Better understanding of the issues and the purpose
- Minimal confusion and reduced errors in the final product
- Project’s timeline, scope, and budget can be determined
- Saving multiple productive hours and quick time-to-market
- Implementation of appropriate technologies
In this blog, we’ve not uncovered all the requirements elicitation techniques available in the industry. We’ve merely put together the widely-used and effective techniques exclusively. In light of this, not all elicitation techniques work optimally for all projects.
Based on the nature of the project, organizational structure, and other factors, appropriate techniques can be opted. If all these techniques seem overwhelming to you, no anticipations, our Full Stack Analyst with PSM-I and PSPO-I training program has got all effective requirements elicitation techniques covered. Sign-up to our course program today and lay up the first stone of your software development project’s success!