Scenarios and Stories

Managing the Backlog

How NOT to Measure Progress

  • Common measures
    • Hours of effort
    • Lines of code
    • Pages of documentation (requirements or design)
  • These deliver not a single bit of value to the user
  • If the user can't eat it, it's not food.

User Stories

  • As a <type of user> I can <do an action> in order to <achieve a user goal>
    • 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.
  • A story is a unit of real user value
  • User stories are NOT requirements
    • They are just reminders for future discussion
  • Stories should be Independent, Negotiable, Valuable, Estimatable, Small, and Testable (INVEST)
    • Agile Samurai, Chapter 6

Backlogs

  • The queue of user stories to be done
  • Most important first
    • Importance defined by the needs of the client or user, not the program
  • Do not attach due dates!
  • Two common backlogs
    • Release backlog: The stories needed for the next complete release
    • Iteration backlog: The stories chosen for the current iteration

Story Backlog Problems

  • The release backlog
    • has too many stories, or not enough
    • has many must-have, top priority stories, or just low priority stories
    • priorities keep changing
  • The iteration backlog
    • has unrelated stories
  • This happens
    • because user stories are small, independent,...
    • ... so they become numerous, scattered, hard to prioritize

Scenario Backlogs

  • Scenario backlog: The stories needed to complete a user scenario
    • A release may have one or more scenarios
    • A scenario may take one or more iterations
  • Prioritize scenarios
    • which are critical for testing? client demos? marketing?l
  • Prioritize stories by the scenarios they complete
    • Complete each scenario's stories before moving to the next scenario
    • Within a scenario backlog, do payoff story first

Scenarios vs User Stories

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

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