User Stories

One way to represent a feature you'd like your program to have is the user story. This is a formulaic description of a 'want' that the user has.

Format

User stories follow a distinct format:

As a [ persona ] I want [ feature ] so that I can [ justification ].

Some examples:

  • As a user I want to login with username and password so that I can access my information.
  • As a user I want to login with Facebook so that I don't have to remember another password.
  • As a user I want to change my profile picture because I don't look like that any more.
  • As an administrator I can view a list of users so that I can manage my site.

Why?

User stories divide our programs into discrete 'chunks' that can easily be worked on separately. They help us understand and manage the scope and priority of our work: which features we should add next, and which are must have as opposed to nice to have. They also help us keep the end user in mind: you know, that person we're actually developing all this for!