Requirements gathering is the process of discovering business and end-user needs so as to identify the capabilities a potential software solution (or component of that solution) must have. In many cases, end users and stakeholders can be unaware of some of their requirements and/or unable to effectively communicate their needs to the project team. As a result, IT must employ techniques that can bring requirements to the surface (i.e. elicit them) and don't rely merely on self-reflection and communication. There are a variety of elicitation techniques that can reveal requirements both to end users and to observers.
Requirements Elicitation Techniques
Elicitation methods can be used alone or in combination. Ideally, more than one elicitation technique should be used to take advantage of differences in each method. Below is a comprehensive list of requirements techniques, many of which are outlined in the International Institute of Business Analysis (IIBA) Body of Knowledge (BABOK).