User Story Overview
A user story is an element used in Agile software development that contains a description of a requirement from an end-user perspective. With this user story description, users describe the role or type of user, what they want to achieve and why.
E.g. As a customer, I want to be able to save my credit card details so that I don’t have to enter my card details every time I purchase on the website.
User stories include a short, simple and complete description of the user’s needs as well as enough relevant information as to be implemented by developers during a sprint.
Characteristics of a Good User Story
A good user story is INVEST:
- Independent: User stories should be self-contained, independent of other user stories.
- Negotiable: You should be able to make changes to a user story and rewrite it until it is implemented in a time box.
- Valuable: Each user story should deliver a business value to the user.
- Estimable: You should be able to estimate and determine the size/effort of a user story.
- Small: User stories should be small enough to fit in a time box.
- Testable: User stories need to provide information that is necessary for testing, i.e. to make the development of tests possible.