Guide to getting started with a Definition Of Done
April 11, 2021
Definitions of done are used in agile teams to help maintain quality and set standards when producing work. It helps new developers to also understand what is required of them when joining a new team.
I have been involved in developing definitions of done as well as following existing ones, in this blog post I’ll be sharing some helpful information on getting started with creating a definition of done.
When creating the definition of done it is recommended to do this as a team including any additional stakeholders such as product owners to encourage more buy-in and provide different prospectives that may otherwise be missed.
The Benefits
The definition of done aims to set the standard of quality within a team. Providing more confidence that stories are suitable for deployment and can be closed with confidence while ideally reducing potential issues and future rework.
Where to start?
You can start by identifying the root causes of any previous incidents. Anything that could have been avoided by having a baseline checklist in spot is a great place to start.
Below is a definition of done example you may wish to use for ideas when developing your own.04
- Documentation Updated
- Change Advisory Board ticket create
- Peer-Reviewed
- Knowledge Base article added
- Passes Linting & Style Guide
- Acceptance Criteria met
- Unit testing
- Integration testing
- User Testing
It is important to remember that the definition of done and the acceptance criteria are separate, with acceptance criteria focusing on the story where the definition of done focuses on the underlying standards that the team follows.
Definition of Done checklists for pull requests
You can also produce a definition of done checklist that can be included as a part of your projects pull requests. a definition of done checklist can be added as a part of the process before raising code reviews.
Definition of Done checklists can also be expanded out to security checks as well simple things to check for before releasing your feature which examples may include
- I have checked my feature against the OWASP top 10
- I am using a secrets manager to store any credentials
- I have checked my feature for any information leaks
Summary
Iterating on an agile teams processes and adding new ones is an excellent return on investment, a definition of done plus a definition of done checklist can help with the quality and consistency of the product development as well as help developers catch things they may otherwise miss