Both Scrum and XP rely on User Stories to describe features required for delivery at the end of a Sprint/Iteration; and provide a basis for Time Estimates and Acceptance Criteria. This entry covers what User Stories and Acceptance Criteria are, how to write, and use.
What are User Stories?
User stories are a short description of a system requirement or feature, understandable for both the customer and developers; without covering technical details. Based on User Stories, developers communicate with the customer to find details about how to implement. These are short enough, so developers can cover roughly 6 in an Iteration. User Stories provide temporary documentation.
User Story template:
User stories consist of 3 short statements:
1) As a: describing the role of the end user. E.g.: As an online shopper.
2) I want: describing the feature. E.g.: I want to be able to pay online.
3) So that: describing why this functionality is needed. E.g.: So that I do no need to use cash.
Stories are written on Story Cards:
1) Title: Short title for the specific feature/requirement
2) User Story
What are Acceptance Criteria?
Acceptance Criteria provide means for testing, and ensuring that a User Story has been properly implemented. Quick, short paragraphs, without technical details, aiming at helping testers; written on the back of a Story Card.
Acceptance Criteria Template:
Acceptance Criteria consist of 3 statements:
1) Given: initial context. E.g.: Given I have chosen items and delivery method.
2) When: event occurs. E.g.: When I am ready to pay for my products.
3) Then: outcome. E.g.: Then process online payment.
NOTE: Entry relies heavily on course materials from the 'Agile Methods' class, at Oxford University.