Guideline: Software Requirements Elicitation Techniques
Relationships
Main Description

Scenario observation: Observe and learn about the entire environment in which the user / customer is inserted, as well as understand what the real problem must be solved. Identify software or business processes, workflows, input and output artifacts when using the system.

Interview with stakeholders: Identify the main problem, the business processes involved and the other needs of the project.

Requirements Workshop: Interview or meeting composed of two or more analysts and a group of stakeholders. As with brainstorming, it is possible for stakeholders to clarify and detail their needs. In addition to features that you would like the system to have.

Table tests: Check the compliance of a system functionality. To perform a table test, just follow the proposed flow of a feature or group of features in the software, considering all possible possibilities, until you reach the end of the flow.

Market research: Learn from those who have done it before. Understand and know what solutions already exist for the problem, but mainly offer an even more efficient and effective solution, with the lowest possible cost and time.

Survey by points of view: Know the problem through each point of view of the different stakeholders.

Ethnography: The analyst inserts himself into the client's organization and observes the day-to-day work, takes notes.

Quiz: This technique is interesting when we have a large amount of people to extract the same information. The questions are addressed in writing to the participants in order to get to know their opinions.

Focus Group: It is a small and informal discussion group (up to 12 people), with the purpose of obtaining in-depth qualitative information.

Analysis Protocol: It is a form of requirements gathering in which stakeholders are analyzed when they are involved in some type of task.

Requirements reuse: Similar to market research. Study and reuse of specifications and glossaries for projects of legacy systems or systems of the same family (with similar business functionalities).

Documentation Study / Content Analysis: Study and reuse of documentation of different natures, to identify requirements to be implemented in the system being modeled. A wide variety of documentation can be analyzed including the company's organizational structure, market standards, laws, user manuals, market research reports, glossary of business terms, etc.

Laddering: It is a method of structured interviews, one-by-one, used to survey the knowledge (what is important and why) of specialists, and which consists in the creation, review and modification of the hierarchy of knowledge of specialists, usually in the form of hierarchical diagrams (eg tree diagram).

Repertory Grid: Method where stakeholders are asked about their attributes and values, referring to a series of entities. With this information a matrix of entity X attribute is assembled.

Prototyping: Used in the initial stage of the project. It helps the stakeholders to develop a strong notion about the application which has not yet been implemented, that through the visualization of it they can identify the real requirements and workflows of the system.

Storyboards:They are interactive sessions that describe a sequence of activities and events for a specific case for a generic process that the system is expected to automate.