Each and every Software project goes through a phase called Requirements Gathering. A successful project begins with a set of discussions on what should be done. It is the major responsibility of IT Business Analyst to gather the Requirements from the clients. Getting the correct requirements from the client can be one of the biggest hurdles in any software project. If Business Analyst gathers correct and complete requirements then the projects will yield richer crops.
For a Business Analyst, it is necessary to pick methods which work best for gathering requirements. Also, an Business Analyst has to decide who participates in this phase.
If Business Analyst invests time in developing clear, concise, correct and measurable set of Requirements, it usually gives the surety of developing Quality software as per client needs. Depending on the project situation there are few techniques; Business Analyst may consider when gathering Requirements from Clients.
- Requirements Gathering Techniques:
There are many techniques available for gathering the requirements and each technique has value in certain scenario. Mostly it becomes necessary for Business Analyst to use multiple techniques to gather complete and correct requirements from clients . Here are few of our favorite requirements gathering techniques.
1) Interviews: These are commonly used and valuable technique. In this technique Business Analyst asks certain questions to clients/stakeholders, regarding their requirements. Analyst should make sure that the interviews cover diverse cross-section of different stakeholders. It’s always beneficial to start with unstructured interviews to gain an understanding of the current work environment and ask interviewee about their jobs and the problems. After unstructured, the next step should be Structured interviews in which Business Analyst uses a prepared set of questions to gather requirements from stakeholders.
2) Questionnaires: This technique is an electronic or paper based approach of collecting needs from stakeholders. Questionnaires are distributed among stakeholders and list all the questions relevant per a particular process. Questionnaires are good techniques to gather requirements from remote locations. These are appropriate method to gather input from huge number of people.
3) Prototyping: Sometime stakeholders don’t have clear understanding about their requirements , in such cases, several different prototypes are constructed with available requirement sets. This helps the clients to understand the system and further requirements. You need to repeat the process until the application meets all the major requirements.
4) Document Analysis: The technique involves Go through and Analysis of all the documents of current system. Business Analyst digs information or requirements from present documents. This also helps to prepare questions for validating the requirement correctness and completeness.
5) Observation: In this technique, Analyst gathers requirements through observing the processes of current system. It helps to understand the entire system and associated requirements. Sometime it is beneficial to participate in the actual work process to understand and capture requirements.
6) Brain storming: This can be done either individually or in groups . The ideas collected can then be reviewed or analyzed and where relevant included within specific requirements. Ideas can come from what users or stakeholders have seen or experienced elsewhere.
7) Reverse engineering : In situations where the software for an existing system has little documentation and it is necessary to understand what the system actually does then this is the technique that can extract implemented requirements from software code.
8)Workshop : These can comprise 6-10 users working together to identify requirements . These tend to be of a defined duration , rather than outcome and may need to be briefly repeated in order to clarify or obtain further details
9)JAD (Joint Application Development ) : The JAD technique is an extended facilitated workshop involving collaboration between stakeholders and system analysts to identify needs or requirements in a concentrated and focused effort.
- Guidelines for Requirement Gathering:
Here are few guidelines that can help the Business Analyst to capture complete, correct requirements:
1) Pick the Interview Groups wisely as a Analyst should consider various factors while group selections like Technical Maturity, Business Process Knowledge, Specialization, Interest, Departments, Organization sections, and Time Availability.
2) Before starting the Requirement Gathering, it’s good to summarize or introduce the project and associated purpose, to avoid misconceptions of teams involved in this phase.
3) Business Analyst should follow up each and every question with a set of clarifying questions to dig it further.
4) Always he should take collaborative approach while gather the requirements.
5) Always Keep the questionnaire descriptive and simple to understand.
6) Initially, ask the Vendors for the list of requirements with associated details as it will help Business Analyst to frame questions.
7) Carryout the Polls, so that users rank their needs and have a place to provide their feedback.