User Story - BogdanViblyy/Buketov GitHub Wiki

A user story is a short, simple, and informal description of a software feature told from the perspective of the person who desires the new capability, usually a user or customer of the system.

It is not a detailed specification; it's a "promise for a conversation."

The Standard Format

The most common format for a user story is:

As a <type of user>, I want <some goal>, so that <some reason>.

  • As a... identifies the user (the "Who").
  • I want... describes the action or goal (the "What").
  • So that... explains the value or benefit (the "Why").

Example

As a registered customer, I want to view my order history, so that I can track my past purchases and reorder items easily.

The 3 C's

A good user story follows the "3 C's" model:

  1. Card: The story is written on a card (or a digital equivalent like a Jira ticket). It's a physical token that can be moved around a board.
  2. Conversation: The details behind the story are discovered through conversations between the development team, the product owner, and stakeholders.
  3. Confirmation: The acceptance criteria define how we'll know the story is "done" and working as expected.

INVEST in Good Stories

A good user story should follow the INVEST model:

  • Independent: Can be developed and delivered on its own.
  • Negotiable: Not a rigid contract; details can be negotiated.
  • Valuable: Delivers value to the end-user or customer.
  • Estimable: The team can estimate the effort required to implement it.
  • Small: Small enough to be completed within a single iteration.
  • Testable: Can be verified with clear acceptance criteria.
⚠️ **GitHub.com Fallback** ⚠️