This article will be useful to both analysts and managers involved in the collection and analysis of requirements. It describes the main methods of collecting requirements, as well as their pros and cons. Perhaps you have already applied something in practice, but you probably did not know about something. In general, this article is for all those who are already engaged in business analysis or are just planning to join the ranks of analysts.
Collecting requirements is one of the most important steps in the process of creating any information system, be it a desktop, web or mobile application, or just a refinement of an existing solution. Before starting to collect requirements, it is necessary to identify all stakeholders (stakeholders) who will use the system. The more accurate this list is, the more complete the requirements will be. So, for a start, let's consider who these stakeholders are.
Stakeholders can be any individuals and / or organizations that are actively involved in our project, and whose interests may be affected not only in the process of creating the system, but also immediately upon completion of the project itself. They can be managers, department heads, directors, any employees of the organization who will somehow interact with the ready-made solution, and whose requirements (wishes, ideas, needs, problems) will be collected.
There are many different requirements collection techniques that will help you better understand what the customer wants.
Consider the main ones in a little more detail:
')
Questioning

This method implies the preparation of a questionnaire (questionnaire, brief), which may contain open (require the respondent to formulate his answer) and closed (require the respondent to choose the answer from the options) questions.
Questioning is used to confirm or detail previously known requirements, select parameters for decisions.
The most well-known example of a survey can be the “Brief on the development of a site” - a questionnaire containing a list of basic requirements and information about a future site.
Benefits :
- High speed results.
- Relatively low material costs.
Disadvantages :
- This method is not suitable for detecting implicit requirements.
- When compiling the questionnaire is physically impossible to take into account all the necessary questions.
Interview

This method is known to many, a kind of heart-to-heart conversation with an interested person, one-on-one.
It is necessary to ask open questions for information and closed in order to confirm or deny specific variants of the requirements.
This method is used mainly to obtain information on a particular topic and / or to clarify requirements.
This method may seem easy enough for many, but it is not. Making a good interview is hard enough. You must respond flexibly to the interviewee’s reaction and, if necessary, change the order of the questions prepared or their wording. Do not forget to turn on the recorder during an interview or keep notes.
Of the benefits:- Ability to ask questions in any order.
- Ability to use auxiliary material.
- An analysis of the non-verbal reaction of the person being surveyed will allow us to make an additional conclusion about the reliability of his answers.
Of the minuses:- The interview takes a lot of time and effort.
- An additional challenge is getting the same answers from the interviewees.
Autowrite

This method involves the work with records, letters (emails), as well as with any other document, the author of which is the Customer or the end user (ie, the stakeholder).
In reality, this may be a document and a sequence of actions, dictated by a dictaphone, or the most usual napkin, on which the customer sketched his ideas / problems / desires, which need to be turned into full-fledged requirements, coordinated and transferred to development.
An example of such a method is the work with a concept or vision of a project (the Customer himself likes to call it “TK”), which he sent to you at the time of the beginning of work on analytics.
Advantage:- Helps to better understand complex procedures or processes.
Disadvantage:- This method strongly depends on the Customer’s experience, as well as on his ability to formulate and express his thoughts.
Examining existing documentation

This methodology can be used if there is documentation in the organization that can help in determining the needs of the Customer. Examples of documentation include: regulations,
process descriptions, organization structure, product specifications, various procedures, standards and instructions, document templates, etc.
The identified requirements are the basis for further analysis and should be detailed.
This methodology is applicable, for example, in the automation of established business processes that have been established in an organization.
A plus:Minus:- This method is not applicable if only basic documents are available in the company (or if they are completely absent) or if the Customer’s company does not keep up-to-date documentation.
Specification reuse

Specifications can be reused if there are one or more similar projects already completed.
The terms of reference prepared in a previous project can be used for another project in order to shorten the time it takes to collect, analyze and develop requirements, which will allow for faster development.
For example, TK for online stores are similar to each other and contain the same requirements.
In most cases, only a part of the documentation is relevant for a new project, so it will be necessary to thoroughly check the requirements for compliance with the current goals and objectives of the Customer.
Advantage:- Reduced time to develop documentation.
Disadvantages:- The high cost of the first project.
- Excessive specification of requirements may lead to their costly changes in the future.
Customer representative in a developer company

One of the most effective methods of collecting requirements, since it allows you to receive from the Customer’s representative a timely assessment of progress, correct implementation, and receive feedback (feedback) and additional information for adjusting and developing requirements in a short time.
The method is often used to collect and manage requirements for iterative development, allows you to quickly collect, coordinate and refine requirements.
In addition, we can say that having a customer representative in a developer’s company is one of the main rules of Agile.
Advantage:- Fast receipt of feedback and information from the customer.
Disadvantages:- High enough price for the customer.
- Time spent on employee adaptation.
Work "in the field"

The work “in the field” consists of observing the activities and processes of future users of the system, and in determining the requirements based on this observation. In simpler terms, it is monitoring how users work, and documenting the process, tasks and results of their activities.
The method allows to avoid problems associated with the difficulties of stakeholders in describing and expressing their needs. In some cases, the observation process may be accompanied by “interviewing” users to clarify the features and details of their work and tasks. In the process of monitoring, you can also identify ways to optimize the customer’s business processes.
Benefits:- Allows you to visually see the problem and develop the most optimal solution to it.
- It helps to most accurately collect the requirements, watching the work of employees.
Disadvantages:- During the monitoring process, some alternative business process scenarios may be missed.
- It is difficult to apply in secret enterprises or hazardous (harmful) industries.
Training

Training is a process in which the Customer or any other person from the Customer’s organization, who knows the process, teaches the analyst on the principle of a teacher-student.
The method is useful when the processes and activities of the Customer’s employees are difficult to describe using other methods or the Customer cannot provide an adequate description of the requirements.
Training allows you to better understand complex business processes, as well as overcome the difficulties associated with the lack of abstract thinking and self-expression among future users of the system.
Advantage:- Allows you to understand the complex business process that allows you to offer the best solution.
Disadvantages:- High cost and durability.
- The method is not applicable to hazardous (harmful) industries.
Brainstorm

Brainstorming is the most frequently used method of obtaining requirements that are related to new or poorly studied areas of the Customer’s organization or system functions.
It allows you to collect a lot of ideas from various stakeholders (stakeholders) in the shortest possible time and almost free of charge.
During a brainstorming session, the participants “cover up” any ideas relating to solving this problem.
Using this technique, you can work out several different solutions to a given problem, as well as resolve conflicts of requirements.
Pros:- It allows you to generate many (including non-standard) solutions, and also allows participants to develop each other's ideas.
Minuses:- Participants in brainstorming should be motivated for ideas.
- Hard to apply in distributed teams.
Meeting

Meeting - a meeting focused on the discussion of specific issues that were identified and voiced to participants in advance.
At such meetings, people are drawn who hold different points of view on the current problem and can help describe the requirements based on views from different perspectives. During the meeting, the general list of requirements is clarified, hidden requirements are identified and requirements conflicts are resolved.
Meetings are one of the key practices in Agile, because they involve all parties interested in developing the project and solving the problem.
Pros:- Allows you to develop and detail requirements, identify priorities.
Disadvantages:- Difficulties in organizing a meeting, if the team is geographically divided, difficulties may arise with the presence of all the necessary people at the meeting.
- Consensus will not necessarily be reached.
Use case

Use cases or use cases make it possible to collect and form functional requirements on behalf of the participants.
Use-case diagrams define the boundaries of the solution and show the connections with external systems and participants.
The method allows to detail the requirements from the point of view of users, and also helps to clarify and systematize the functionality that needs to be implemented.
Pros:- Allows you to work out all options for the development of the scenario (the main and alternative scenarios)
Minuses:- The method is not applicable to the collection of non-functional requirements.
Epilogue
Combining methods allows to increase the efficiency of requirements collection, as well as to avoid their “loss”.
When collecting requirements, it is necessary to remember that not only functional requirements are important (WHAT the system does), but also non-functional ones (HOW the system does it).
Carefully collected requirements minimize project risks, since allow you to form a clear and understandable basis for the development of the system.
The information for this article is taken from the
REQB Certified Professional for Requirements Engineering training manual
(Basic level) .