InfoQ

News

New User Story Format Emphasizes Business Value

Posted by Chris Sims on Jun 19, 2008 05:29 PM

Community
Agile
Topics
Customers & Requirements
Tags
User Stories
Since the early days of agile, user stories have been a common way of capturing requirements. These short bits of documentation, often only a sentence or so written on an index card, capture the essence of the desired functionality. A conventional format for these stories has been:

As a <type of user> I want <some functionality> so that <some benefit>.

Elizabeth Keogh suggests that business value is more important than user role and presents a revised template for writing user stories, which she credits to Chris Matts. The traditional format emphasizes the importance of the user, mentioning them first. The newly proposed variation switches the emphasis to the business value:

In order to <achieve some value>, as a <type of user>, I want <some functionality>.

The change may be subtle, but it is likely to resonate in a value-focused environment.  Elizabeth goes on to describe how the focus on value carries over to planning a software release:
The word 'release' is more meaningful. There's some untapped money out there - some market share, some cost saving, some battle against a competitor. All the features we produce go towards releasing that value for our customers to use - and it's the value we're releasing, not the features.

Would refocusing users stories on business value make a difference in your environment? Leave a comment and share with the community.

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.
I like it. by Karl Scotland Posted Jun 20, 2008 5:05 AM
Some views on the format by Ajay Danait Posted Jun 23, 2008 4:24 AM
  1. Back to top

    I like it.

    Jun 20, 2008 5:05 AM by Karl Scotland

    I blogged about it here.
    I think the new format gives a clearer way of managing the relationship between the small incremental functionality pieces, and the larger value pieces.

  2. Back to top

    Some views on the format

    Jun 23, 2008 4:24 AM by Ajay Danait

    These are some views from my manager on this format :

    In order to [achieve some value] As a [role] I want [some feature].

    i feel
    #1 - it is heavy, and not so natural (more written language than oral one)
    #2 - takes only the 'value' perspective, and hides the 'risk mitigation' side

    -> in the product backlog, we found great to consider priorities on 2 axis : value creation vs risk mitigation

    => good thing when you talk to a end-users in our business, especially it will emphasize the 'OR' sensitivity

    As a I want so that . should be turned into :-

    #A - As a [type of user] I want [some functionality] to avoid [some operational risk, process weakness, ...]

    #B - As a [type of user] I need [some functionality] to get/maximize/fasten/point.... [some benefit].

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.