
As requested by Nguyễn Thiên Duyên, this post will mainly focus on the techniques used for requirement elicitation and the corresponding preparation.
You might already know, or be about to learn, that there are various methods used in the BA elicitation process, such as Workshops, Interviews, Q&A sessions, Surveys, Brainstorming, and more. Choosing the right method can depend on the following factors:
1. The Current State of the Project
For new projects, workshops are a useful technique to gather a comprehensive overview of the project or system from all stakeholders. This method requires the participation and interaction of multiple stakeholders on a specific topic (in this case, project requirements or objectives). The outcomes of a workshop can include various aspects, like a project overview, roles and responsibilities of stakeholders, client desires or problems, and so on.
For ongoing outsourcing projects (software development): Interviews are more effective than workshops because this phase focuses on exploring specific areas of the business rather than the overall picture. Interviews focus on direct communication with business users of each business domain (those who will directly use the software), making it easier to explore specific business processes. For example, if you're working on an accounting module, you need to interview the accounting department staff to understand their processes clearly.
For in-house product projects: There are two scenarios: either you get requirements directly from the Product Owner/Manager, or you have to define requirements based on market research (information from the R&D team, project team, or your own research).
In the case of gathering requirements from the PO/PM, it's straightforward; Interviews and Q&A sessions are quite effective.
If you have to do the research yourself, you can also use interviews (though this is more challenging and requires numerous interviews to truly understand user insights). Alternatively, you can use surveys to gather additional information/requirements. Both methods can be used whether your clients are businesses or the general public.
2. The Objective of Requirement Elicitation
Interviews: I won't dwell on this too much. Use this to understand business, users, and so on.
Workshops: Use this to discuss the overview, the big picture, and so on.
Brainstorming: Mostly used internally within the development team to find solutions. Brainstorming aims for ideas and creativity.
Research, Q&A: These two methods can be used anytime, anywhere, and in any situation, especially research. Don't hesitate to use Google or even ChatGPT. If you don't know something, you have to learn and search to find the answer.
Surveys: Use this when you need data and to synthesize information.
As you can see from what I've mentioned above, interviews are a frequently used technique. In my experience, it's also the most common. Scheduling a meeting with a client is essentially an interview. I've discussed how to prepare for such meetings in this post.