Jump to content

User story: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Citation bot (talk | contribs)
Add: date. | Use this bot. Report bugs. | Suggested by Abductive | #UCB_webform 2879/3850
Removed extra "this" from first sentence.
(40 intermediate revisions by 24 users not shown)
Line 4: Line 4:
{{Software development process}}
{{Software development process}}


In [[software development]] and [[product management]], a '''user story''' is an informal, natural language description of features of a software system. They are written from the perspective of an [[User (computing)#End-user|end user]] or [[User (system)|user of a system]], and may be recorded on index cards, [[Post-it note]]s, or digitally in project management software.<ref>{{Cite journal|last1=Dimitrijević|first1=Sonja|last2=Jovanović|first2=Jelena|last3=Devedžić|first3=Vladan|year=2015|title=A comparative study of software tools for user story management|journal=Information and Software Technology|language=en|volume=57|pages=352–368|doi=10.1016/j.infsof.2014.05.012|quote=a great number of software tools that provide, inter alia, support for practices based on user stories have emerged in recent years.}}</ref> Depending on the project, user stories may be written by different stakeholders like client, user, manager, or development team.
In [[software development]] and [[product management]], a '''user story''' is an informal, natural language description of features of a software system. They are written from the perspective of an [[User (computing)#End user|end user]] or [[User (system)|user of a system]], and may be recorded on index cards, [[Post-it note]]s, or digitally in specific management software.<ref>{{Cite journal|last1=Dimitrijević|first1=Sonja|last2=Jovanović|first2=Jelena|last3=Devedžić|first3=Vladan|year=2015|title=A comparative study of software tools for user story management|journal=Information and Software Technology|language=en|volume=57|pages=352–368|doi=10.1016/j.infsof.2014.05.012|quote=a great number of software tools that provide, inter alia, support for practices based on user stories have emerged in recent years.}}</ref> Depending on the product, user stories may be written by different stakeholders like client, user, manager, or development team.


User stories are a type of [[boundary object]]. They facilitate [[sensemaking]] and communication; and may help software teams document their understanding of the system and its context.<ref>{{Cite journal |last=Ralph |first=Paul |year=2015 |title=The Sensemaking-coevolution-implementation theory of software design |journal=Science of Computer Programming |volume=101 |pages=21–41 |arxiv=1302.4061 |doi=10.1016/j.scico.2014.11.007|s2cid=6154223 }}</ref>
User stories are a type of [[boundary object]]. They facilitate [[sensemaking]] and communication; and may help software teams document their understanding of the system and its context.<ref>{{Cite journal |last=Ralph |first=Paul |year=2015 |title=The Sensemaking-coevolution-implementation theory of software design |journal=Science of Computer Programming |volume=101 |pages=21–41 |arxiv=1302.4061 |doi=10.1016/j.scico.2014.11.007|s2cid=6154223 }}</ref>
Line 17: Line 17:
** The ''Conversation'' is between the stakeholders (customers, users, developers, testers, etc.). It is verbal and often supplemented by documentation;
** 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.
** The ''Confirmation'' ensures that the objectives of the conversation have been reached.
* 2001: The XP team at Connextra<ref name="Connextra">{{Cite web |url=https://www.agilealliance.org/glossary/user-story-template/ |title=User Story Template |website=agilealliance.org |access-date=18 April 2020 |archive-date=6 June 2020 |archive-url=https://web.archive.org/web/20200606161737/https://www.agilealliance.org/glossary/user-story-template/ |url-status=live }}</ref> in London devised the user story format and shared examples with others.
* 2001: The XP team at Connextra<ref name="Connextra">{{Cite web |url=https://www.agilealliance.org/glossary/user-story-template/ |title=User Story Template |website=agilealliance.org |date=17 December 2015 |access-date=18 April 2020 |archive-date=6 June 2020 |archive-url=https://web.archive.org/web/20200606161737/https://www.agilealliance.org/glossary/user-story-template/ |url-status=live }}</ref> in London devised the user story format and shared examples with others.
* 2004: [[Mike Cohn]] generalized the principles of user stories beyond the usage of cards in his book ''User Stories Applied: For Agile Software Development''<ref name="Cohn2004">{{Cite book |title=User Stories Applied: For Agile Software Development |last=Cohn |first=Mike |date=2004 |publisher=Addison-Wesley |isbn=0321205685 |oclc=54365622}}</ref> that is now considered the standard reference for the topic according to [[Martin Fowler (software engineer)|Martin Fowler]].<ref>{{Cite web |url=https://martinfowler.com/bliki/UserStory.html |title=User Story |last=Fowler |first=Martin |date=22 April 2013 |website=martinfowler.com |access-date=14 July 2019 |archive-date=14 July 2019 |archive-url=https://web.archive.org/web/20190714210315/https://martinfowler.com/bliki/UserStory.html |url-status=live }}</ref> Cohn names Rachel Davies as the inventor of user stories.{{citation needed|date=April 2020}} While Davies was a team member at Connextra she credits the team as a whole with the invention.{{citation needed|date=April 2020}}
* 2004: [[Mike Cohn]] generalized the principles of user stories beyond the usage of cards in his book ''User Stories Applied: For Agile Software Development''<ref name="Cohn2004">{{Cite book |title=User Stories Applied: For Agile Software Development |last=Cohn |first=Mike |date=2004 |publisher=Addison-Wesley |isbn=0321205685 |oclc=54365622}}</ref> that is now considered the standard reference for the topic according to [[Martin Fowler (software engineer)|Martin Fowler]].<ref>{{Cite web |url=https://martinfowler.com/bliki/UserStory.html |title=User Story |last=Fowler |first=Martin |date=22 April 2013 |website=martinfowler.com |access-date=14 July 2019 |archive-date=14 July 2019 |archive-url=https://web.archive.org/web/20190714210315/https://martinfowler.com/bliki/UserStory.html |url-status=live }}</ref> Cohn names Rachel Davies as the inventor of user stories.{{citation needed|date=April 2020}} While Davies was a team member at Connextra she credits the team as a whole with the invention.{{citation needed|date=April 2020}}
* 2014: After a first article in 2005<ref>{{Cite journal |last=Patton |first=Jeff |date=January 2005 |title=It's All In How You Slice It |url=https://www.stickyminds.com/better-software-magazine-volume-issue/2005-01 |journal=Better Software Magazine |pages=16–22, 40 |access-date=16 July 2019 |archive-date=16 July 2019 |archive-url=https://web.archive.org/web/20190716193104/https://www.stickyminds.com/better-software-magazine-volume-issue/2005-01 |url-status=live }}</ref> and a blog post in 2008,<ref>{{Cite web |url=https://www.jpattonassociates.com/the-new-backlog/ |title=The New User Story Backlog is a Map |last=Patton |first=Jeff |date=8 October 2008 |website=Jeff Patton & Associates |access-date=16 July 2019 |archive-date=18 July 2019 |archive-url=https://web.archive.org/web/20190718153846/https://www.jpattonassociates.com/the-new-backlog/ |url-status=live }}</ref> 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.<ref>{{Cite book |title=User story mapping |last=Patton |first=Jeff |others=Economy, Peter, Fowler, Martin, Cooper, Alan, Cagan, Marty |year=2014 |isbn=9781491904909 |edition=First |location=Beijing |oclc=880566740}}</ref>
* 2014: After a first article in 2005<ref>{{Cite journal |last=Patton |first=Jeff |date=January 2005 |title=It's All In How You Slice It |url=https://www.stickyminds.com/better-software-magazine-volume-issue/2005-01 |journal=Better Software Magazine |pages=16–22, 40 |access-date=16 July 2019 |archive-date=16 July 2019 |archive-url=https://web.archive.org/web/20190716193104/https://www.stickyminds.com/better-software-magazine-volume-issue/2005-01 |url-status=live }}</ref> and a blog post in 2008,<ref>{{Cite web |url=https://www.jpattonassociates.com/the-new-backlog/ |title=The New User Story Backlog is a Map |last=Patton |first=Jeff |date=8 October 2008 |website=Jeff Patton & Associates |access-date=16 July 2019 |archive-date=18 July 2019 |archive-url=https://web.archive.org/web/20190718153846/https://www.jpattonassociates.com/the-new-backlog/ |url-status=live }}</ref> 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.<ref>{{Cite book |title=User story mapping |last=Patton |first=Jeff |others=Economy, Peter, Fowler, Martin, Cooper, Alan, Cagan, Marty |year=2014 |isbn=9781491904909 |edition=First |location=Beijing |oclc=880566740}}</ref>


== Principle ==
== 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 (development)|Scrum]]), is primarily responsible for formulating user stories and organizing them into a [[Product Backlog|product backlog]]. In other teams, anyone can write a user story. User stories can be developed through discussion with stakeholders, based on [[Persona (user experience)|personas]] or are simply made up.
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 (development)|Scrum]]), is primarily responsible for formulating user stories and organizing them into a [[Product backlog|product backlog]]. In other teams, anyone can write a user story. User stories can be developed through discussion with stakeholders, based on [[Persona (user experience)|personas]] or are simply made up.


===Common templates===
===Common templates===
User stories may follow one of several formats or templates.
User stories may follow one of several formats or templates.


The most common is the ''Connextra template'', stated below.<ref>{{Citation|last1=Lucassen|first1=Garm|title=The Use and Effectiveness of User Stories in Practice|date=2016|work=Requirements Engineering: Foundation for Software Quality|volume=9619|pages=205–222|editor-last=Daneva|editor-first=Maya|publisher=Springer International Publishing|doi=10.1007/978-3-319-30282-9_14|isbn=978-3-319-30281-2|quote=The most prevalent user story template is the ‘original’ one proposed by Connextra|last2=Dalpiaz|first2=Fabiano|last3=Werf|first3=Jan Martijn E. M. van der|last4=Brinkkemper|first4=Sjaak|editor2-last=Pastor|editor2-first=Oscar}}</ref><ref name="Cohn2004" /><ref>{{Cite web |url=https://www.agilealliance.org/glossary/user-story-template/ |title=Glossary: User Story Template |website=agilealliance.org |publisher=[[Agile Alliance]] |access-date=3 February 2020 |quote=Another name is the "Connextra format", in recognition of its origins |date=17 December 2015 |archive-date=3 February 2020 |archive-url=https://web.archive.org/web/20200203101132/https://www.agilealliance.org/glossary/user-story-template/ |url-status=live }}</ref> [[Mike Cohn]] suggested the "so that" clause is optional although still often helpful.<ref name="so-that-optional">{{Cite web |url=http://www.mountaingoatsoftware.com/blog/advantages-of-the-as-a-user-i-want-user-story-template |title=Advantages of the "As a user, I want" user story template |last=Cohn |first=Mike |author-link=Mike Cohn |date=25 April 2008 |website=Mountaingoatsoftware.com |url-status=live |archive-url=https://web.archive.org/web/20161218210740/http://www.mountaingoatsoftware.com/blog/advantages-of-the-as-a-user-i-want-user-story-template |archive-date=18 December 2016 |access-date=18 December 2016 |quote=While I consider the so-that clause optional, I really like this template.}}</ref>
The most common is the ''Connextra template'', stated below.<ref>{{Citation|last1=Lucassen|first1=Garm|title=The Use and Effectiveness of User Stories in Practice|date=2016|work=Requirements Engineering: Foundation for Software Quality|volume=9619|pages=205–222|editor-last=Daneva|editor-first=Maya|publisher=Springer International Publishing|doi=10.1007/978-3-319-30282-9_14|isbn=978-3-319-30281-2|quote=The most prevalent user story template is the ‘original’ one proposed by Connextra|last2=Dalpiaz|first2=Fabiano|last3=Werf|first3=Jan Martijn E. M. van der|last4=Brinkkemper|first4=Sjaak|series=Lecture Notes in Computer Science |s2cid=26458219 |editor2-last=Pastor|editor2-first=Oscar}}</ref><ref name="Cohn2004" /><ref>{{Cite web |url=https://www.agilealliance.org/glossary/user-story-template/ |title=Glossary: User Story Template |website=agilealliance.org |publisher=[[Agile Alliance]] |access-date=3 February 2020 |quote=Another name is the "Connextra format", in recognition of its origins |date=17 December 2015 |archive-date=3 February 2020 |archive-url=https://web.archive.org/web/20200203101132/https://www.agilealliance.org/glossary/user-story-template/ |url-status=live }}</ref> [[Mike Cohn]] suggested the "so that" clause is optional although still often helpful.<ref name="so-that-optional">{{Cite web |url=http://www.mountaingoatsoftware.com/blog/advantages-of-the-as-a-user-i-want-user-story-template |title=Advantages of the "As a user, I want" user story template |last=Cohn |first=Mike |author-link=Mike Cohn |date=25 April 2008 |website=Mountaingoatsoftware.com |url-status=live |archive-url=https://web.archive.org/web/20161218210740/http://www.mountaingoatsoftware.com/blog/advantages-of-the-as-a-user-i-want-user-story-template |archive-date=18 December 2016 |access-date=18 December 2016 |quote=While I consider the so-that clause optional, I really like this template.}}</ref>


:<syntaxhighlight lang="text">
:<syntaxhighlight lang="text">
Line 43: Line 43:
:<syntaxhighlight lang="text">
:<syntaxhighlight lang="text">
As <who> <when> <where>, I want <what> because <why>
As <who> <when> <where>, I want <what> because <why>
</syntaxhighlight>

A template that's commonly used to improve security is called the "Evil User Story" or "Abuse User Story" and is used as a way to think like a hacker in order to consider scenarios that might occur in a cyber-attack. These stories are written from the perspective of an attacker attempting to compromise or damage the application, rather the typical personae found in a user story:<ref name="evil-storytemplate">{{Cite web |url=https://github.com/OWASP/samm/blob/master/Current%20Releases/head/agile-guidance/agilenotes.md#abuse-stories |title=SAMM Agile guidance |last=Van der Veer |first=Rob |website=[[GitHub]] |date=18 May 2020 }}</ref>

:<syntaxhighlight lang="text">
As a disgruntled employee, I want to wipe out the user database to hurt the company
</syntaxhighlight>
</syntaxhighlight>


Line 50: Line 56:
;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.<ref name="alexandercowan" />
;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.<ref name="alexandercowan" />


;Limited backup: As a user, I can indicate folders not to back up so that my backup drive isn't filled up with things I don't need saved.<ref name=":1" />
;Limited backup: As a user, I can indicate folders not to back up so that my backup drive is not filled up with things I do not need to be saved.<ref name=":1" />


== Usage ==
== Usage ==


A central part of many agile development methodologies, such as in [[extreme programming|XP]]'s [[Extreme Programming Practices#Planning game|planning game]], user stories describe what may be built in the software project. User stories are prioritized by the
A central part of many agile development methodologies, such as in [[extreme programming]]'s [[Extreme Programming Practices#Planning game|planning game]], user stories describe what may be built in the software product. User stories are prioritized by the customer (or the product owner in [[Scrum (development)|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.
customer (or the product owner in [[Scrum (development)|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 (agile)|Fibonacci scale]].


When user stories are about to be implemented, the developers should have
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.
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.
User stories can be expanded to add detail based on these conversations. This can include notes, attachments and acceptance criteria.
Line 67: Line 69:
=== 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."<ref>{{Cite web |url=https://www.mountaingoatsoftware.com/blog/preview/1691 |title=The Two Ways to Add Detail to User Stories |last=Cohn |first=Mike |website=Mountain Goat Software blog |access-date=8 April 2019 |archive-date=8 April 2019 |archive-url=https://web.archive.org/web/20190408062320/https://www.mountaingoatsoftware.com/blog/preview/1691 |url-status=live }}</ref> They define the boundaries of a user story and are used to confirm when a story is completed and working as intended.
Mike Cohn defines acceptance criteria as "notes about what the story must do in order for the product owner to accept it as complete."<ref name="mikecohn">{{Cite web |url=https://www.mountaingoatsoftware.com/blog/preview/1691 |title=The Two Ways to Add Detail to User Stories |last=Cohn |first=Mike |website=Mountain Goat Software blog |access-date=8 April 2019 |archive-date=8 April 2019 |archive-url=https://web.archive.org/web/20190408062320/https://www.mountaingoatsoftware.com/blog/preview/1691 |url-status=live }}</ref> They define the boundaries of a user story and are used to confirm when a story is completed and working as intended.

The appropriate amount of information to be included in the acceptance criteria varies by team, program and project. Some may include 'predecessor criteria', "The user has already logged in and has already edited his information once".{{cite quote|date=February 2020}} Some may write the acceptance criteria in typical agile format, [[Given-When-Then]]. Others may simply use bullet points taken from original requirements gathered from customers or stakeholders.{{Citation needed|date=February 2020}}


The appropriate amount of information to be included in the acceptance criteria varies by team, program and project. Some may include 'predecessor criteria', "The user has already logged in and has already edited his information once".{{cite quote|date=February 2020}} Some may write the acceptance criteria in typical agile format, [[Given-When-Then]]. Others may simply use bullet points taken from original requirements gathered from customers or stakeholders.<ref name="mikecohn" />
In order for a story to be considered done or complete, all acceptance criteria must be met.
In order for a story to be considered done or complete, all acceptance criteria must be met.


== Benefits ==
== 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.<ref>{{Cite book |title=2015 IEEE/ACM 5th International Workshop on the Twin Peaks of Requirements and Architecture |last1=Ralph |first1=Paul |last2=Mohanani |first2=Rahul |publisher=IEEE |year=2015 |isbn=978-1-4673-7100-1 |pages=20–23 |chapter=Is Requirements Engineering Inherently Counterproductive? |doi=10.1109/TwinPeaks.2015.12 |s2cid=2873385 |chapter-url=https://www.semanticscholar.org/paper/73ea2916b817d44dc5ad95629797fbc7495daa94 |access-date=4 February 2020 |archive-date=22 June 2021 |archive-url=https://web.archive.org/web/20210622215803/https://www.semanticscholar.org/paper/Is-Requirements-Engineering-Inherently-Ralph-Mohanani/73ea2916b817d44dc5ad95629797fbc7495daa94 |url-status=live }}</ref>
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.<ref>{{Cite book |title=2015 IEEE/ACM 5th International Workshop on the Twin Peaks of Requirements and Architecture |last1=Ralph |first1=Paul |last2=Mohanani |first2=Rahul |publisher=IEEE |year=2015 |isbn=978-1-4673-7100-1 |pages=20–23 |chapter=Is Requirements Engineering Inherently Counterproductive? |doi=10.1109/TwinPeaks.2015.12 |s2cid=2873385 }}</ref>


== Limitations ==
== Limitations ==
Line 86: Line 87:
*'''Don't necessarily represent how technology has to be built:''' Since user stories are often written from the business perspective, once a technical team begins to implement, it may find that technical constraints require effort which may be broader than the scope of an individual story. Sometimes splitting stories into smaller ones can help resolve this. Other times, 'technical-only' stories are most appropriate. These 'technical-only' stories may be challenged by the business stakeholders as not delivering value that can be demonstrated to customers/stakeholders.
*'''Don't necessarily represent how technology has to be built:''' Since user stories are often written from the business perspective, once a technical team begins to implement, it may find that technical constraints require effort which may be broader than the scope of an individual story. Sometimes splitting stories into smaller ones can help resolve this. Other times, 'technical-only' stories are most appropriate. These 'technical-only' stories may be challenged by the business stakeholders as not delivering value that can be demonstrated to customers/stakeholders.


== Relationship to epics, themes and initiatives ==
== Relationship to epics, themes and initiatives/programs ==


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.
In many contexts, user stories are used and also summarized in groups for ontological, semantic and organizational reasons. Initiative is also referred to as Program in certain scaled agile frameworks. 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.


[[File:User Story Map in Action.png|thumbnail|A story map in action, with epics on the top to structure stories |370x370px]]
[[File:User Story Map in Action.png|thumbnail|A story map in action, with epics on the top to structure stories |370x370px]]
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 (software)|Jira]] seems to use a [[Hierarchy|hierarchically]] organized [[To-do list|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''.<ref>{{Cite web |url=https://www.atlassian.com/agile/project-management/epics-stories-themes |title=Epics, Stories, Themes, and Initiatives |website=Atlassian |access-date=8 February 2019 |archive-date=30 January 2019 |archive-url=https://web.archive.org/web/20190130231414/https://www.atlassian.com/agile/project-management/epics-stories-themes |url-status=live }}</ref><ref>{{Cite web |url=https://www.atlassian.com/agile/project-management/user-stories |title=User Stories |website=Atlassian |access-date=8 February 2019 |archive-date=5 February 2019 |archive-url=https://web.archive.org/web/20190205002630/https://www.atlassian.com/agile/project-management/user-stories |url-status=live }}</ref>
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 (software)|Jira]] seems to use a [[Hierarchy|hierarchically]] organized [[To-do list|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''.<ref>{{Cite web |url=https://www.atlassian.com/agile/project-management/epics-stories-themes |title=Epics, Themes, Stories, and Initiatives |website=Atlassian |access-date=8 February 2019 |archive-date=30 January 2019 |archive-url=https://web.archive.org/web/20190130231414/https://www.atlassian.com/agile/project-management/epics-stories-themes |url-status=live }}</ref><ref>{{Cite web |url=https://www.atlassian.com/agile/project-management/user-stories |title=User Stories |website=Atlassian |access-date=8 February 2019 |archive-date=5 February 2019 |archive-url=https://web.archive.org/web/20190205002630/https://www.atlassian.com/agile/project-management/user-stories |url-status=live }}</ref>


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.<ref>{{Cite web |url=https://thedigitalbusinessanalyst.co.uk/epics-stories-themes-and-features-4637712cff5c |title=The Basics: Epics, Stories, Themes & Features |last=Britsch |first=Marcel |date=5 September 2017 |website=The Digital Business Analyst |access-date=8 February 2019 |archive-date=21 September 2017 |archive-url=https://web.archive.org/web/20170921082050/https://thedigitalbusinessanalyst.co.uk/epics-stories-themes-and-features-4637712cff5c |url-status=live }}</ref><ref>{{Cite web |url=https://www.mountaingoatsoftware.com/blog/stories-epics-and-themes |title=User Stories, Epics and Themes |last=Cohn |first=Mike |website=Mountain Goat Software |access-date=8 February 2019 |archive-date=4 February 2019 |archive-url=https://web.archive.org/web/20190204205711/https://www.mountaingoatsoftware.com/blog/stories-epics-and-themes |url-status=live }}</ref><ref>{{Cite web |url=https://www.scrumalliance.org/community/articles/2014/march/stories-versus-themes-versus-epics |title=Scrum Alliance Member-Submitted Informational Articles |access-date=11 September 2018 |archive-date=11 September 2018 |archive-url=https://web.archive.org/web/20180911152200/https://www.scrumalliance.org/community/articles/2014/march/stories-versus-themes-versus-epics |url-status=live }}</ref><ref>{{Cite web |url=https://const.fr/blog/agile/scrum-differences-epics-stories-themes-features/ |title=Scrum tips: Differences between epics, stories, themes and features |last=Guay |first=Constantin |date=26 January 2018 |access-date=8 February 2019 |archive-date=19 November 2018 |archive-url=https://web.archive.org/web/20181119085244/https://const.fr/blog/agile/scrum-differences-epics-stories-themes-features/ |url-status=live }}</ref><ref>{{Cite web|date=8 December 2021|title=User Stories, Epics & Themes|url=https://www.agile-academy.com/de/product-owner/user-stories-epics-themes/|url-status=live|archive-url=https://web.archive.org/web/20190209124534/https://www.scrum-academy.de/product-owner/wissen/user-stories-epics-themes/|archive-date=9 February 2019|access-date=8 December 2021}}</ref><ref>{{Cite web |url=https://www.mountaingoatsoftware.com/blog/you-dont-need-a-complicated-story-hierarchy |title=You Don't Need a Complicated Story Hierarchy |last=Cohn |first=Mike |website=Mountain Goat Software |access-date=8 February 2019 |archive-date=10 May 2019 |archive-url=https://web.archive.org/web/20190510142725/https://www.mountaingoatsoftware.com/blog/you-dont-need-a-complicated-story-hierarchy |url-status=live }}</ref>
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.<ref>{{Cite web |url=https://thedigitalbusinessanalyst.co.uk/epics-stories-themes-and-features-4637712cff5c |title=The Basics: Epics, Stories, Themes & Features |last=Britsch |first=Marcel |date=5 September 2017 |website=The Digital Business Analyst |access-date=8 February 2019 |archive-date=21 September 2017 |archive-url=https://web.archive.org/web/20170921082050/https://thedigitalbusinessanalyst.co.uk/epics-stories-themes-and-features-4637712cff5c |url-status=live }}</ref><ref>{{Cite web |url=https://www.mountaingoatsoftware.com/blog/stories-epics-and-themes |title=User Stories, Epics and Themes |last=Cohn |first=Mike |website=Mountain Goat Software |access-date=8 February 2019 |archive-date=4 February 2019 |archive-url=https://web.archive.org/web/20190204205711/https://www.mountaingoatsoftware.com/blog/stories-epics-and-themes |url-status=live }}</ref><ref>{{Cite web |url=https://www.scrumalliance.org/community/articles/2014/march/stories-versus-themes-versus-epics |title=Scrum Alliance Member-Submitted Informational Articles |access-date=11 September 2018 |archive-date=11 September 2018 |archive-url=https://web.archive.org/web/20180911152200/https://www.scrumalliance.org/community/articles/2014/march/stories-versus-themes-versus-epics |url-status=live }}</ref><ref>{{Cite web |url=https://const.fr/blog/agile/scrum-differences-epics-stories-themes-features/ |title=Scrum tips: Differences between epics, stories, themes and features |last=Guay |first=Constantin |date=26 January 2018 |access-date=8 February 2019 |archive-date=19 November 2018 |archive-url=https://web.archive.org/web/20181119085244/https://const.fr/blog/agile/scrum-differences-epics-stories-themes-features/ |url-status=live }}</ref><ref>{{Cite web|date=8 December 2021|title=User Stories, Epics & Themes|url=https://www.agile-academy.com/de/product-owner/user-stories-epics-themes/|url-status=live|archive-url=https://web.archive.org/web/20190209124534/https://www.scrum-academy.de/product-owner/wissen/user-stories-epics-themes/|archive-date=9 February 2019|access-date=8 December 2021}}</ref><ref>{{Cite web |url=https://www.mountaingoatsoftware.com/blog/you-dont-need-a-complicated-story-hierarchy |title=You Don't Need a Complicated Story Hierarchy |last=Cohn |first=Mike |website=Mountain Goat Software |access-date=8 February 2019 |archive-date=10 May 2019 |archive-url=https://web.archive.org/web/20190510142725/https://www.mountaingoatsoftware.com/blog/you-dont-need-a-complicated-story-hierarchy |url-status=live }}</ref>


=== Theme ===
'''Epic'''
Multiple epics or many very large stories that are closely related are summarized as themes. A common explanation of epics is also: so much work that requires many sprints, or in scaled frameworks -- a Release Train or Solution Train.

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.<ref>{{Cite web|url=https://confluence.atlassian.com/jiraportfoliocloud/configuring-initiatives-and-other-hierarchy-levels-828785179.html|title=Configuring initiatives and other hierarchy levels - Atlassian Documentation|website=confluence.atlassian.com|access-date=5 February 2020|quote=An 'initiative' is a very large body of work, which spans multiple epics and sometimes, multiple teams. [...] An initiative is also an issue type in Jira.|archive-date=5 February 2020|archive-url=https://web.archive.org/web/20200205092403/https://confluence.atlassian.com/jiraportfoliocloud/configuring-initiatives-and-other-hierarchy-levels-828785179.html|url-status=live}}</ref>


=== Initiative ===
'''Theme'''
Multiple themes, epics, or stories grouped together hierarchically.<ref>{{Cite web|url=https://confluence.atlassian.com/jiraportfoliocloud/configuring-initiatives-and-other-hierarchy-levels-828785179.html|title=Configuring initiatives and other hierarchy levels - Atlassian Documentation|website=confluence.atlassian.com|access-date=5 February 2020|quote=An 'initiative' is a very large body of work, which spans multiple epics and sometimes, multiple teams. [...] An initiative is also an issue type in Jira.|archive-date=5 February 2020|archive-url=https://web.archive.org/web/20200205092403/https://confluence.atlassian.com/jiraportfoliocloud/configuring-initiatives-and-other-hierarchy-levels-828785179.html|url-status=live}}</ref>


=== Epic ===
Multiple epics or stories grouped together by a common theme or semantic relationship.
Multiple themes or stories grouped together by ontology and/or semantic relationship.


== Story map ==
== Story map ==
Line 119: Line 117:
In this way it becomes possible to describe even large systems without losing the big picture.
In this way it becomes possible to describe even large systems without losing the big picture.


Story maps can easily provide a two-dimensional graphical 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<ref>{{Cite web |url=http://www.mountaingoatsoftware.com/blog/stories-epics-and-themes/ |title=User Stories, Epics and Themes |last=Cohn |first=Mike |website=Mountaingoatsoftware.com |access-date=26 September 2017 |archive-date=27 September 2017 |archive-url=https://web.archive.org/web/20170927041658/http://www.mountaingoatsoftware.com/blog/stories-epics-and-themes |url-status=live }}</ref>) 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"<ref>{{Cite web |url=http://alistair.cockburn.us/Walking+skeleton |title=Walking Skeleton |last=Cockburn |first=Alistair |access-date=4 March 2013 |archive-date=24 September 2013 |archive-url=https://web.archive.org/web/20130924061832/http://alistair.cockburn.us/Walking+skeleton |url-status=live }}</ref> and below that represents increasing sophistication.<ref>{{Cite web |url=https://www.agilealliance.org/glossary/storymap/ |title=Story Mapping |publisher=Agile Alliance |access-date=1 May 2016 |date=17 December 2015 |archive-date=23 June 2016 |archive-url=https://web.archive.org/web/20160623192419/https://www.agilealliance.org/glossary/storymap/ |url-status=live }}</ref>{{clarify|date=April 2014}}
Story maps can easily provide a two-dimensional graphical visualization of the [[Product backlog|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<ref>{{Cite web |url=http://www.mountaingoatsoftware.com/blog/stories-epics-and-themes/ |title=User Stories, Epics and Themes |last=Cohn |first=Mike |website=Mountaingoatsoftware.com |access-date=26 September 2017 |archive-date=27 September 2017 |archive-url=https://web.archive.org/web/20170927041658/http://www.mountaingoatsoftware.com/blog/stories-epics-and-themes |url-status=live }}</ref>) 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"<ref>{{Cite web |url=http://alistair.cockburn.us/Walking+skeleton |title=Walking Skeleton |last=Cockburn |first=Alistair |access-date=4 March 2013 |archive-date=24 September 2013 |archive-url=https://web.archive.org/web/20130924061832/http://alistair.cockburn.us/Walking+skeleton |url-status=live }}</ref> and below that represents increasing sophistication.<ref>{{Cite web |url=https://www.agilealliance.org/glossary/storymap/ |title=Story Mapping |publisher=Agile Alliance |access-date=1 May 2016 |date=17 December 2015 |archive-date=23 June 2016 |archive-url=https://web.archive.org/web/20160623192419/https://www.agilealliance.org/glossary/storymap/ |url-status=live }}</ref>{{clarify|date=April 2014}}


== User journey map ==
== User journey map ==
A user journey map<ref>{{Cite web|url=https://www.nngroup.com/articles/journey-mapping-101/|title=Journey Mapping 101|last=Experience|first=World Leaders in Research-Based User|website=Nielsen Norman Group|language=en|access-date=15 March 2020|archive-date=19 March 2020|archive-url=https://web.archive.org/web/20200319021655/https://www.nngroup.com/articles/journey-mapping-101/|url-status=live}}</ref> intends to show the big picture but for a single user category. Its narrative line focuses on the chronology of phases and actions that a single user has to perform in order to achieve his or her objectives.
A user journey map<ref>{{Cite web|url=https://www.nngroup.com/articles/journey-mapping-101/|title=Journey Mapping 101|last=Experience|first=World Leaders in Research-Based User|website=Nielsen Norman Group|language=en|access-date=15 March 2020|archive-date=19 March 2020|archive-url=https://web.archive.org/web/20200319021655/https://www.nngroup.com/articles/journey-mapping-101/|url-status=live}}</ref> intends to show the big picture but for a single user category. Its narrative line focuses on the chronology of phases and actions that a single user has to perform in order to achieve his or her objectives.


This allows to map the user experience beyond a set of user stories. Based on user feedback, the positive and negative emotions can be identified across the journey. Points of friction or unfulfilled needs can be identified on the map. This technique is used to improve the design of a product,<ref>{{Cite news|last=Richardson|first=Adam|url=https://hbr.org/2010/11/using-customer-journey-maps-to|title=Using Customer Journey Maps to Improve Customer Experience|date=15 November 2010|work=Harvard Business Review|access-date=15 March 2020|issn=0017-8012|archive-date=22 March 2020|archive-url=https://web.archive.org/web/20200322173349/https://hbr.org/2010/11/using-customer-journey-maps-to|url-status=live}}</ref> allowing to engage users in participatory approaches.<ref>{{Cite journal|title=Subversive participatory design {{!}} Proceedings of the 14th Participatory Design Conference: Short Papers, Interactive Exhibitions, Workshops - Volume 2|language=EN|doi=10.1145/2948076.2948085|hdl=11572/167104|s2cid=15915593}}</ref>
This allows to map the user experience beyond a set of user stories. Based on user feedback, the positive and negative emotions can be identified across the journey. Points of friction or unfulfilled needs can be identified on the map. This technique is used to improve the design of a product,<ref>{{Cite news|last=Richardson|first=Adam|url=https://hbr.org/2010/11/using-customer-journey-maps-to|title=Using Customer Journey Maps to Improve Customer Experience|date=15 November 2010|work=Harvard Business Review|access-date=15 March 2020|issn=0017-8012|archive-date=22 March 2020|archive-url=https://web.archive.org/web/20200322173349/https://hbr.org/2010/11/using-customer-journey-maps-to|url-status=live}}</ref> allowing to engage users in participatory approaches.<ref>{{Cite journal|title=Subversive participatory design {{!}} Proceedings of the 14th Participatory Design Conference: Short Papers, Interactive Exhibitions, Workshops - Volume 2|language=EN|doi=10.1145/2948076.2948085|hdl=11572/167104|s2cid=15915593|hdl-access=free}}</ref>


== Comparing with use cases ==
== Comparing with use cases ==

Revision as of 04:22, 15 July 2024

In software development and product management, a user story is an informal, natural language description of features of a software system. They are written from the perspective of an end user or user of a system, and may be recorded on index cards, Post-it notes, or digitally in specific management software.[1] Depending on the product, user stories may be written by different stakeholders like client, user, manager, or development team.

User stories are a type of boundary object. They facilitate sensemaking and communication; and may help software teams document their understanding of the system and its context.[2]

History

  • 1997: Kent Beck introduces user stories at the Chrysler C3 project in Detroit.
  • 1998: Alistair Cockburn visited the C3 project and coined the phrase "A user story is a promise for a conversation."[3]
  • 1999: Kent Beck published the first edition of the book Extreme Programming Explained, introducing Extreme Programming (XP),[4] and the usage of user stories in the planning game.
  • 2001: Ron Jeffries proposed a "Three Cs" formula for user story creation:[5]
    • The Card (or often a post-it note) is a tangible 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.
  • 2001: The XP team at Connextra[6] in London devised the user story format and shared examples with others.
  • 2004: Mike Cohn generalized the principles of user stories beyond the usage of cards in his book User Stories Applied: For Agile Software Development[7] that is now considered the standard reference for the topic according to Martin Fowler.[8] Cohn names Rachel Davies as the inventor of user stories.[citation needed] While Davies was a team member at Connextra she credits the team as a whole with the invention.[citation needed]
  • 2014: After a first article in 2005[9] and a blog post in 2008,[10] 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.[11]

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 are simply made up.

Common templates

User stories may follow one of several formats or templates.

The most common is the Connextra template, stated below.[12][7][13] Mike Cohn suggested the "so that" clause is optional although still often helpful.[14]

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:[15]

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

Another template based on the Five Ws specifies:[16]

As <who> <when> <where>, I want <what> because <why>

A template that's commonly used to improve security is called the "Evil User Story" or "Abuse User Story" and is used as a way to think like a hacker in order to consider scenarios that might occur in a cyber-attack. These stories are written from the perspective of an attacker attempting to compromise or damage the application, rather the typical personae found in a user story:[17]

As a disgruntled employee, I want to wipe out the user database to hurt the company

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.[18]
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.[18]
Limited backup
As a user, I can indicate folders not to back up so that my backup drive is not filled up with things I do not need to be saved.[19]

Usage

A central part of many agile development methodologies, such as in extreme programming's planning game, user stories describe what may be built in the software product. 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."[20] They define the boundaries of a user story and are used to confirm when a story is completed and working as intended.

The appropriate amount of information to be included in the acceptance criteria varies by team, program and project. Some may include 'predecessor criteria', "The user has already logged in and has already edited his information once".[This quote needs a citation] Some may write the acceptance criteria in typical agile format, Given-When-Then. Others may simply use bullet points taken from original requirements gathered from customers or stakeholders.[20] In order for a story to be considered done or complete, all acceptance criteria must be met.

Vorteile

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.[21]

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.[22]
  • 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.
  • Don't necessarily represent how technology has to be built: Since user stories are often written from the business perspective, once a technical team begins to implement, it may find that technical constraints require effort which may be broader than the scope of an individual story. Sometimes splitting stories into smaller ones can help resolve this. Other times, 'technical-only' stories are most appropriate. These 'technical-only' stories may be challenged by the business stakeholders as not delivering value that can be demonstrated to customers/stakeholders.

Relationship to epics, themes and initiatives/programs

In many contexts, user stories are used and also summarized in groups for ontological, semantic and organizational reasons. Initiative is also referred to as Program in certain scaled agile frameworks. 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.

A story map in action, with epics on the top to structure stories

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.[23][24]

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.[25][26][27][28][29][30]

Theme

Multiple epics or many very large stories that are closely related are summarized as themes. A common explanation of epics is also: so much work that requires many sprints, or in scaled frameworks -- a Release Train or Solution Train.

Initiative

Multiple themes, epics, or stories grouped together hierarchically.[31]

Epic

Multiple themes or stories grouped together by ontology and/or semantic relationship.

Story map

User story mapping

A story map[32] organises user stories according to a narrative flow that presents the big picture of the product. The technique was developed by Jeff Patton from 2005 to 2014 to address the risk of projects flooded with very detailed user stories that distract from realizing the product's main objectives.[citation needed]

User story mapping[33] uses workshops with users to identify first the main business activities. Each of these main activities may involve several kind of users or personas.

The horizontal cross-cutting narrative line is then drawn by identifying the main tasks of the individual user involved in these business activities. The line is kept throughout the project. More detailed user stories are gathered and collected as usual with the user story practice. But each new user story is either inserted into the narrative flow or related vertically to a main tasks.

The horizontal axis corresponds to the coverage of the product objectives, and the vertical axis to the needs of the individual users.

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

Story maps can easily provide a two-dimensional graphical 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[34]) 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"[35] and below that represents increasing sophistication.[36][clarification needed]

User journey map

A user journey map[37] intends to show the big picture but for a single user category. Its narrative line focuses on the chronology of phases and actions that a single user has to perform in order to achieve his or her objectives.

This allows to map the user experience beyond a set of user stories. Based on user feedback, the positive and negative emotions can be identified across the journey. Points of friction or unfulfilled needs can be identified on the map. This technique is used to improve the design of a product,[38] allowing to engage users in participatory approaches.[39]

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."[40] 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.[41]
  • 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 <type of user>, I can <some goal> so that <some reason>.[19]
  • 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, Martin Fowler and others discussed this topic further on the c2.com wiki (the home of extreme programming).[42]

See also

References

  1. ^ Dimitrijević, Sonja; Jovanović, Jelena; Devedžić, Vladan (2015). "A comparative study of software tools for user story management". Information and Software Technology. 57: 352–368. doi:10.1016/j.infsof.2014.05.012. a great number of software tools that provide, inter alia, support for practices based on user stories have emerged in recent years.
  2. ^ Ralph, Paul (2015). "The Sensemaking-coevolution-implementation theory of software design". Science of Computer Programming. 101: 21–41. arXiv:1302.4061. doi:10.1016/j.scico.2014.11.007. S2CID 6154223.
  3. ^ "Origin of story card is a promise for a conversation : Alistair.Cockburn.us". alistair.cockburn.us. Archived from the original on 22 June 2021. Retrieved 16 August 2017.
  4. ^ Beck, Kent (1999). Extreme Programming Explained: Embrace Change. Addison-Wesley. ISBN 9780201616415. OCLC 41834882.
  5. ^ Jeffries, Ron (30 August 2001). "Essential XP: Card, Conversation, Confirmation". Archived from the original on 12 May 2017. Retrieved 14 April 2017.
  6. ^ "User Story Template". agilealliance.org. 17 December 2015. Archived from the original on 6 June 2020. Retrieved 18 April 2020.
  7. ^ a b Cohn, Mike (2004). User Stories Applied: For Agile Software Development. Addison-Wesley. ISBN 0321205685. OCLC 54365622.
  8. ^ Fowler, Martin (22 April 2013). "User Story". martinfowler.com. Archived from the original on 14 July 2019. Retrieved 14 July 2019.
  9. ^ Patton, Jeff (January 2005). "It's All In How You Slice It". Better Software Magazine: 16–22, 40. Archived from the original on 16 July 2019. Retrieved 16 July 2019.
  10. ^ Patton, Jeff (8 October 2008). "The New User Story Backlog is a Map". Jeff Patton & Associates. Archived from the original on 18 July 2019. Retrieved 16 July 2019.
  11. ^ Patton, Jeff (2014). User story mapping. Economy, Peter, Fowler, Martin, Cooper, Alan, Cagan, Marty (First ed.). Beijing. ISBN 9781491904909. OCLC 880566740.{{cite book}}: CS1 maint: location missing publisher (link)
  12. ^ Lucassen, Garm; Dalpiaz, Fabiano; Werf, Jan Martijn E. M. van der; Brinkkemper, Sjaak (2016), Daneva, Maya; Pastor, Oscar (eds.), "The Use and Effectiveness of User Stories in Practice", Requirements Engineering: Foundation for Software Quality, Lecture Notes in Computer Science, vol. 9619, Springer International Publishing, pp. 205–222, doi:10.1007/978-3-319-30282-9_14, ISBN 978-3-319-30281-2, S2CID 26458219, The most prevalent user story template is the 'original' one proposed by Connextra
  13. ^ "Glossary: User Story Template". agilealliance.org. Agile Alliance. 17 December 2015. Archived from the original on 3 February 2020. Retrieved 3 February 2020. Another name is the "Connextra format", in recognition of its origins
  14. ^ Cohn, Mike (25 April 2008). "Advantages of the "As a user, I want" user story template". Mountaingoatsoftware.com. Archived from the original on 18 December 2016. Retrieved 18 December 2016. While I consider the so-that clause optional, I really like this template.
  15. ^ Marcano, Antony (24 March 2011). "Old Favourite: Feature Injection User Stories on a Business Value Theme". Antonymarcano.com. Archived from the original on 2 July 2012. Retrieved 23 February 2017.
  16. ^ "User Story". t2informatik GmbH. 25 September 2019. Archived from the original on 3 February 2020. Retrieved 3 February 2020. "As (who) (when) (where), I (want) because (why)." – this phrase is based on typical W questions: who, when, where, what and why.
  17. ^ Van der Veer, Rob (18 May 2020). "SAMM Agile guidance". GitHub.
  18. ^ a b Cowan, Alexander. "Your Best Agile User Story". Cowan+. Archived from the original on 25 March 2016. Retrieved 29 April 2016.
  19. ^ a b Cohn, Mike. "User Stories". Mountain Goat Software. Archived from the original on 30 April 2016. Retrieved 27 April 2016.
  20. ^ a b Cohn, Mike. "The Two Ways to Add Detail to User Stories". Mountain Goat Software blog. Archived from the original on 8 April 2019. Retrieved 8 April 2019.
  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.12. ISBN 978-1-4673-7100-1. S2CID 2873385.
  22. ^ "Limitations of user stories". Ferolen.com. 15 April 2008. Archived from the original on 13 April 2014. Retrieved 9 April 2014.
  23. ^ "Epics, Themes, Stories, and Initiatives". Atlassian. Archived from the original on 30 January 2019. Retrieved 8 February 2019.
  24. ^ "User Stories". Atlassian. Archived from the original on 5 February 2019. Retrieved 8 February 2019.
  25. ^ Britsch, Marcel (5 September 2017). "The Basics: Epics, Stories, Themes & Features". The Digital Business Analyst. Archived from the original on 21 September 2017. Retrieved 8 February 2019.
  26. ^ Cohn, Mike. "User Stories, Epics and Themes". Mountain Goat Software. Archived from the original on 4 February 2019. Retrieved 8 February 2019.
  27. ^ "Scrum Alliance Member-Submitted Informational Articles". Archived from the original on 11 September 2018. Retrieved 11 September 2018.
  28. ^ Guay, Constantin (26 January 2018). "Scrum tips: Differences between epics, stories, themes and features". Archived from the original on 19 November 2018. Retrieved 8 February 2019.
  29. ^ "User Stories, Epics & Themes". 8 December 2021. Archived from the original on 9 February 2019. Retrieved 8 December 2021.
  30. ^ Cohn, Mike. "You Don't Need a Complicated Story Hierarchy". Mountain Goat Software. Archived from the original on 10 May 2019. Retrieved 8 February 2019.
  31. ^ "Configuring initiatives and other hierarchy levels - Atlassian Documentation". confluence.atlassian.com. Archived from the original on 5 February 2020. Retrieved 5 February 2020. An 'initiative' is a very large body of work, which spans multiple epics and sometimes, multiple teams. [...] An initiative is also an issue type in Jira.
  32. ^ Patton, Jeff (8 October 2008). "The new user story backlog is a map". Archived from the original on 14 May 2017. Retrieved 17 May 2017.
  33. ^ Patton, Jeff (Software developer) (2014). User story mapping. Economy, Peter,, Fowler, Martin, 1963-, Cooper, Alan, 1952-, Cagan, Marty (First ed.). Beijing. ISBN 978-1-4919-0490-9. OCLC 880566740.{{cite book}}: CS1 maint: location missing publisher (link)
  34. ^ Cohn, Mike. "User Stories, Epics and Themes". Mountaingoatsoftware.com. Archived from the original on 27 September 2017. Retrieved 26 September 2017.
  35. ^ Cockburn, Alistair. "Walking Skeleton". Archived from the original on 24 September 2013. Retrieved 4 March 2013.
  36. ^ "Story Mapping". Agile Alliance. 17 December 2015. Archived from the original on 23 June 2016. Retrieved 1 May 2016.
  37. ^ Experience, World Leaders in Research-Based User. "Journey Mapping 101". Nielsen Norman Group. Archived from the original on 19 March 2020. Retrieved 15 March 2020. {{cite web}}: |first= has generic name (help)
  38. ^ Richardson, Adam (15 November 2010). "Using Customer Journey Maps to Improve Customer Experience". Harvard Business Review. ISSN 0017-8012. Archived from the original on 22 March 2020. Retrieved 15 March 2020.
  39. ^ "Subversive participatory design | Proceedings of the 14th Participatory Design Conference: Short Papers, Interactive Exhibitions, Workshops - Volume 2". doi:10.1145/2948076.2948085. hdl:11572/167104. S2CID 15915593. {{cite journal}}: Cite journal requires |journal= (help)
  40. ^ Cohn, Mike. "Project Advantages of User Stories as Requirements". Mountaingoatsoftware.com. Archived from the original on 18 April 2012. Retrieved 26 September 2017.
  41. ^ Fowler, Martin (18 August 2003). "UseCasesAndStories". Archived from the original on 27 September 2017. Retrieved 26 September 2017.
  42. ^ "User Story And Use Case Comparison". C2.com. Archived from the original on 2 September 2016. Retrieved 26 September 2017.

Further reading