Elicitation of Requirements
Requirements elicitation is a skill that requires both, strong technical skills in addition to strong non-technical (soft skills). Bridging between business problems and its technological solution involves both, a lot of interaction with the stakeholders and strength in understanding the technology (software). Therefore, the requirement analyst should have sufficient software knowledge to be able to gather the technical constraints in addition to being a great communicator.
To clarify more the important skills for a good requirement analyst who can elicit requirements:
A requirement analyst is needed to conduct elicitation. Experience in understanding the problem domains of different software project and identifying the critical system stakeholders are important traits. Prerequisites for this skill include excellent communication skills to interact with the stakeholders for interviews, run background studies for the system-to-be, and gather useful data through questionnaires, flowcharts and surveys. A good requirement analyst also must have a strong eye for scope to help the stakeholders narrow down requirements toward a set of important requirements that can be implemented.
Requirements elicitation is a skill that has a big role in determining the level of success of a certain project, therefore it plays a big role in a project's fate. With the endless and changing requests of stakeholders, the requirement analyst working in the elicitation plays an important part in this role. This skill was chosen because it extracts useful requirements and helps software engineers select the correct elicitation techniques for identifying the right stakeholders and paves the way towards the right interaction. Organizational and technical constraints for the system-to-be is also clarified in the elicitation phase.
With all of this in place, the elicitation done helps to minimize errors or missing requirements, after the project's delivery, that is usually costing hundred times more to fix. Since there will be continuous discussions with the stakeholders, alternative feasible solutions are always suggested to satisfy the completion of the project within the given timeframe meeting the delivery deadline. For example, a requirement engineer would explain what is meant by a “wicked problem”, by providing examples of such problems (in one of the meetings with stakeholders) to avoid having any.The Requirement Engineer and Technical requirement analyst play an essential role in requirement engineering and specifically in requirements elicitation. They are responsible in eliciting the needed requirements from main users and other stakeholders. Since the RE/BA are responsible in capturing the intial details from the customer/stakeholders, they have a responsibility to minimze the cognitive distance with the software PM/development team.
Selecting One artifact-driven elicitation technique that could be used would be Card sorts and Repository grids. A hypothetical example would be having an open dialogue to discuss a project similar to a streaming website, such as "YouTube". The scenario provided is based on the Brainstorming and User Story technique. In this scenario, "the card" was used to note down these requirements.
The round of discussions for gathering requirements would be as follows (written down on the Cards):
Research papers and academic books nurture the idea of elicitation. Currently, there is a focus on the types of interviews being done, and whether they are structured interviews or unstructured, to check which collects more information compared to the other. Different research papers are conducting surveys and evaluating some techniques for eliciting requirements of computer-based systems, paying particular attention to how they deal with social issues.
Elicitation techniques have complementary strengths and limitations. There are artifact-driven and stakeholder-driven elicitation techniques. Elicitation is being practiced on small and large complex projects.
The following provides a list of techniques used for elicitation:
A 7 minute video explaining what is Artifcat-Driven elicitiation:
To compare the various elicitation techniques and showing the strengths and weaknesses of each, please refer to the below table:
| Name of technique | Strengths | Weaknesses |
|---|---|---|
| Brainstorming and User Story | Speed of idea collection | Sometimes, participants are not creative and prepared |
| Document Analysis | Reuse of existing material | Finding information could be difficult |
| Focus Group | Saves time and cost by eliciting many requirements | Shortage of solid/numerical data |
| Interviews | Direct way of questioning the stakeholders | The interviewer must be well-prepared and experienced in software projects to get the needed answers |
| Observation | Captures and elicits information not found in the documentation | Due to the limited period, abnormal observations may be missed |
| Prototyping | Minimizes the adherence distance | Limited to a certain scale due to cost andn budget factors |
| Survey/Questionnaire | Yields a large set of results that could be quantitative | Could open the door to some unanswered questions due to missing information |
6/10
The best way to assess and self-evaluate is to measure what one knows versus what one does not know. My knowledge in this area is limited to the readings I have done, in addition to eliciting requirements for projects done in Academia, however not in practical real world projects. This is the main reason why I would give myself this rating, as I feel I am lacking adequate industry experience, and as a result, I may have missed touching some corners. In addition to that, I cannot judge how useful a Group Brainstorming session with multiple stakeholder is, compared with a one-on-one interview with a stakeholder, and which is more effective in terms of communication channel and productivity. This rating is based on my understanding, after acknowledging and realizing how important it is to elicite. The input it provides is massive to steer a project in the right path. In addition to that, I think there could be some issues in recalling all of the points being discussed after every successive interview/meeting. Also, there should be equal attention on all details being discussed (so there is nothing missed). Elicitation requirements sheds the light and emphasizes how important communication and agreement are for the success of a project.
Please find below the list of references used in writing this web page: