User Stories are a way for technical and non-technical people to communicate about Software Requirements. It gives the developer and the stakeholder a way to describe the desired functionality of an application, in a common language.

User Stories follow the format:

As a __[role]__,
I want __[a feature]__,
So that __[a business need is satisfied]__.

The idea here is to clearly and succinctly identify:

  1. The Stakeholder
  2. The Feature (or bugfix)
  3. The Business Value provided by the feature

Acceptance Criteria

How do you know when you have completed the functionality requested by a User Story? The Acceptance Criteria is a checklist that lets the developer know when they have completed a User Story. Once all the items in the Acceptance Criteria checklist are satisfied, the developer can move to the next step of the Software Development process and release their code to Staging. In many cases, the list of acceptance criteria can be used as a guide to creating feature tests.