User Story

A user story is a request which is formulated in everyday language or business language to a computer program in a maximum of two sentences. The user story plays an important role in agile software development, which makes it easier for the customer to formulate tasks for the software or programmers.

Background

The origin of user stories go back to 1998. At that time, customers requested to be able to formulate the goal of a project in simpler terms in the framework of extreme programming. User stories were to be formulated in the same way as application cases. The most important aspect was the practical aspect, which allows customers to formulate requirements without using programming languages. Today, user stories are an integral part of agile software development.

Components and examples

In 2001, Ron Jeffries developed the three Cs formula of the creation of user stories, consisting of card, conversation, and confirmation:

  • Card: physical object on which the request is recorded.
  • Conversation: the discussion of the requirements of the respective stakeholders. These may be customers, developers, testers or users.
  • Confirmation: this ensures that the agreed requirements will be met.

With regard to a Scrum, the product owner is responsible for creating user stories.

The components of a user story

  • Name: short and concise
  • Short description
  • Acceptance criteria: The details of the requirement are briefly laid out. These criteria were a way to determine whether the requirements have been met.

In this way, the stakeholder can precisely formulate or negotiate the requirements of an agile software.

A user story is usually developed according to a fixed structure:  User type -> Action -> Goal or "As a <role>, I want <goal/desire> so that <benefit>"


Example

Name: Export all top 10 rankings of a subpage as a CSV file Description: I would want to download this data to create a history of my rankings.

Acceptance criteria:

  • All my employees can access the data
  • I can collect and compare the data for different periods of time
  • I can choose different subpages of my website

Web Links

Category