Agile Methodologies: User Stories and Acceptance Criteria

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

3) Estimate

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.