DEV Community

Mauro López
Mauro López

Posted on

Explained: Definition of done

As engineers, our responsibilities don't lie only in writing the code but also to develop a solution that meets standards of quality. To guarantee that quality it is recommended to define what we can expect from a ticket that is done, this is called “definition of done”.

Normally, each team has its own definition of done. For sure, it can change between teams and commonly the responsibilities for developers are:

  • Make sure to cover ticket accepts criteria
  • Create Unit test to methods created and updated
  • Make a pull request and attend requested changes if there is any
  • Make sure Pull Request is closed before continues process
  • Make smoke testing of ticket on controlled environment

There are sometimes due to any external situation where your work related to code is done but still the ticket does not satisfy what “done” means to the project, so even when it feels like it is done, the ticket is not yet!!!

It’s very important to know that there exist mechanisms to manage this type of situation. All of them resume on raising your hand, but there are different ways you can raise the hand.

  • Meeting
  • Official communication channel
  • Ticket comments
  • Email

If daily meetings as stand up take place on your project, you must use them to mention the current situation and also, request the actions to remove the blocker. However, there is a phrase that says “words are gone with the wind”, so if you don't see any movement on your blocked ticket, you should use the official communication channel, as Slack for example, to remember the actions needed. If that doesn't solve the issue you can proceed to write a comment on the ticket and also flag it. If after all this, the situation persists, you can use the email to communicate and explain the context.

Conclusions:

  • Always have present what “done” mean for your team and make sure your tickets meet those standards
  • Is totally normal that a random situation appears and blocks your intention to make your ticket accomplish the definition of done, but raising your hand as soon as possible you can mitigate risks.

Top comments (2)

Collapse
 
bcosynot profile image
Vivek Ranjan

A well accepted definition of done is a great way to make sure your team is on the same page.

Its also great way for everyone to know what all needs to be done before you can call a story complete so you can break it down. All stakeholders are much more aware of the status.

Collapse
 
maurolopezj profile image
Mauro López

Totally agree. I would add that if you start working on a ticket without having clear the definition of done, it is a flag about possible risks.