Late 2010 I started a project with my new team, everyone was relatively new to agile development. Although we were defining acceptance criteria for user stories but Product Owner and Quality Assurance team had different expectations on what is acceptable to them in a story. Below was my attempt to highlight the difference between different expectations.

Acceptance Criteria: Usually defines the scope of a user story and product owners expectations. Clarifies the product owners intent and what they see as acceptable for clients.

Definition of Done: It’s how we define the quality of a story, steps we must take to ensure the highest quality work delivered within a user story. This can be a quality agreement between developers and QAs.

Example Story: As a guest user, I want to be able to view a shared dashboard so I can view the latest trends in my industry.

Acceptance Criteria:

  1. A guest user must provide valid email address to access a shared dashboard.
  2. Dashboard access and privileges are correctly matched for a given email.
  3. A guest user must be able to view a dashboard on all supported browsers.

Definition of Done:

  1. No fatal errors in code.
  2. No new notices.
  3. Must have unit tests.
  4. Completed code docs.
  5. Code review finished.
  6. Code checked into the build branch.
  7. Interfaces works on all supported browsers.
  8. Performance checks are successful

Let me ask how your team writes story acceptance criteria and creates quality parameters?

The above comparison helped my team to have a greater understanding of delivering high quality features; it also helped us to create a fun development environment where team members were not getting frustrated over compiling errors.