What is a User Story? How are they used in Requirements Gathering and in writing User Acceptance Tests? October 3, 2010
Posted by hubtechinsider in Agile Software Development, Definitions, Project Management.Tags: Acceptance testing, agile, agile development, Agile Software Development, Extreme programming, Methodologies, mobile software, Paul Seibert, Programming, Project Management, release planning, Software, Software Development, user acceptance criteria, user acceptance tests, User Experience, User interface, User Story
trackback

Image via Wikimedia
What is a User Story? How are they used in Requirements Gathering and in writing User Acceptance Tests?
User Stories are short conversational texts that are used for initial requirements discovery and project planning. User stories are widely used in conjunction with agile software development project management methodologies for Release Planning and definition of User Acceptance Criteria for software development projects.
User Goals, stated in the form of User Stories, are more closely aligned with Business Priorities than software development Tasks and so it is the User Story format which prevails in written statements of User Acceptance Criteria.
An Agile Project Team is typically oriented to completing and delivering User-valued Features rather than on completing isolated development Tasks.These development Tasks eventually combine into a User-valued Feature).
User Goals are not the same things as software development Tasks. A User Goal is an end condition, whereas a development Task is an intermediate process needed to achieve this User Goal. To help illustrate this point, here are two example scenarios:
1. If my User Goal is to laze in my hammock reading the Sunday Boston Globe newspaper, I first have to mow the lawn. My Task is mowing; My Goal is resting. If I was able to recruit someone else to mow the lawn, I could achieve my Goal without having to do the mowing, the Task.
2. Tasks change as implementation technology or development approaches change, but Goals have the pleasant property of remaining stable on software development projects. For example, if I am a hypothetical User traveling from Boston to San Francisco, my User Goals for the trip might include Speed, Comfort and Safety. Heading for California on this proposed trip in 1850, I would have made the journey in a high technology Conestoga wagon for Speed and Comfort, and I would have brought along a Winchester rifle for Safety. However, making the same trip in 2010, with the same User Goals, I would now make the journey in a new Boeing 777 for updated Speed and Comfort and for Safety’s sake I would now leave the Winchester rifle at home.
· My User Goals remained unchanged, however the Tasks have changed so much that they are now seemingly in direct opposition. User Goals are steady, software development Tasks as stated on SOWs (Statements Of Work) are transient.
· Designing User Acceptance Criteria around software development Tasks rarely suits, but User Acceptance Criteria based on User Goals always does.
A User Story is a brief description of functionality as viewed by a User or Customer of the System. User Stories are free-form, and there is no mandatory syntax. However, it can be useful to think of a User Story as generally fitting this form:
“As a <type of User>, I want <Capability> so that <Business Value>”.
Using this template as an example, we might have a User Story like this one:
“As a Store Manager, I want to search for a Service Ticket by Store so that I can find the right Service Ticket quickly”.
User stories form the basis of User Acceptance Testing. Acceptance tests can be created to verify that the User Story has been correctly implemented.

Want to know more?
You’re reading Boston’s Hub Tech Insider, a blog stuffed with years of articles about Boston technology startups and venture capital-backed companies,software development, Agile project management, managing software teams, designing web-based business applications, running successful software development projects, ecommerce and telecommunications.
About the author.
I’m Paul Seibert, Editor of Boston’s Hub Tech Insider, a Boston focused technology blog. You can connect with me on LinkedIn, follow me on Twitter, even friend me on Facebook if you’re cool. I own and am trying to sell a dual-zoned, residential & commercial Office Building in Natick, MA. I have a background in entrepreneurship, ecommerce, telecommunications andsoftware development, I’m the Director, Technical Projects at eSpendWise, I’m a serial entrepreneur and the co-founder of Tshirtnow.net.
More Articles From Boston’s Hub Tech Insider:
- Twelve Tips For Agile Project Planning and Estimating
- Eight ways to tell if your Project Team is on the Way Up, or on the Way Down
- The Twenty Laws of Testing Computer Software
- Why Designing for a VUI is harder than designing for a GUI
- The Hub Tech Insider Glossary of Mobile Web Terminology
- The Hub Tech Insider Glossary of Stock Options Terminology
- How many Stock Options should executives at a startup be granted?
- Agile Development In Practice
- What is ‘Management By Walking Around’?
- Boston Area Video Game Companies
- Demandware eCommerce
- How to expand your professional network on LinkedIn
- How to use LinkedIn in your job search
- Twitter and network effects
- How much bandwidth does a smartphone use? How much bandwidth does an Apple iPad use? How much bandwidth does an Apple iPhone use?
- What is Scrum?
- What is a “Use Case”?
- What is a “User Story”?
- What is Indirect Spend?
- What is EDIINT? What is AS2, AS1, AS3 and AS4?
- Agile Requirements that Make Sense (devx.com)
- A recipe for enterprise agile. Mixing Scrum and Smart (sanderhoogendoorn.com)
- Extreme Programming: Iteration Planning (brighthub.com)
- 18 ways to speed up a CRM project – part two (customerthink.com)
- Why Speed & Frequency of Software Security Testing Matter, A LOT (jeremiahgrossman.blogspot.com)
- Pathos Least (cadsmith.wordpress.com)
Related Articles
- Persona driven user stories for Agile UX (disambiguity.com)
- User Stories and Such (disambiguity.com)
- The Extreme Programming Software Development Process (brighthub.com)
- Agile User Stories, Themes, Epics, Features – What’s The Difference? (agile-software-development.com)
- The Agile Samurai (Pragmatic Bookshelf) (i-programmer.info)
- Re-Engineering In Agile Development Can Just Be Refactoring (regulargeek.com)
- Cross-Functional Teams Don’t Come Free | Agile Zone (agile.dzone.com)
- imabonehead: Releasing Every Fortnight | Engineering Blog – Genius.com Marketing SaaS (eng.genius.com)
- Agile Requirements that Make Sense (devx.com)
- A recipe for enterprise agile. Mixing Scrum and Smart (sanderhoogendoorn.com)
- Extreme Programming: Iteration Planning (brighthub.com)
- 18 ways to speed up a CRM project – part two (customerthink.com)
- Why Speed & Frequency of Software Security Testing Matter, A LOT (jeremiahgrossman.blogspot.com)
- Pathos Least (cadsmith.wordpress.com)























Comments»
No comments yet — be the first.