Webinar Events
Join us for a live webinar:
Introduction to
ScrumWorks® Pro


September 10th, 2008
10-11 AM PDT
Sign up online »

Blogs
User Story Examples and Counterexamples
Submitted by MichaelJames on June 21, 2007 - 7:40pm.

People who share my background in traditional requirements analysis often have a hard time coming up with Product Backlog Items representing thin vertical slices of potentially-shippable product. Here is some material I've started using in teaching this.

GUIDELINES

User Stories may assume template form (see User Stories Applied by Mike Cohn):

  • “As a I can so that .”
  • or expressed as noun phrase:

  • “Image clipboard”
  • or a 1-2 sentence story:

  • “Busy streets are highlighted on the map.”
  • User stories, like all Product Backlog Items, should contain or clearly imply acceptance criteria (definition of “done”). Write these on the back of the index card, or in the "Description" field if you're using ScrumWorks. (By the way, if you're still using an information refrigerator like Microsoft Excel for your product backlog, maybe you haven't heard ScrumWorks Basic is still free!)

    Bill Wake has given us the INVEST mnemonic to help remember the characteristics of a well-formed user story:

    • I - Independent
    • N - Negotiable
    • V - Valuable
    • E - Estimable
    • S - Small
    • T - Testable

    EXAMPLES

    What does this look like in practice?

    1. A bank customer can change his PIN.
      • Acceptance Criteria: ....
    2. As a student, I can find my grades online so that I don’t have to wait until the next day to know whether I passed.
      • Acceptance Criteria: ....
    3. One level of undo
      • Acceptance Criteria: ....
    4. As a book shopper, I can read reviews of a selected book to help me decide whether to buy it.
      • Acceptance Criteria: ....
    5. As an author, I want the spell checker to ignore words with numbers so that only truly misspelled words are indicated.
      • Acceptance Criteria: ....

    COUNTEREXAMPLES

    How do we know when we're missing the mark? Ultimately "User stories are a promise for a conversation" (Ron Jeffries). If Product Owner and Team both know what they mean, you're off to a good start. But you can probably save some time by avoiding the common pitfalls below:

    1. "Design brochure layout."
      • Drawbacks: not Independent, no business Value. This is a task representing a horizontal architectural layer or phase. The architecture will be done in a vacuum, possibly contributing to analysis paralysis.
      • Better: “As a dog owner, I can find a meal schedule on the brochure so I know whether this doggy day care center is appropriate for my hungry dog.”
        • This will lead to only the necessary amount of design to support this Sprint’s features. The layout might change the next Sprint, but rework is cheaper than no work.
    2. "Write game rules."
      • Drawbacks: not Independent, no business Value, not Small.
      • Better: “As a newbie game player, I want to know who goes first so we can start the game.”
      • Better: “As a competitive gamer, I want a way to leapfrog my opposing players.”
    3. "I want the brochure to be colorful."
      • Drawbacks: not Independent, not Estimable (without knowing other features of brochure), not Small.
        • This is an easy trap for those of us who grew up with the habit of writing “the JFIDM _shall_ comply with the IEEE-488 interface specification.”
      • Better: Use “colorful” and other cross-cutting requirements as acceptance criteria on each of the specific features in the backlog they apply to.
    4. "As Product Owner, I want a list of highly-rated restaurants on the brochure."
      • Drawbacks: It’s not only about you!
      • Better: Focus on your end users and stakeholders. “As a gourmet tourist, I want a list of highly-rated restaurants on the brochure.”
      • Better: “As the Chicago Public Health Department, I want warnings about restaurants that serve raw ingredients so that tourists don’t get sick on our dime.”
    5. "Play test the game."
      • Drawbacks: Not Independent. Encourages phasewise development.
      • Better: Make testing, refactoring, etc. a default acceptance criteria on every Product Backlog Item.
        • But: If you failed to fully test and refactor in previous Sprints, you are in technical debt! You are already working on a legacy product. In this case you may need to make testing and refactoring first-class Product Backlog Items to make up for your sins.

    User stories are simple thing. "Simple" is not always the same as "easy." Happy unlearning!

    --mj
    Michael James
    Software Process Mentor

    AttachmentSize
    User Story Examples and Counterexamples blog.pdf157.88 KB

    Comment viewing options

    Select your preferred way to display the comments and click "Save settings" to activate your changes.
    Submitted by Bill Wake (not verified) on June 24, 2007 - 2:44pm.

    "... Bill Wake, the inventor of Wiki"

    I wish I could claim credit for the Wiki, but that was Ward Cunningham. I did invent the INVEST acronym, however:)

    --Bill Wake

    Submitted by MichaelJames on June 24, 2007 - 3:20pm.

    Fixed. Thanks Ward, I mean BILL.

    --mj

    Submitted by Lyssa Adkins (not verified) on August 30, 2007 - 12:12pm.

    Michael:

    I'm an Agile coach and I read your blog frequently, so thank you very much. I'd like to invite you to make a "lens" that will help direct people to your blog. I'd like more people to read your stuff and to have another place to come where they can get a quick list of the really good ones.

    Here's where you can make your "lens." It's quick and easy - mine took a few minutes to make.
    http://www.squidoo.com/groups/agile

    Lyssa

    Submitted by Tommy Norman (not verified) on December 4, 2007 - 7:39pm.

    I was often told by one my first PM/BAs that all requirements should be CAMTU:

    Clear, Accurate, Measurable, Trackable, and Unique

    We have been struggling with the granularity of our Product Backlog items for months. Our first effort was too small and our current one is too high level. Your examples and the ones from Mountain Goat are more of what I am looking for.

    Thanks for the post.

    Tommy

    Post new comment

    The content of this field is kept private and will not be shown publicly.
    • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
    • Lines and paragraphs break automatically.
    More information about formatting options

    Captcha Image: you will need to recognize the text in it.
    Please type in the letters/numbers that are shown in the image above.