21

I don't get what is the difference between both. They seem to be similar to me. For instance, I have this typical login/register User Story. Can you provide some DOD examples?

As a user

I want to register and login

So that I can register on application and start using cloud memory

Acceptance criteria:

  1. I should be able to hit the URL

  2. I should be able to view and select "Register" button

  3. I should be redirected to "Register" form

  4. After user submits the form an email will be sent to his/her registered email id, this email will the account password

  5. This password can be changed

  6. After completing my registration I will be able to select a package suitable for me.

  7. I can also register via Facebook, Twitter, Google.

1
  • Echoing several folks below... for the Scrum teams I've run: Acceptance criteria are the performance or other metrics that define the acceptable functionality/performance/content of a story; Definition of Done (or Done Done) are the rules that the development team, Product Owner, and to some extent the organization have agreed on when they mean a story is ready for delivery (code meets acceptance criteria, has proper docs, has been properly tested, could be delivered as part of the product if the PO says go, etc.)
    – Polymath
    Jun 8, 2016 at 18:29

9 Answers 9

18

The acceptance criteria you have listed are really a mixture of stories and tasks.

Given your example story:

As a user I want to register and log in so that I can register on the application and start using cloud memory

I would break that down in to:

As a user I want to register so that I can gain access to and start using cloud memory

and

As a user I want to log in so that I can securely access my cloud memory account

Several of your acceptance criteria are also user stories. For example:

As a user I want to be able to change my password so that my account is more secure

and

As a user I want to be able to register using Facebook so that I can quickly and conveniently register without typing in all my details again

...and so on.

Acceptance Criteria

Acceptance criteria are story specific requirements that must be met for the story to be completed. They are a technique for adding functional detail to user stories. Acceptance criteria are often added during backlog refinement or during the sprint planning meeting.

Some examples of acceptance criteria:

No password longer than 16 characters should be allowed

VAT should be included in all figures

These acceptance criteria add details to the user story and they also provide a convenient guide for testing the completeness of the story.

Tasks

As a part of a user story, you might define some sub-tasks which are related to implementation. For example, as a part of the registration user story the development team might add a sub-task:

Add a "Register" button that the users can click on

and

Add in an HTTP redirect for unregistered users to the registration page

Tasks are used by the technical team to help them organize the work on the story. Typically tasks would be of no interest to non-technical people.

Definition of done

The definition of done is a list of things that need to be completed for any story to be considered done.

The definition of done is agreed by the team prior to starting work. It covers what the team feels is necessary to consider any story done.

Examples might be:

Regression testing completed

User documentation updated to reflect new story

Seen by and approved by the Product Owner

Performance testing benchmark achieved

Architecture updated

Peer reviewed

2
  • does that mean, Acceptance criteria are more inclined towards business users and should include functional details and DoD is something which is inclined towards Dev Team and it's ok even if Business users don't understand the DoD (e.g. Business understand may or may not understand the meaning Peer Review, Integration test)? Apr 22, 2022 at 12:52
  • That's a great question. I think the description you use is a good one. There will be the occasional exception, but it will hold true a lot of the time. As you say, the DoD is an artifact of the Dev Team, so it doesn't need to be understood by non-technical people. I would hope the Dev Team would do their best to explain it to the Product Owner though, so that they have good context. Apr 22, 2022 at 21:31
5

The acceptance criteria are to verify the new feature is working as expected by the stakeholders. They are better called Business Facing Tests.

A business-facing test is a test that's intended to be used as an aid to communicating with the non-programming members of a development team such as customers, users, business analysts and the like

The definition of done is to see if the feature is ready to be deployed to production and only for programming team members. The definition could include that the feature has tests, documentation is updated, release notes are written, version control is cleaned and anything your team needs todo to make it able to release this feature. Some also call it DoneDone as in really done.

Example Definition of Done from the Scrum Shock Therapy:

My initial definition of "Done" is this:

  • Feature Complete
  • Code Complete
  • No known defects
  • Approved by the Product Owner
  • Production Ready

Also have a look at the definition of ready, which is used to check if user stories are ready to be picked up by the development team. It should include that the acceptance criteria have been written.

1

This is an excellent question and its something that I have seen to be confusing for many teams and Product Owners.

The easiest way to remember the difference is simply to ask yourself this question:

Is this story specific or do all stories need to do this before they are considered done?

If the answer is that it is story specific, then it is acceptance criteria for the story.

If the answer is that generally all stories need to do this before being considered done, then it is a perfect candidate for Definition of Done, which you should take to the team for consideration.

Definition of Done should be something that changes over time and I recommend that you get your team to have a fresh look at it every 2 months or so to make sure its serving them well.

Sometimes something which was once acceptance criteria becomes part of their definition of done.

1

I have an answer based on my experience, but after googling around a bit, it seems that the answer is whatever works best for you in your process. As David Espina mentioned in his answer, they can be the same, or they can be different.

In my experience:

Acceptance Criteria are a set of statements, each with a clear pass/fail result, that specify functional (e.g., minimal marketable functionality) requirements. These requirements represent “conditions of satisfaction.” There is no partial acceptance: either a criterion is met or it is not.

Definition of Done is a set of statements that specify non-functional (e.g., minimal quality) requirements. These requirements represent “conditions of satisfaction.” There is no partial acceptance: either a criterion is met or it is not.

The difference between the two is functional vs nonfunctional. The non-functional conditions usually consist of things like code reviews and unit tests among other things that do not deliver traditional value but are measures to ensure a high-quality product.

0

In my opinion, there is no difference. Definition of done and acceptance criteria are used interchangeably. You cannot meet the definition of done without all criteria being met and you cannot be not done if all criteria have been met. If you find yourself in the latter, then you simply have two sets of criteria for some unknown reason.

2
  • I think you have a point here. Do we really need two sets of criteria, probably not! But the non-business requirements are probably the same for each feature, where the business requirements are always different and it maybe does not make sense to define the non-business requirements for each feature separately. Somehow having two lists does make sense, not? The naming is a bit off though. Jun 7, 2016 at 16:32
  • I typically approach these answers industry and domain agnostic. Jun 7, 2016 at 16:54
0

A definition of done is something that all your stories should adhere to.

An Acceptance Criteria is specific to the Story you'll be working at.

0

There are two cars on a production line.

The definition of done is that each car must be fully built, meets its respective specification, is ready to drive away and has passed all tests.

The acceptance criteria (specification) for the first car (mini) includes polyester seat covers, plastic dashboard and manual windows.

The acceptance criteria of the second car (Roller) includes bar, leather seats, seat warmer, bulletproof glass, ejection seat and charming companion.

Q.E.D

0

The Definition of Done is for the product Increment, according to the Scrum Guide. DoD does not work for User Stories, but Acceptance Criteria does.

Thus, Acceptance Criteria describe functionality that is required only from the specific User Story or task.

1
  • Per the Scrum Guide, "When a Product Backlog item or an Increment is described as 'Done'". Stories are Product Backlog items, and so DoD does apply for them.
    – Sarov
    Dec 10, 2018 at 14:27
0

The goal of definition of done is to build a common understanding within the team regarding quality and completeness of a product built and ensure that each increment shipped is of a high quality. the list may include the following: - code is deployed to test environment - unit tests run and all pass - code peer reviewed - tested by QA team (environment) - defects fixed - Acceptance criteria met - Story is demonstrated to PO and accepted - etc We must meet the definition of done to ensure quality.

Acceptance criteria is actually a part of DoD. The goal of acceptance criteria is to clarify what the team should build and ensure that everyone has a common understanding on the feature and the outcome

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.