DEV Community

Cover image for What is the definition of done (DoD)
Mo
Mo

Posted on

1

What is the definition of done (DoD)

One of the key concepts in agile software development is the definition of done (DoD). The DoD is a set of criteria that a user story or a feature must meet before it can be considered as completed and ready for production. The DoD helps to ensure that the quality and functionality of the product are consistent and aligned with the expectations of the stakeholders.

The DoD can vary depending on the context and the scope of the project. Still, it should always be clear and agreed upon by all team members involved in the development process, such as product owners, project managers, developers and QA team members. Having a clear and shared DoD can help to avoid any confusion or misinterpretation of user stories from the beginning to the end, and to deliver value to the customers faster and more efficiently.

Some of the common elements that a DoD may include are:

  • The user story or feature is implemented according to the acceptance criteria and meets the functional and non-functional requirements.
  • The code is written following the coding standards and best practices and is reviewed by at least one peer.
  • The code is tested at different levels (unit, integration, system, etc.) and has adequate test coverage.
  • The code is integrated with the main branch and passes the continuous integration and continuous delivery (CI/CD) pipeline.
  • The code is deployed to a staging environment and verified by the QA team or the product owner.
  • The code is documented with clear comments and instructions for future maintenance.
  • The stakeholders approve the code and meet their expectations.

The DoD is not a static or fixed document, but rather a dynamic and evolving one. It should be reviewed and updated regularly to reflect the changes in the project requirements, scope, technology, or feedback. The DoD should also be communicated and visible to all team members and stakeholders so that everyone is aware of what it means to be done.

The DoD is a powerful tool that can help to improve the quality, efficiency, and collaboration of agile software development teams. By having a correct and ideal DoD, we can ensure that we deliver valuable products that meet the needs and expectations of our customers.

Reinvent your career. Join DEV.

It takes one minute and is worth it for your career.

Get started

Top comments (0)

Heroku

This site is powered by Heroku

Heroku was created by developers, for developers. Get started today and find out why Heroku has been the platform of choice for brands like DEV for over a decade.

Sign Up

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay