Means to bring out, to evoke, to call forth
Requirements Engineering
In this sense, the purpose of elicitation is to get information about:
- Current work and current problems
- The requirements of the system
- The environment in which the system will operate
So that we can:
- Identify relevant requirement sources
- Elicit existing requirements from the identified sources
- Develop new and innovative requirements
Activities for an elicitation session
- Decide on elicitation scope and agenda
- Prepare resources
- Prepare questions and straw man models
- Perform elicitation session
- Organize and share notes
- Document open issues
Techniques
- Interview
- Ask the users of a system what they need
- Stay in scope
- Workshop
- Involves stakeholder collaboration in defining requirements
- Focus Groups
- A representative group of users who generate ideas on a focused product’s functional and quality requirements
- Must be interactive and helps explore users preferences and needs
- These are less structured than workshops
- Observations
- Observe a user doing a task and take notes
- Users have a hard time being precise describing what they require
- Time consuming
- Questionnaires
- Surveys a large group of users to understand their needs
- Inexpensive (good for large populations)
- Analyzed results of questionnaires can be used as input for other elicitation techniques
- Preparing well written questions is a challenge
- System interface analysis
- Reveals functional requirements regarding the exchange of data and services
- For each system that interfaces with yours, identify functionality in other systems which could impact the functionality of the original system
- User interface analysis
- Study existing systems to discover user and functional requirements
- Use to get up to speed on how an existing system works
- Instead of just asking users how they interact with a system, get an initial understanding yourself
- Document analysis
- Helpful docs include an SRS, business processes, user manuals
User Stories
This describes how a user may use your system. This includes goals, context and constraints, a success criteria and here, you discover requirements.
How do you know your done elicitation?
- Cant think of more user stories
- No more functional requirements arise
- Users are repeating issues
- New features and requirements are all out of scope
- Questions become fewer
Related Concepts