What is a User Story?

A user story is a tool used in Agile software development Links to an external site. to capture a description of a software feature from an end-user perspective. The user story describes the type of user, what they want and why. A user story helps to create a simplified description of a requirement.

A user story template often uses the following type of format:

As a <role>, I want <feature> so that <reason>.

Examples of user stories are:

As a user, I want to upload photos so that I can share photos with others.

As an administrator, I want to approve photos before they are posted so that I can make sure they are appropriate.

An Agile user story is meant to be short, usually fitting on a sticky note or note cardTo scope a story correctly make sure it is something you can get done in ideally 1, but not more than 2 weeks.  If your user story is going to take 2+ weeks to complete, it may be too big and needs to be broken into smaller, more manageable chunks. 

The user stories should be written by the team from the perspective of each stakeholder requesting a functionality.  The user story needs to be clear to both the client, the end user (if that's someone other than the client), and the development team so everyone knows each role's wants and why they want it.

The development team's job is to break each user story down into tangible functional requirements that will need to be completed in order to realize the user story.  Once we break down the user story into its functional requirements, we can start to better understand the parts of the system that are impacted by this user story and also how complex this user story may be.