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 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").
As a
registered customer
, I wantto view my order history
, so thatI can track my past purchases and reorder items easily
.
A good user story follows the "3 C's" model:
- 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.
- Conversation: The details behind the story are discovered through conversations between the development team, the product owner, and stakeholders.
- Confirmation: The acceptance criteria define how we'll know the story is "done" and working as expected.
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.