Senex Rex
  • Team
  • Blog
  • Resources
  • Contact

Four-part User Stories: Functionality that Matters

Posted on February 4, 2014 by Dan Greening Posted in Scrum

Four-part user stories improve communication between Product Owner and Development Team. They include context about the user and the sponsor of the work, which inspires creativity and better architectures from the team. They also make Grooming and Sprint Planning meetings faster, they yield more successful outcomes, and they facilitate Product Owners making better trade-offs. Are they better than sliced bread? I’ll let you decide.

Story Template

User stories are a short, structured format for Product Backlog Items in Scrum; descriptions of the functionality a Product Owner wants implemented. Explicitly naming the user and the value the user obtains forces Product Owners to consider users and helps developers rapidly understand what needs to be built. Historically, user stories have had three-parts: a stakeholder, a description of the functionality and a description of why the user wants it. I’ve found that adding a fourth part greatly improves ordering in the Product Backlog.

Here is a template for four-part user stories:

As a <stakeholder>,
    I <can do something new or different>,
    so I <gain stakeholder value>,
    and so <sponsor gains business value>.
Acceptance criteria
    - <stakeholder verification activity 1>
    - <stakeholder verification activity 2>
    - ...

<stakeholder> describes a person outside the team primarily served by the work. I use the term stakeholder because some people think users are only “end-users”. However, there are many potential users of a functionality. Other developers can use features from a component team. Customer service personnel can benefit from functionality facing end-users. Operations staff can benefit from configuration, scalability or disaster recovery functionality. By using the term stakeholder, I hope to make it clear that anyone benefiting from the functionality can be named here.

A user story should never name the Product Owner, Development Team or ScrumMaster as a <stakeholder>. Agile methods counsel us to provide functionality external stakeholders can try. Each Sprint offers the opportunity to experiment with the Scrum Team’s market. When Scrum Teams produce functionality that has no external value, they create risk: risk that the there is a bug, risk that the market will reject the functionality and risk that the team is over-engineering the solution. In short, you should not have a story that says anything close to, “As a developer, I have an API that makes it easy for me to write something useful, so I code faster, and so the company saves money.” Such stories create WIP, work in progress, which is considered waste in agile.

<can do something new or different> describes the feature, bug fix or “non-functional requirement” from the perspective of the stakeholder. This is a classic short-form feature description.

<gain stakeholder value> describes the motivator for the stakeholder. Why does the stakeholder want this feature? How does it make their product experience better, less costly, more useful?

<sponsor gains business value> describes the entity that pays developer team costs and the way that entity gains from implementing the feature. Does it reduce support costs? Decrease customer churn? Increase traffic? Improve reliability? Allow the company to charge more?

Here’s two examples describing the same feature request:

Requirement

Simultaneous configuration of multiple server instances with connection validation

Four-Part User Story

As an operations staff member,
    I can simultaneously configure multiple server instances and validate that connections between them can transmit state data,
    so I take less time starting up a fleet of servers and if there's a network failure risk, I can find it right away,
    and so Our Company can avoid slowing down at peak hours and retain its loyal customers.

These examples illustrate the clarity that arises in using a four-part user story. If we only have what is shown in the Requirement example, we don’t know who will use the functionality. Will this be done by a developer? How much time do they have to do this configuration? Can the connection validation be done manually? What is the cost if we don’t do it?

The description in the four-part user story provides context to help the developer answer these questions easily. With those answers, a developer can design and build a solution that better matches the underlying needs of the stakeholder and the sponsor.

Developers can negotiate with the Product Owner to build equivalent value in some less expensive or better way. For example, developers could offer to have new server instances obtain their configurations automatically from an already running cluster. They could offer to have the system continuously validate that connections are live (not just during configuration) and raise an alarm to operations staff when connections drop. These innovations are more likely to occur when developers have richer contextual information about a requirement.

Acceptance Criteria

Following a user story, include a set of Acceptance Criteria that a stakeholder could use to verify that the function was implemented. Why not just a list of tasks to complete? Because

  • imagining stakeholders using your new functionality will help you compare how alternatives might better meet their needs
  • they create a list of functional tests that could be automated or included in a test plan
  • they provide better information to developers about what the Product Owner wants
  • they offer a script stakeholders can use to verify the functionality.

Inviting stakeholders to verify functionality in a Sprint Review provides enormous value, turning a routine meeting into a regular user experience research session. By watching stakeholders interact with the functionality, both the Product Owner and the Development Team will discover aspects that confuse or irritate stakeholders, as well as aspects that delight them. This builds an intuitive sense into both Product Owner and Team that leads to better functionality and more satisfied stakeholders.

Here’s another example:

Four-Part User Story with Acceptance Criteria

As an operations staff member,
    I can simultaneously configure multiple server instances and validate that connections between them can transmit state data,
    so I take less time starting up a fleet of servers and if there's a network failure risk, I can find it right away,
    and so Our Company can avoid slowing down at peak hours and retain its loyal customers.

Acceptance criteria
    - Ops person can start 20 new servers by issuing a "start --servers 20 --config configfile" command.
    - Ops person can determine the state of all the new servers by examining the output
    - Ops person can verify that the new servers are live by clicking "Server report" on the control panel page

Consider how easily a test plan could be created from this specification. Note how much easier it would be to estimate this specification than the one under Requirement.

Summary

Try four-part user stories in your group. You may find that developers become happier and more engaged in creating new value. At a minimum, I think you’ll find that estimation becomes much faster.

References

Antony Marcano, Old Favourite: Feature Injection User Stories on a Business Value Theme, 2011. This article discusses the addition of business value into user stories in a different form than appears here.

Share this:

  • Click to print (Opens in new window)
  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • Click to share on Reddit (Opens in new window)
  • Click to email a link to a friend (Opens in new window)
  • More
  • Click to share on Tumblr (Opens in new window)
  • Click to share on Pinterest (Opens in new window)
  • Click to share on Pocket (Opens in new window)
« Daily Mantra: Contribute 10× the Value You Capture
Forecast Horizon: Does Your Team Communicate? »

Leave a comment Cancel reply

You must be logged in to post a comment.

Continue with Facebook
Continue with LinkedIn

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pages

  • 5 Points
  • Account
  • Agile Capitalization
  • Agile Capitalization Video: Greening and Rudd
  • Agile Training
  • Agility Language
  • Call for Papers: Agile/Lean at HICSS (Kauai, January 5-8, 2016)
  • Call for Papers: Agile/Lean at HICSS
    (due June 15, 2016)
  • Certified Enterprise Coaching
  • Clients
  • Contact Us
  • Courses: Agile Capitalization Workshop
  • Courses: Agile Development
  • Courses: Agile Product Management
  • Courses: Executive Introduction to Agile
  • Courses: [email protected] Practitioner
  • Dan R. Greening
  • Enterprise Scrum: Scaling Scrum to the Executive Level
  • Glossary
  • Home
  • Jeff McKenna
  • John Horton
  • Kay Lynn Gabaldon
  • Login
  • Logout
  • Members
  • Password Reset
  • Premium Content
  • Premium Content 2
  • Privacy Policy
  • Register
  • Release Duration and Enterprise Agility
  • Resources
  • Rob Myers
  • Senex Rex Team
  • Short Course: Agile Manager
  • Sign up for Premium Content
  • Software Moneyball
  • Subscribe
  • The First of Five Challenges to Large Organizations that Force Agility
  • Troy Magennis
  • User
  • Vincent T. Mills
  • Senex Rex Blog Posts
  • Rapid Agile Forecasting

Archives

  • August 2018
  • February 2018
  • February 2017
  • March 2016
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • February 2015
  • August 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • April 2012
  • March 2012
  • December 2011
  • July 2011
  • March 2011
  • February 2011
  • September 2010
  • August 2010
  • May 2010
  • April 2010
  • March 2010
  • January 2010
  • May 2009
  • March 2009

Categories

  • Advocacy (11)
  • Agility (10)
    • Agile Base Patterns (7)
  • Calls for Papers (4)
  • Enterprise (23)
  • Events (5)
  • Job Search (1)
  • Marketing (2)
  • Metrics (12)
  • Personal (7)
  • Personal Improvement (2)
  • Portfolio Management (11)
  • Product Management (9)
  • Quality (6)
  • Scrum (31)
  • Software (4)
  • Training (2)
  • Uncategorized (5)

WordPress

  • Log in
  • WordPress

Subscribe

  • Entries (RSS)
  • Comments (RSS)

Pages

  • 5 Points
  • Account
  • Agile Capitalization
  • Agile Capitalization Video: Greening and Rudd
  • Agile Training
  • Agility Language
  • Call for Papers: Agile/Lean at HICSS (Kauai, January 5-8, 2016)
  • Call for Papers: Agile/Lean at HICSS
    (due June 15, 2016)
  • Certified Enterprise Coaching
  • Clients
  • Contact Us
  • Courses: Agile Capitalization Workshop
  • Courses: Agile Development
  • Courses: Agile Product Management
  • Courses: Executive Introduction to Agile
  • Courses: [email protected] Practitioner
  • Dan R. Greening
  • Enterprise Scrum: Scaling Scrum to the Executive Level
  • Glossary
  • Home
  • Jeff McKenna
  • John Horton
  • Kay Lynn Gabaldon
  • Login
  • Logout
  • Members
  • Password Reset
  • Premium Content
  • Premium Content 2
  • Privacy Policy
  • Register
  • Release Duration and Enterprise Agility
  • Resources
  • Rob Myers
  • Senex Rex Team
  • Short Course: Agile Manager
  • Sign up for Premium Content
  • Software Moneyball
  • Subscribe
  • The First of Five Challenges to Large Organizations that Force Agility
  • Troy Magennis
  • User
  • Vincent T. Mills
  • Senex Rex Blog Posts
  • Rapid Agile Forecasting

Archives

  • August 2018
  • February 2018
  • February 2017
  • March 2016
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • February 2015
  • August 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • April 2012
  • March 2012
  • December 2011
  • July 2011
  • March 2011
  • February 2011
  • September 2010
  • August 2010
  • May 2010
  • April 2010
  • March 2010
  • January 2010
  • May 2009
  • March 2009

Categories

  • Advocacy (11)
  • Agility (10)
    • Agile Base Patterns (7)
  • Calls for Papers (4)
  • Enterprise (23)
  • Events (5)
  • Job Search (1)
  • Marketing (2)
  • Metrics (12)
  • Personal (7)
  • Personal Improvement (2)
  • Portfolio Management (11)
  • Product Management (9)
  • Quality (6)
  • Scrum (31)
  • Software (4)
  • Training (2)
  • Uncategorized (5)

WordPress

  • Log in
  • WordPress
Copyright ©2013-2015 Senex Rex LLC. All Rights Reserved.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
Do not sell my personal information.
Cookie SettingsAccept
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT