1

The Scrum Guide isn't very explicit about the scope of the Definition of Done.

Is it supposed to be:

  • defined in general for the project?
  • defined per sprint or per increment?
  • defined per story?
  • defined per backlog item?

I'm confused because after reading the Scrum Guide, I'm now reading the book "Head First Agile".

"Head First Agile" makes multiple allusions to the definition of "done" being for various scopes. E.g., a few quotes:

Page 92:

That’s why Scrum teams have a definition of “Done” for every item or feature that they add to the backlog.

Page 293:

All work items must satisfy our definition of “Done” to be considered complete"

Page 342:

A team member will never mark a feature complete until it satisfies the team’s definition of ‘done’.

Page 425:

A common way for teams to negotiate this is to have “give and take” where the current iteration’s definition of “done” includes some of the work, but agrees to include therest of the work in a future iteration.

Page 434:

Teams refine the requirements for the software that they build by gaining consensus on the acceptance criteria for each feature or work item, and these acceptance criteria combine to form the definition of “done” for the product increment.

11
  • I found (and to an extent still find) the idea of asking a team to come up with a 'Definition of Done' confusing. I tend to think that if a term needs defining, then it needs to be defined by the first person who used it, to clarify what they meant when they used it.
    – bdsl
    Commented Oct 20, 2020 at 18:57
  • Since the Scrum Guide uses the term "Done" in several places, arguably the guide itself should define it. Or maybe it doesn't always need to be defined explicitly since it has an ordinary English Language meaning.
    – bdsl
    Commented Oct 20, 2020 at 18:59
  • @bdsl: you are mixing up the definition for the phrase "definition of done" with the meaning of that phrase itself.
    – Doc Brown
    Commented Oct 20, 2020 at 19:06
  • @DocBrown I'm not sure I follow.
    – bdsl
    Commented Oct 21, 2020 at 10:21
  • @bdsl: the Scrum Guide surely should define what it means by "the team should come up with a Definition of Done". But by this line of thinking, it is clear, the Scrum Guide intentionally does not want to take any responsibility for giving a fixed, restricted definition for "Done" by itself.
    – Doc Brown
    Commented Oct 21, 2020 at 10:54

3 Answers 3

5

In the November 2017 edition of the Scrum Guide, it states that:

When a Product Backlog item or an Increment is described as "Done", everyone must understand what "Done" means. Although this may vary significantly per Scrum Team, members must have a shared understanding of what it means for work to be complete, to ensure transparency. This is the definition of "Done" for the Scrum Team and is used to assess when work is complete on the product Increment.

According to this paragraph, both Product Backlog Items and the product Increment can be described as "Done". However, there must be a shared understanding within the team and the various stakeholders what is meant when someone says that either a Product Backlog Item or the product Increment is "Done". This implies that there is a Definition of Done at both the Product Backlog Item and the product Increment level.

The Scrum Guide goes on to add some additional details regarding the scope of the Definition of Done.

The Definition of Done exists at a product level. If you have multiple teams collaborating on a product, there should be a shared baseline Definition of Done that ensures that the teams are working toward an integrated Increment at least once per Sprint. However, individual teams can adopt a more stringent Definition of Done than the shared baseline.

Teams or the group of teams collaborating on the product can enhance the Definition of Done. As the team or teams mature, there may be opportunities to improve the processes and add to the Definition of Done (at either the Product Backlog Item or product Increment level). The Sprint Retrospective is a good opportunity to identify how good the Definition of Done is and opportunities for improving it, and along with it, the quality of the product.

Although not a part of Scrum, some people would liken Acceptance Criteria to the Definition of Done. If there is work that must be completed for a particular Product Backlog Item to be considered Done, it can be added as Acceptance Criteria.

On a high level, I'd also point out that just because the Scrum Guide lays out certain rules doesn't mean that you can't do something else. Of course, if you break a Scrum rule, you shouldn't call what you are doing "Scrum", but that doesn't make it wrong or a bad process.

2
  • The just-released 2020 Scrum Guide has clarified the definition of done and somewhat recasts it as a quality commitment. This seems to support your answer.
    – amon
    Commented Nov 19, 2020 at 12:56
  • @amon Yep. I'm still digesting the update. I don't think that this one will change much, but I may need to revisit answers with the November 2020 update to point out the current thinking of the Scrum community versus my thinking on things.
    – Thomas Owens
    Commented Nov 19, 2020 at 13:15
5

The definition of done applies to the scrum team during the course of a project. The definition is applied to every story as a way of determining if the story is finished. You won't have a different definition of done for each story, that's what acceptance criteria is for.

It typically exists for the life of a project, but as with all things scrum, the team can change it whenever they think it will help make an improvement in their process. For example, part-way through a project, they may decide to add new criteria or remove some existing criteria depending on the needs of the team and the product.

The definition of done is simply an agreement among the team about a common understanding of what "done" means. For most teams it's some combination of factors such as:

  • Unit tests have been written "X% code coverage
  • All new code has been reviewed
  • All acceptance criteria have been met
  • Builds are passing in CI
  • All functions have documentation
  • Release notes have been updated
  • Product owner has reviewed the functionality
  • User guide has been updated for all user-visible changes
  • ... and so on.

Some will say the definition belongs at a higher organizational level than the team. For example, a project may require multiple teams to complete and thus have an organization-wide definition of done. The teams can share a definition of done, and almost certainly do share some aspects of the organization-wide definition, but scrum exists to empower the team, so the definition of done ultimately belongs to each team.

To answer your specific questions:

defined in general for the project?

It can be, especially if several teams are working together for a single project. However, each team has the opportunity to adjust it for themselves (eg: by adding more strict criteria). In my experience it's typically defined for the life of the team, though they may adjust it for the varying requirements of different projects.

defined per sprint or per increment?

Typically not. The definition of done usually exists for the life of a project. However, as with most things related to scrum, the team can change it if they think that is necessary.

In my experience, it is usually defined at the start of a project, or even earlier if the team is formed before the project starts.

defined per story?

No. Acceptance criteria are defined per story. The definition of done will usually include something along the lines of "all acceptance criteria has been met".

defined per backlog item?

Again, no. The definition of done is irrelevant for something that isn't being worked on.

-2

Done in scrum is about the individual backlog items/stories. Features are considered done if the defined items are done, sprints/iterations are time-based

2
  • 1
    It sounds like you're describing acceptance critiera, not the definition of done. Commented Oct 20, 2020 at 18:40
  • No, this is exactly as it works in scrum. In scrum itself the ownership is at the team level, nowhere else Commented Oct 21, 2020 at 10:42

Your Answer

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

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