User stories are short descriptions of features (usually of an application), which are told from the user’s perspective. They usually follow this format:
As a <type of user>, I want <some goal> so that <some reason>.
As an user administrator, I can add new users to the system, so that they can log in.
User stories can be simple or complex. Really complex stories can be called epics, and should be divided into several shorter stories. An epic could be:
As an user administrator, I can control the users of the system, so all authorized people can effectively use it, within the limits set according to their responsibilities.
Detail can also be added to stories as conditions of satisfaction. For the first example, these could be:
– Administrator can add users first and last name, email address and description.
– Administrator can change all the information about the user.
– User gets an email notification when they can log in.
When following agile development principles, anyone can write new users stories at any time. These can then be discussed by stakeholders of the project. The main purpose of stories is to facilitate discussion and understanding about the features between users, developer and other stakeholders.