Skip to content

Instantly share code, notes, and snippets.

@acidtone
Last active September 14, 2021 16:03
Show Gist options
  • Save acidtone/6f8b416c4c409c60148581f7ec806c46 to your computer and use it in GitHub Desktop.
Save acidtone/6f8b416c4c409c60148581f7ec806c46 to your computer and use it in GitHub Desktop.
Agile User Stories

Agile User Stories

Relevant Agile Principles

  1. Working software is the primary measure of progress.
    • Agile organizes and chunks of work into units that represent value to the user.
  2. Our highest priority is to satisfy the user through early and continuous delivery of valuable software.
    • The challenge is to sort out what is extremely valuable from what is less important.
  3. Simplicity: the art of maximizing the amount of work not done is essential.
    • A key failure is building a product/feature that nobody wants.

Goals of User Stories

  • To capture enough information about the idea of what the user needs without getting bogged down in the implementation details.
  • To make software features engaging and tangible for the development team.
  • To act as a Definition of Done in an agile framework.

INVEST Criteria

Great User Stories always fit the INVEST set of criteria by Bill Wake:

  • Independent: they can be developed in any sequence and changes to one User Story don’t affect the others.
  • Negotiable: it’s up for the team to decide how to implement them; there is no rigidly fixed workflow.
  • Valuable: each User Story delivers a detached unit of value to end users.
  • Estimable: it’s quite easy to guess how much time the development of a User Story will take.
  • Small: it should go through the whole cycle (designing, coding, testing) during one sprint (usually 2-weeks).
  • Testable: there should be clear acceptance criteria to check whether a User Story is implemented appropriately.

User Story Template

  1. Who

    "As a [type of user]"

  2. What

    "I want [an action]"

  3. Why

    "so that [a benefit/a value]"


Examples

As a

registered user

I want

to change my password

so that

my account won't get highjacked again.


As a

carless parent

I want

to find a nearby piano teacher

so that

I can walk my child to lessons.


As a

forum moderator

I want

a list of recently flagged comments

so that

I can drop the hammer on weirdos.


As a

Beltline metal head

I want

to scan a QR Code on a show poster

so that

I can add the show to my calendar.


Attributions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment