Not logged in. Login

Requirements Elicitation: User Stories

Requirements elicitation is the process of working with users or other stakeholders to determine what are a proposed software system is to do. In this stage, it is important that requirements elicitation be carried out in ways that are understandable both by software engineers and by the customers. One approach is to use a structured natural language form of expression called a user story.

User Stories

In software systems analysis and development, a user story is a natural language description of some desired system functionality. It typically has three components:

  1. A user role, such as customer, student, teacher, secretary, manager.
  2. A capability that is to be provided.
  3. A reason for the capability expressed in terms of the user role.

Often, these are expressed in terms of templates.

  • As a <role>, I want <capability>, so that <reason>.

Examples for icgrep search:

  • As a user interested in Chinese language search, I want to use radicals (e.g. 虫, insect radical)as wildcards so that I can match corresponding characters and phrases (e.g. the search term 虫虫 can match lines containing 蜻蜓)。

Natural Language

An important purpose of user stories is to reflect software system functions in a way that is understandable by non-technical stakeholders. From this perspective, it is important that the user stories reflect the user role, using vocabulary appropriate to that role, but avoiding technical vocabulary appropriate only to developers.

Methodology

User stories are a key part of requirements elicitation methodologies in Agile development and Extreme Programming (XP).

More information

Wikipedia article on user stories

Updated Sun Sept. 10 2023, 10:39 by cameron.