Requirement Gathering Techniques
Requirement gathering is a practice of obtaining the requirement of the systems from users, customers and other stake holders.In Software world it is difficult to build the solution if you don’t know the requirements. The “elicitation” step is where the requirements are first gathered from Clients.There are many techniques are available for gathering requirements.Each has value in certain circumstances, and in many cases, you need multiple techniques to gain a complete picture from a diverse set of clients and stakeholders.
I will not say “best technique” to be followed for requirement gathering. I believe that the term “contextual technique” makes far more sense because what is a “best techniques” in some situations proves
to be a “worst techniques” in others.Here is a look at some of the approaches you can take for Requirement gathering.
1. One-on-one interviews :
The most common technique for gathering requirements is to sit down with the clients and ask them what they need. The discussion should be planned out ahead of time based on the type of requirements looking for. There are many good ways to plan the interview, but generally want to ask open-ended questions to get the interviewee to start talking and then ask probing questions to uncover requirements.
2. Group interviews :
Group interviews are similar to the one-on-one interview, except that more than one person is being interviewed ﾢﾾﾀﾾﾔ usually two to four. These interviews work well when everyone is at the same level or has the same role. Group interviews require more preparation and more formality to get the information you want from all the participants. A richer set of requirements can be uncovered in a shorter period of time if the group keep focused.
3. Facilitated sessions :
In a facilitated session, A larger group (five or more) together for a common purpose. In this case, A set of common requirements are gathered from the group in a faster manner than each of them should be interviewed separately.
4. Joint application development (JAD) :
JAD sessions are similar to general facilitated sessions. However, the group typically stays in the session until the session objectives are completed. For a requirements JAD session, the participants stay in session until a complete set of requirements is documented and agreed to.
5. Questionnaires :
Questionnaires are much more informal, and they are good tools to gather requirements from stakeholders in remote locations or those who will have only minor input into the overall requirements. Questionnaires can also be used when input should be gathered from dozens, hundreds, or thousands of people.
6. Prototyping :
Prototyping is a relatively modern technique for gathering requirements. In this approach, preliminary requirements are gathered and used to build an initial version of the solution as a prototype. Then this should be shown to the client, who then gives additional requirements. Again the application is changed and cycle around with the client again. This repetitive process continues until the product meets the critical mass of business needs or for an agreed number of iterations.
7. Use cases :
Use cases are basically stories that describe how discrete processes work. The stories include people (actors) and describe how the solution works from a user perspective. Use cases may be easier for the users to articulate, although the use cases may need to be distilled later into the more specific detailed requirements.
8. Following people around :
This technique is especially helpful when gathering information on current processes. For instance, that some people have their work routine down to such a habit that they have a hard time explaining what they do or why. The developer need to watch them perform their job before the developer can understand the entire picture. In some cases, the developer might also want to participate in the actual work process to get a hands-on feel for how the business function works today.
9. Brainstorming :
On some projects, the requirements are not uncovered as much as they are discovered. In other words, the solution is brand new and needs to be created as a set of ideas that people can agree to. In this type of project, simple brainstorming may be the starting point. The appropriate subject matter experts get into a room and start creatively brainstorming what the solution might look like. After all the ideas are generated, the participants prioritize the ones they think are the best for this solution. The resulting consensus of best ideas is used for the initial requirements.