In software development and product management, a user story is an informal, natural language description of one or more features of a software system. User stories are often written from the perspective of an end user or user of a system. They are often recorded on index cards, on Post-it notes, or in project management software. Depending on the project, user stories may be written by various stakeholders including clients, users, managers or development team members. User stories are a type of boundary object. They facilitate sensemaking and communication, that is, they help software teams organize their understanding of the system and its context. User stories are often confused with system requirements. A requirement is a formal description of need; a user story is an informal description of a feature.
1.1 Common templates
2 Examples 3 Usage 4 Benefits 5 Limitations 6 Story map 7 Comparing with use cases 8 See also 9 References 10 Further reading
The Card (or often a post-it note) is a tangible durable physical token to hold the concepts; The Conversation is between the stakeholders (customers, users, developers, testers, etc.). It is verbal and often supplemented by documentation; The Confirmation ensures that the objectives of the conversation have been reached.
User stories are written by or for users or customers to influence the functionality of the system being developed. In some teams, the product manager (or product owner in Scrum), is primarily responsible for formulating user stories and organizing them into a product backlog. In other teams, anyone can write a user story. User stories can be developed through discussion with stakeholders, based on personas or simply made up. Common templates User stories may follow one of several formats or templates. The most common would be the Connextra template:
As a <role> I can <capability>, so that <receive benefit>
Chris Matts suggested that "hunting the value" was the first step in successfully delivering software, and proposed this alternative:
In order to <receive benefit> as a <role>, I can <goal/desire>
Elias Weldemichael, on the other hand, suggested the "so that" clause is perhaps optional although still often helpful:
As a <role>, I can <goal/desire>, so that <why>
Another template based on the
As <who> <when> <where>, I <can> because <why>
Another template based on Rachel Davies' popular template:
As <persona>, I can <what?> so that <why?>
where a persona is a fictional stakeholder (e.g. user). A persona may include a name, picture; characteristics, behaviors, attitudes, and a goal which the product should help them achieve. Examples Screening Quiz (Epic Story)
As the HR manager, I want to create a screening quiz so that I can understand whether I want to send possible recruits to the functional manager.
As a manager, I want to browse my existing quizzes so I can recall what I have in place and figure out if I can just reuse or update an existing quiz for the position I need now.
As a user, I can indicate folders not to backup so that my backup drive isn't filled up with things I don't need saved.
As a central part of many agile development methodologies, such as in
XP's planning game, user stories define what has to be built in the
software project. User stories are prioritized by the customer (or the
product owner in Scrum) to indicate which are most important for the
system and will be broken down into tasks and estimated by the
developers. One way of estimating is via a Fibonacci scale.
When user stories are about to be implemented, the developers should
have the possibility to talk to the customer about it. The short
stories may be difficult to interpret, may require some background
knowledge or the requirements may have changed since the story was
Every user story must at some point have one or more acceptance tests
attached, allowing the developer to test when the user story is done
and also allowing the customer to validate it. Without a precise
formulation of the requirements, prolonged nonconstructive arguments
may arise when the product is to be delivered.
There is no good evidence that using user stories increases software
success or developer productivity. However, user stories facilitate
sensemaking without undue problem structuring, which is linked to
Limitations of user stories include:
User stories written on small physical cards are hard to maintain,
difficult to scale to large projects and troublesome for
geographically distributed teams.
Vague, informal and incomplete
A story map in action
A story map is a graphical, two-dimensional visualization of the product backlog. At the top of the map are the headings under which stories are grouped, usually referred to as 'epics' (big coarse-grained user stories), 'themes' (collections of related user stories) or 'activities'. These are identified by orienting at the user’s workflow or "the order you'd explain the behavior of the system". Vertically, below the epics, the actual story cards are allocated and ordered by priority. The first horizontal row is a "walking skeleton" and below that represents increasing sophistication.[clarification needed] In this way it becomes possible to describe even big systems without losing the big picture. Comparing with use cases A use case has been described as "a generalized description of a set of interactions between the system and one or more actors, where an actor is either a user or another system." While user stories and use cases have some similarities, there are several differences between them.
User Stories Use Cases
Generally formulated in users' everyday language. They should help the reader understand what the software should accomplish.
Written in users' everyday business language, to facilitate stakeholder communications.
Provide a small-scale and easy-to-use presentation of information, with little detail, thus remaining open to interpretation, through conversations with on-site customers.
Use cases organize requirements to form a narrative of how users
relate to and use a system. Hence they focus on user goals and how
interacting with a system satisfies the goals.
Template As a <type of user>, I can <some goal> so that <some reason>.
Title: "goal the use case is trying to satisfy" Main Success Scenario: numbered list of steps
Step: "a simple statement of the interaction between the actor and a system"
Extensions: separately numbered lists, one per Extension
Extension: "a condition that results in different interactions from .. the main success scenario". An extension from main step 3 is numbered 3a, etc.
Kent Beck, Alistair Cockburn,
Kanban board Persona (user experience) Scenario (computing) Use case
^ Ralph, Paul (2015). "The Sensemaking-coevolution-implementation
theory of software design". Science of Computer Programming. 101:
^ "Origin of story card is a promise for a conversation :
Alistair.Cockburn.us". alistair.cockburn.us. Retrieved
^ Beck, Kent (1999). "Embracing change with extreme programming". IEEE
Computer. 32 (10): 70–77.
Ron Jeffries (August 30, 2001). "Essential XP: Card, Conversation,
^ Mishkin Berteig (2014-03-06). "User Stories and Story Splitting".
Agile Advice. Retrieved 2017-02-23.
^ AntonyMarcano (2011-03-24). "Old Favourite: Feature Injection User
Stories on a Business Value Theme". Antonymarcano.com. Retrieved
^ Weldemichael, Weldemichael. "User Story
Daniel H. Steinberg, Daniel W. Palmer, Extreme Software Engineering, Pearson Education, Inc., ISBN 0-13-047381-2. Mike Cohn, User Stories Applied, 2004, Addison Wesley, ISBN 0-321-20568-5. Mike Cohn, Agile Estimating and Planning, 2006, Prentice Hall, ISBN 0-13-147941-5. Business Analyst Time Payton Consulting 'How user stories are different from IEEE requirements How to plan and develop better products with user story