Skip to main content

DONE Understanding Of The Definition Of "Done”

December 16, 2019

Definition of Done

 

Professional Scrum Master (PSM-I) workshop has a module that talks about the Definition of DONE (DoD) and Technical Debt. I have often come across several students who find this concept confusing. This article is a small attempt to have better clarity on these topics. Let us take a look at the DoD-

As stated in Scrum Guides the Definition of Done (DoD) is –

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

In short, DoD is a shared understanding within the Scrum Team on what it takes to make your Product Increment releasable.

DONE = Releasable

It wouldn’t be an exaggeration in telling that everything in this universe that is meant for delivery will have DoD. Let us take a look at the below questions-

  • What does it take for the Rocket to launch?
  • What does it take for the service engineer to call the customer for the delivery of his/her vehicle?
  • What does it take for a Doctor to say ‘The Surgery is a Success?’
  • What does it take for the Development team to put the Product into Production?

and many more questions that come across in our day to day lives.

Specifically, when we talk about Product Development (considering the system/software/solution), the DoD consists of 3 main components:

  • Business or Functional requirements
  • Quality
  • Non-Functional Requirements
Requirements


Business or Functional requirements

This is the standard business requirement that is assumed to carry value in the Product as functionality and this can also be written in the form of User Stories and it carries acceptance criteria as well.

User Story Template


Example:

USTEx1

 

USTEx2

 

Quality


Quality

Quality is largely aligned to the coding language/Rapid Application Development (RAD)/technical tools to build the Product. Quality is owned by the Development team to ensure that the product is of the maximum quality. These quality standards can be subjective, and also data-driven.

Example:

  • Defined coding standards (like identified in tools – FxCop etc)
  • Test- Driven Development
  • Unit Test Coverage
  • Maintainability Index
  • No Defects/Known Defects
  • Technical Debt
  • Design Principles etc.
NFR


Non-Functional Requirements
These are the standard characteristics or attributes of the Product that might not add direct business value but without which your Product can’t move. These quality assurance attributes of the Product can be considered under the quality component too.
Example:

  • Availability
  • Maintainability
  • Performance
  • Reliability
  • Scalability
  • Security
  • Usability
  • Compliance/Regulatory
  • Legal

Non- Functional Requirements (NFR)s usually take their place in Acceptance Criteria or the Product Backlog as Product Backlog Item (requirement). These are also the key to Product success and hence are part of the DoD too.
Few Example of DoDs (New to Mature and Stringent)

Example

FAQ’s on DoD – Definition of DONE

Do we need everything as a part of DoD?
It depends on the nature of the business that the Product is dealing with.

Do we need to have all these parameters from the first Sprint?
Since the product evolves over a period and so do the requirements, it can’t be definitive whether we need all the parameters from Sprint 1. Initially, the team starts with the lean DoD and evolves along with the product and is a more learned approach.

Where do we need to have the DoD? Is it at the Product Level/Sprint Level/Story Level?
Because it is the product that gets released to the market, the DoD is always at the Product level.
Meanwhile, since we are working with Sprints, every Sprint must create a releasable Increment of Product and this means that the DoD needs to be met every Sprint to make the Product releasable. The user stories are part of your Sprint deliverables, so to make every story releasable (functional releases) as part of the Product, it must meet the DoD of the Product.
If multiple Scrum teams are working on the same product, then there are chances of each Scrum team having their own DoD. However, the integrated work of all the Scrum Teams put together must meet the DoD of the Product, which means their combined/integrated work must be releasable.

How does DoD help in increasing transparency within the Scrum Team?
DoD is a shared understanding with-in the Scrum team on what DONE increment of Product means and this increases (raises) transparency in the team.
Whereas, if we consider the DoD as a plain checklist for the development team to complete their work, this might end up being a mere checklist document for the sake of having it and this type of DoD hardly evolve or refine which results in low confidence with-in the Scrum team to declare a Product as DONE/RELEASABLE and this also make Increment of low quality and non-releasable with pile-up of UNDONE work.

What is the impact if the Definition of DONE (DoD) is not defined?
There is no transparency if a Product increment is releasable, impact on estimations or unrealistic estimates, inaccurate forecast on Sprint work, difficult for the Product Owner to understand the progress on the Product, inefficient inspection and adaptation at Sprint Review

What is UNDONE in context with DoD?
Any work mentioned in the DOD that is required to create a releasable increment; however is not completed is referred to as UNDONE.

What is the difference between shippable and releasable Increment of the Product?
Shippable refers to some undone work (mostly related to approvals) which eventually stops the Product Increment release into the market. Therefore, Shippable is like Almost DONE, which can be referred to as Definition of Almost Done (DoAD). In simpler words, it could be understood as, when we are DONE with the work, whereas the approval is pending from User Acceptance Testing (UAT)/Compliance/Legal/ because of any pending documentation.
In this kind of a scenario, your Product is not releasable, but the team refers to this as shippable, popularly known as DONE (Shippable) DONE (Releasable). Whenever we ask, is your work “DONE” or “DONE DONE”, the first one is referred to as Shippable and the later one is referred to as Releasable.
PS: Several definitions of ‘Done’ focus only on development activities. However, such activities in themselves hold no guarantee of high quality.


What did you think about this post?

Comments (21)


Arcan Chan
01:46 am December 27, 2019

could you release a shippable story that is not releasable (let's say, for example the documentation is pending)? if so, what do you do with that story after release?


David
07:20 pm March 7, 2020

The answer is within your question: You can't release it if it's not releasable.
As long as a PBI is not done (according to the DoD), it will not be released and "spills over" the sprint.


Arcan Chan
03:09 pm March 8, 2020

I think it is very hard to argue that you are not going to release a feature that is needed, "just because" the internal documentation is pending... :/


Arcan Chan
05:56 pm April 1, 2020

what do you mean by "Sprint level" and "product level" ?


Luis Acereto
08:25 pm June 3, 2020

I think all depends, if you are doing the "internal documentation" but it does not add value, then in first place why are you doing it? If it does add value, and you still want to release then it sounds to me that corners are being cut and you are accumulating a debt that sooner or later will need to be paid, and all we know what happens if we allow that debt to grow without control. I think DoD should be public, so everyone understand what it takes for a team or teams to say a story is done.


Unsung Patriot
07:23 am August 24, 2020

Usually product / feature releases to the market doesn't happen as frequently as a sprint release . To that effect a sprint release qualifies for a "working software" if the documentation can be taken up in the next sprint without jeopardizing the product release or calling the current sprint as a failure ( as DoD hasn't been strictly met ) .


Stella Sun
07:40 pm September 16, 2020

what if it takes about 2 sprint to finish a feature? That feature cannot be further broken down to implement to provide business value.
We can only say the DOD is for features that can be completed within a sprint. Do you have any experience as to analysis or discovery to find out next steps? How can we define DOD and DOR for them? Thanks.


Alfonso
10:21 am September 30, 2020

When is the DoD defined? Sprint 0? First Sprint Planning?
I know it may be adapted on each iteration during the Sprint Retrospective. But when does it get created exactly?

Thanks


Patrice Fornalik
03:57 am October 6, 2020

A first level of DOD must be defined before first sprint 1(be carrefull sprint 0 doesnt exit in scrum).


Jamie M
08:04 am November 23, 2020

Again, this begs the question: when and how does this “internal documentation” work get done? If it’s done in another sprint on the sly, then it lacks transparency and affects velocity.

The way I understand it is, assuming there is value in it, it should be done as part of DoD. In order for DoD/Scrum to work, it has to be respected by the delivery team AND the business.

E.g. Imagine you’re building a house, and you ask the architect to skip drawing up blue prints if they already have the plan in their head. The house is built in one go. Then you need to remove a wall and repair a leak, but the architect is busy on another house. How much more do you spend for a builder to determine whether the wall is structural or not? How much quicker could a plumber repair the leak if they had a schematic of the pipes under the floors? Overreaching with features and skipping DoD is a false economy. You always end up paying.


Noceps
11:16 am November 24, 2020

By DOR do you mean Definition of Release?


Jeroen
11:57 pm December 2, 2020

In the scrum guide it says the following about the DoD creation:
" If the Definition of Done for an increment is part of the standards of the organization, all Scrum Teams
must follow it as a minimum. If it is not an organizational standard, the Scrum Team must create a
Definition of Done appropriate for the product. "

But in the Scrum.org open assesment of PSPO 1 it says the following about the DoD creation:
"If the definition of "done" is part of the conventions, standards or guidelines of the development organization, all Scrum Teams must follow it as a minimum. The Development Team of the Scrum Team can complement it with elements specific for the product or context.
If "done" for an increment is not a convention of the development organization, the Development Team of the Scrum Team must define a definition of "done" appropriate for the product."

So, in the first case it says that (if the organization doesn't have a DoD) the scrum team as a whole should create a DoD. Whilst in the second case it says the development team should create a DoD (if the organization doesn't have a DoD). Which one is correct?

Thank you


Jeroen
12:01 am December 3, 2020

Another question regarding the Definition of Done, when is the best time to adapt this? Is this only during the Sprint Retrospective? Or at any time 'when needed'?

Thank you!


Kat K
01:26 pm March 17, 2021

My team does the sort of work which will 70% of the time require sign off from an external party. if they always have to wait for this sign off, stories will carry over to the next sprint. How should they approach this? a) change their DoD to not include sign off, close stories, and add a new 'story' or task as a placeholder to the next sprint to capture sign off required? or b) stick with doD including sign off and carry stories over to following sprints?


Scott Silvester
02:15 am March 22, 2021

It probably depends on who the external party is. Are they a key stakeholder? If they're a key stakeholder then they could have their input in the Sprint Review (I may be simplifying too much here).
Ultimately though, if the external party sign-off is not adding value to the releasable increment, then potentially taking them off the DoD should be discussed by the scrum team in the next Sprint Retrospective.


Narayann Swaami
11:16 am April 9, 2021

Sumeet - Done and Done Done are still not popular lingo or that widely understood yet. Are these suggestions or Scrum.org suggested language? Can you please throw light - and that would be most helpful!


Simon
09:45 am August 24, 2021

personally I've always said "if it is ready for sign off, then it's done" and then create followup tickets if changes are requested. Otherwise you just keep dragging stories along.


Kikiana LOVE
05:21 pm September 6, 2021

Thanks for explaining where NFR's can go to be visible. DoD and PBI


demonjanada
07:41 pm October 21, 2021

Hi you're saying "..If multiple Scrum teams are working on the same product, then there are chances of each Scrum team having their own DoD.." and "..if we consider the DoD as a plain checklist for the development team to complete their work, this might end up being a mere checklist document for the sake of having it and this type of DoD hardly evolve or refine which results in low confidence with-in the Scrum team to declare a Product as DONE/RELEASABLE" so my question is: what would you suggest as having something that will make a guideline for the entire DoD for the organization but then defined something for the particular team without making it a checklist?


Patrick Martin
08:18 pm February 23, 2022

Great article. Wouldn't it be easier if DoD was simply a set of standard AC's that were added to the list of Story specific AC's?

Developers have difficulty understanding the differentiation. We here DO understand the difference but developers have a different mindset and see things in b/w. They just don't get why each Story has its own AC's followed by a link to a DoD definition instead of just a straight list of AC's. I've spent so much time explaining the difference down the years that I've concluded its easier just to retire DoD and just bundle Functional and NFR's together in one single AC list.


Dimitris Christofi
01:53 pm January 22, 2024

I read that the DoD can change/be adapted before the Product release but i don't see this mentioned in Scrum Guide 2020. How do i know that we can change it?