A user story is a tool used in Agile software development 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 card. The user stories should be written by the business in the language of the customer so that it is clear to both the business and the development team what the customer wants and why. The development team takes care of how to develop the code that will satisfy the requirements of the user story. The developers collaborate closely with the business owners to clarify the details as the code gets developed.
A story board can be used to track the flow of a user story through the development life cycle. The user story, often written on colored cards or sticky notes, serves as a placeholder that can be physically moved from across the story board as work is completed. The user story will lead to conversations between business and development. The idea behind keeping the story simple is that it is better to have a conversation than to try and document every detail.