Rules

Secret ingredients to quality software

Do Your User Stories Include Acceptance Criteria? (aka Never assume automatic Gold Plating)

Last updated by Tiago Araújo [SSW] on 25 May 2021 11:20 pm (2 months ago) See History

Most teams are getting the hang of User Stories that have subtasks. Unfortunately the same can’t be said about acceptance criteria. It is so important because real user stories tell a team when the task is done.

Also, Product Owners should not get heartburn because ‘obvious’ functionality was not included. All requirements should be specified in the Acceptance Criteria.

For example, Product Owners should not assume things like:

  • they will get a message that says ‘no records found’ or
  • the grid will support features such as pagination or sorting

They must be specified in the Acceptance Criteria if required.

There are 2 parts to getting this right. The Acceptance Criteria, then the Acceptance Tests:

DevsAndUsers
Figure: You need a common language to communicate in

Acceptance Criteria (from the Product Owner) define the exact requirements that must be met for the story to be completed. They answer the question, "How will I know when I' m done with the story?"

acceptance criteria
Figure: A User Story with Acceptance Criteria (MSF Agile Template)

When I enter ‘Adam’ in the search box and click 'Search' I will see all entries starting with 'Adam' in the grid.

Figure: Bad Example of Acceptance Criteria - Incomplete

Positive Test -When I enter ‘Adam’ in the Search box and click ‘Search’ I will see all entries starting with Adam in the Grid Negative Test - When I enter ‘zzz’ in the Search box and click ‘Search’ I will see *no* entries in the Grid

Figure: OK Example of Acceptance Criteria

Positive Test -When I enter ‘Adam’ in the Search box and click ‘Search’ I will see all entries starting with Adam in the Grid Negative Test - When I enter ‘zzz’ in the Search box and click ‘Search’ I will see *no* entries in the Grid Gold Plating - If no results are retuned show a message box ‘No results found’ Gold Plating – Validation: If no search text is entered, the ‘Search’ button should be disabled Gold Plating – Right-clicking on a column header should provide ‘Sort’ functionality Gold Plating – if a large set of results is returned, display pagination with page numbers and ‘Prev’, ‘Next’ links

Figure: Good Example of Acceptance Criteria – Including Gold Plating

For tiny stories, you can omit acceptance criteria. Sometimes you just need a screenshot, or even better a video.

See screenshot and video. Screenshot – see PDF Video - http://ww w.youtube.com/watch?v=M3FH4D9QuzU

Figure: Good Example for a simple change – just include a screen capture and/or video

Adam StephensenAdam Stephensen

We open source. This page is on GitHub