Scenarios and User Stories

Managing the Backlog

Traditional Measures of Progress

User Stories

  • As a <type of user> I can <do an action> in order to <achieve a user goal>
    • Agile Samurai, Chapter 6
  • A story is a unit of real user value
    • No real progress if no story has been done
  • Examples:
    • As a shopper, I can add items to the cart without logging in, in order to track possible purchase
    • As a vendor, I can upload my price list spreadsheet, in order to avoid having to enter data twice.

User Stories FAQ

  • User stories are NOT requirements
    • They are reminders for future discussion to generate requirements
  • User stories are NOT
    • Features without user goals
    • Friction (log in, create profile, enter date info, ...) is not a user goal
  • Stories should be Independent, Negotiable, Valuable, Estimatable, Small, and Testable (INVEST)

Backlogs

  • The queue of user stories to be done (Agile Samurai, Ch 8)
    • Iteration backlog: stories for the current iteration
      • A list of stories, expanded with acceptance tests, UI sketches, user testing material
      • Typically kept on a task board.
    • Release backlog: remaining stories for releasable product
      • A possibly long list of stories, in priority order

Backlogs: Key Points

  • Prioritized by the client, not the developers
  • Not a schedule. No due dates!
    • No "in week 3 we will do stories 12, 14, and 19"
  • Risk: backlog turns into a useless list of nice-to-have items.

Common Problem: Losing Focus

  • Project is losing focus, momentum, urgency, passion
  • The release backlog has too many stories or too many high priority stories, or
  • The release backlog has too few important stories, and
  • The iteration backlog has a mix of unrelated stories

Scenario Backlogs

  • Scenario backlog: The stories needed to complete a user scenario
  • First, prioritize the scenarios, by business value.
    • What's critical for testing? client demos? marketing?
  • Then, prioritize the stories inside the scenarios.
    • Payoff stories first.
  • A release is a set of essential scenarios

Scenario = 4-Panel Storyboard

Scenarios vs User Stories

ScenariosUser Stories
Story Complete, from problem to payoff:
Aaron needs to organize his class into programming teams... Group'r creates 6 teams, balanced by gender, coding skills, and preferred web platform
One user goal:
professor can upload skill survey results to avoid extra data entry
Actor Persona, e.g., "Aaron, a CS professor" Role, e.g., "a teacher"
Purpose Describe market and product Define testable units of development work

Scenario Canvases

  • A scenario canvas combines
    • a specific scenario
    • with the general user stories it needs
  • Clarifies both the goals and usage context of a user story
  • Makes it easy to
    • prioritize stories by scenarios
    • track progress towards scenario completion
  • A simple example / template

Scenario Case Diagrams