User story

User story

From Wikipedia, the free encyclopedia

Join the related FREE PM templates related Facebook Group (LIKE Facebook page) and LinkedIn Group. Click here to purchase 70+ project management templates with FREE upgrades thereafter.

Software development
Core activities
Paradigms and models
Methodologies and frameworks
Supporting disciplines
Practices
Tools
Standards and Bodies of Knowledge
Glossaries

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.

Project Management Templates for both Agile and Waterfall project planning and tracking.

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.

History

In 1998 Alistair Cockburn visited the Chrysler C3 project in Detroit and coined the phrase “A user story is a promise for a conversation.”

With Extreme Programming (XP), user stories were a part of the planning game.

In 2001, Ron Jeffries proposed a “Three Cs” formula for user story creation:

  • 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.

In 2004, Mike Cohn generalises the user story principles beyond the usage of cards in a book that is now considered as the reference standard for the topic according to Martin Fowler.

After a first article in 2005 and a blog post in 2008, in 2014 Jeff Patton published the user-story mapping technique, which intends to improve with a systematic approach the identification of user stories and to structure the stories to give better visibility to their interdependence.

Principle

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  I can , so that 

Chris Matts suggested that “hunting the value” was the first step in successfully delivering software, and proposed this alternative:

In order to  as a , I can <goal/desire>

Elias Weldemichael, on the other hand, suggested the “so that” clause is perhaps optional although still often helpful:

As a , I can <goal/desire>, so that 

Another template based on the Five Ws specifies:

As   , I  because 

Another template based on Rachel Davies’ popular template:

As , 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.

Quiz Recall

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.

Limited Backup

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.

Usage

As a central part of many agile development methodologies, such as in XP‘s planning game, user stories describe what may 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 written.

User stories can be expanded to add detail based on these conversations. This can include notes, attachments and acceptance criteria.

Acceptance criteria

Mike Cohn defines acceptance criteria as “notes about what the story must do in order for the product owner to accept it as complete.” They define the boundaries of a user story and are used to confirm when a story is completed and working as intended.

Techniques to craft acceptance criteria

Example mapping

Example Mapping is a simple technique that can steer the conversation and derive acceptance criteria within 30 minutes. The process involves breaking each stories into rules and examples

SHEQC grooming

SHEQC grooming enables teams to groom a complex user story in less than 45 minutes using design thinking techniques. The process involves the double diamond rule for brainstorming and the outcome is a set of question and acceptance criteria for the story.

Benefits

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 success.

Limitations

Limitations of user stories include:

Scale-up problem

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

User story cards are regarded as conversation starters. Being informal, they are open to many interpretations. Being brief, they do not state all of the details necessary to implement a feature. Stories are therefore inappropriate for reaching formal agreements or writing legal contracts.

Lack of non-functional requirements

User stories rarely include performance or non-functional requirement details, so non-functional tests (e.g. response time) may be overlooked.

Relationship to epics, themes and initiatives

In many contexts user stories are used and also summarized in groups for semantic and organizational reasons. The different usages depend on the point-of-view, e.g. either looking from a user perspective as product owner in relation to features or a company perspective in relation to task organization.

While some suggest to use ‘epic’ and ‘theme’ as labels for any thinkable kind of grouping of user stories, organization management tends to use it for strong structuring and uniting work loads. For instance, Jira, seems to use a hierarchically organized to-do-list, in which they named the first level of to-do-tasks ‘user-story’, the second level ‘epics’ ( grouping of user stories ) and the third level ‘initiatives’ ( grouping of epics ). However, initiatives are not always present in product management development and just add another level of granularity. In Jira, ‘themes’ exist ( for tracking purposes ) that allow to cross-relate and group items of different parts of the fixed hierarchy In this usage, Jira, shifts the meaning of themes in an organization perspective: e.g how much time did we spent on developing theme “xyz”. But another definition of themes is: a set of stories, epics, features etc for a user that forms a common semantic unit or goal. There is probably not a common definition because different approaches exist for different styles of product design and development. In this sense, some also suggest to not use any kind of hard groups and hierarchies. 

Epic

Large stories or multiple user stories that are very closely related are summarized as epics. A common explanation of epics is also: a user story that is too big for a sprint.

Initiative

Multiple epics or stories grouped together hierarchically, mostly known from Jira.

Theme

Multiple epics or stories grouped together by a common theme or semantic relationship.

Story map

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.

In this way it becomes possible to describe even large systems without losing the big picture.

Comparing with use cases

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
Similarities
  • 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.
Differences
  • 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.
  • Use case flows describe sequences of interactions, and may be worded in terms of a formal model. A use case is intended to provide sufficient detail for it to be understood on its own.
Template As a , I can so that .
  • 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 BeckAlistair CockburnMartin Fowler and others discussed this topic further on the c2.com wiki (the home of extreme programming).

See also

References

  1. ^ Ralph, Paul (2015). “The Sensemaking-coevolution-implementation theory of software design”. Science of Computer Programming101: 21–41. arXiv:1302.4061doi:10.1016/j.scico.2014.11.007.
  2. ^ “Origin of story card is a promise for a conversation : Alistair.Cockburn.us”alistair.cockburn.us. Retrieved 2017-08-16.
  3. ^ Beck, Kent (1999). “Embracing change with extreme programming”. IEEE Computer32 (10): 70–77. doi:10.1109/2.796139.
  4. ^ Ron Jeffries (August 30, 2001). “Essential XP: Card, Conversation, Confirmation”.
  5. ^ Cohn, Mike (2004). User stories applied : for agile software development. Boston: Addison-Wesley. ISBN 0321205685OCLC 54365622.
  6. ^ Fowler, Martin (2013-04-22). “User Story”martinfowler.com. Retrieved 2019-07-14.
  7. ^ Patton, Jeff (January 2005). “It’s All In How You Slice It”Better Software Magazine: 16–22, 40.
  8. ^ Patton, Jeff (2008-10-08). “The New User Story Backlog is a Map”Jeff Patton & Associates. Retrieved 2019-07-16.
  9. ^ Patton, Jeff (Software developer), (2014). User story mapping. Economy, Peter, Fowler, Martin, Cooper, Alan, Cagan, Marty, (First ed.). Beijing. ISBN 9781491904909OCLC 880566740.
  10. ^ “What is Role-Feature-Reason?”. 17 December 2015. Retrieved 8 February 2019.
  11. ^ Mishkin Berteig (2014-03-06). “User Stories and Story Splitting”. Agile Advice. Retrieved 2017-02-23.
  12. ^ AntonyMarcano (2011-03-24). “Old Favourite: Feature Injection User Stories on a Business Value Theme”Antonymarcano.com. Retrieved 2017-02-23.
  13. ^ Weldemichael, Weldemichael. “User Story Template Advantages”Mountaingoatsoftware.com. Retrieved 2017-02-23.
  14. ^ “10 Tips for Writing Good User Stories”Romanpichler.com. Retrieved 2017-02-23.
  15. Jump up to:a b Cowan, Alexander. “Your Best Agile User Story”Cowan+. Retrieved 29 April 2016.
  16. Jump up to:a b Cohn, Mike. “User Stories”Mountain Goat Software. Retrieved 27 April 2016.
  17. ^ Cohn, Mike. “The Two Ways to Add Detail to User Stories”Mountain Goat Software blog. Retrieved 8 April 2019.
  18. ^ “Example Mapping”Agile Alliance. 2017-06-02. Retrieved 2019-06-04.
  19. ^ Twitter; LinkedIn; Facebook (2015-03-17). “The Design Process: What is the Double Diamond?”Design Council. Retrieved 2019-06-04.
  20. ^ Tharayil, Ranjith (2019-02-09). “SHE QC A story grooming technique – Regional Scrum Gathering Hyderabad”Discuss Agile : Regional Scrum Gathering Hyderabad – SHE QC A story grooming technique | ConfEngine – Conference Platform. Retrieved 2019-06-04.
  21. ^ Ralph, Paul; Mohanani, Rahul (2015). “Is Requirements Engineering Inherently Counterproductive?”2015 IEEE/ACM 5th International Workshop on the Twin Peaks of Requirements and Architecture. IEEE. pp. 20–23. doi:10.1109/TwinPeaks.2015.12ISBN 978-1-4673-7100-1.
  22. ^ “Limitations of user stories”. Ferolen.com. April 15, 2008.
  23. ^ Atlassian. “Epics, Stories, Themes, and Initiatives”Atlassian. Retrieved 8 February 2019.
  24. ^ Atlassian. “User Stories”Atlassian. Retrieved 8 February2019.
  25. ^ Britsch, Marcel (5 September 2017). “The Basics: Epics, Stories, Themes & Features”The Digital Business Analyst. Retrieved 8 February 2019.
  26. ^ Cohn, Mike. “User Stories, Epics and Themes”Mountain Goat Software. Retrieved 8 February 2019.
  27. ^ “Scrum Alliance Member-Submitted Informational Articles”.
  28. ^ Guay, Constantin (26 January 2018). “Scrum tips: Differences between epics, stories, themes and features”. Retrieved 8 February 2019.
  29. ^ “User Stories, Epics & Themes”. 10 May 2016. Retrieved 8 February 2019.
  30. ^ Cohn, Mike. “You Don’t Need a Complicated Story Hierarchy”Mountain Goat Software. Retrieved 8 February 2019.
  31. ^ Patton, Jeff. “The new user story backlog is a map”. Retrieved 17 May 2017.
  32. ^ Pichler, Roman. “10 Tips for Writing Good User Stories”. Retrieved 29 July 2014.
  33. ^ Cohn, Mike. “User Stories, Epics and Themes”Mountaingoatsoftware.com. Retrieved 26 September 2017.
  34. ^ Cockburn, Alistair. “Walking Skeleton”. Retrieved 4 March2013.
  35. ^ “Story Mapping”. Agile Alliance. Retrieved 1 May 2016.
  36. ^ Cohn, Mike. “Project Advantages of User Stories as Requirements”Mountaingoatsoftware.com. Retrieved 26 September 2017.
  37. ^ Martin Fowler (18 August 2003). “UseCasesAndStories”. Retrieved 26 September 2017.
  38. ^ + words + C2.com. Retrieved 26 September 2017.

Further reading

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s