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