Refining User Stories

Refining user stories is a process of revisiting the detail and clarity of each user story.  Whereas backlog grooming is a higher level process of prioritising user stories.  Both are important from a requirements quality point of view.   The former ensures that user gets what they want and the latter deals with sequencing to suit both business need and development team efficiency.  We will focus here on the refinement of user stories.

The purpose of user stories is to communicate, to ensure that intent of the user is correctly expressed in language that a developer and tester can fully understand.  The user stories need to be user-oriented, simple, clear, unambiguous and consistent, with nothing missing.  By refining your stories, you will eliminate many requirements defects that are often not found until well after the design and development work has started.   Refining user stories with ScopeMaster is typically 10-20 times faster than doing so manually.

Fast Results

After about an hour of experience with ScopeMaster you should soon be able to refine up to 100 stories per day.  Depending on the quality of the original requirements, you could be finding and fixing as many as 200 defects per day.  Can you think of any other activity would be so productive at finding and fixing defects?

Once you have finished grooming your stories, you may want to export them and put them into a requirements repository such as Jira.  Save as csv and then import into Jira.

Tips

  1. Focus “What” not the “how”
    • Keep it simple: e.g. “As a customer I need to update the order details”
    • Nothing more is needed as the primary intent.
  2. Name the user
    • All stories should be user-focused, describing functionality from the user’s perspective.
  3. Let ScopeMaster help you
    1. Title and Body Fields
      • With ScopeMaster, put your primary intent into the body field, this is used for analysis.
      • If you have some words that you feel should be in the primary intent but are confusing ScopeMaster, wrap those words in square brackets, and they will be ignored.
      • e.g. “As a customer I need to update the order details [but only for registered users]”
    2. Notes Field
      • Use the notes field for success/failure criteria.
  4. Using the reports
    1. Ensure that you have consistently named your users and objects throughout.
    2. If a story is marked as ambiguous, try to shorten and simplify the “What” and put the details into the notes field.
    3. If a story is marked as possibly over-complex, consider whether it should be worded more simply or split into two stories.
    4. Review the defects table for missing and duplicate functions, you can add individual stories within ScopeMaster.  The CRUD table exposes possible defects, it may be valid for there to be a few possible errors indicated after your refinement exercise.