Skip to end of metadata
Go to start of metadata

Writing a User Story

When submitting a feature request, it is standard practice in Agile development to do so in the form of a "user story." A user story is a simple account of a feature told from the perspective of a user that is designed to ensure that requests are communicated with the baseline data needed for a developer and others to quickly understand the feature and why it is needed. A user story look like this:

As a {type of user},

I want {goal}

because {reason}.

The parts of a user story:

  • {type of user} - Identify who the specific user type is, as in "As a classroom teacher..." or "As the system database administrator...". A not so good example would be "As a user of the software...". If there is a characteristic that is critical to understanding this user, include that too: "As a classroom teacher who is using this software for the first time...".
  • {goal} - Say what the user is trying to do or accomplish. Try to describe the interaction as an outcome or goal, and resist describing it as a series of steps. "As a classroom teacher, I want to download the assessment results in text file format...".
  • {reason} - Say why the user wants to accomplish the goal

A full example would be:

As a classroom teacher,

I want to download the assessment results in text file format

because I may not have Excel or other required software applications installed on my computer.

Entering User Stories in Tracker

When submitting a feature request in Tracker, put the user story in the Description field.

Then, add a short but descriptive summary in the Summary field. For the above example, a summary field might be:

Summary: Provide text file download option for non-Excel users.

Entering Descriptive Details and Acceptance Criteria in Tracker

In the "Description" field, you also include add any additional details you feel are important, or make suggestions as to the best way to implement this feature. Given the user story above, you might write: "Many teachers are using Google Docs instead of Microsoft Office, so when files are downloaded in Excel format they have trouble opening them" or "I think a drop-down offering an Excel and Text file options in the left corner would be best.".

Finally, one best practice we recommend is to add to the description what is called "acceptance criteria." Acceptance criteria are suggestions designed to let the software developer know when the story is complete. To continue the example above, what if the teacher is able to download the assessment results, but her computer does not recognize the file as a text file? An acceptance criteria to fix this might look like this: 

When the file is downloaded, please ensure that it is recognized by the system as a text file and opens in the right application (e.g,. put a ".txt" on it, etc), including on my iPad.

This gives the developer who handles this story a list of specific item to test to ensure the story was completed successfully.