Software requirements elicitation is the practice of collecting requirements of a system from users, customers and stockholders.
Problems in requirements elicitation :
1) Problems of scope : System boundary is not well defined, that may lead to unnecessary design information, or necessary design information may left out.
2) Problems of understanding : It occurs in following way –
- Users have incomplete understanding of their needs.
- Analysts have poor knowledge of the problem domain.
- User and analyst (engineer) speak different languages, which may cause improper understanding by analyst of user’s requirements.
- Different users may have conflicting needs of their needs.
- Different users may have different view of their needs.
- Requirements are often uncertainty expressed, e.g. “System must be user friendly”.
3) Problems of volatility : Requirements evolve over time, either because of changing needs or because of changing perceptions by the stakeholders.
Requirements elicitation methods:
1) Dealing with the problem of lack of user input
- Structured and Unstructured Interview with stakeholders
- Template document for keywords
2) Define precise system requirements
- Requirements should be meaningful, precise and realistic
New techniques for requirements elicitation:
1) Training sessions to eliminate “lack of user input” and “poor understanding”
2) Recording keywords
3) Pictorial representation of needs and wants to reduce language barriers
4) Keyword Mapping
5) Operational definition extraction