Definition of done
What is the definition of done? Development teams often talk about the “definition of done”. It’s the term they use to describe when a piece of work is complete. It usually includes criteria like unit tests, documentation, and whatever sort of integration work that needs to happen to essentially dot all their i’s and cross all their t’s. However, it can be more than that, as you’ll find out below.
Why do we need a definition for done?
Having a definition of done ensures that everyone on the team is aware of what tasks need to be completed before a piece of work is classed as “done” and doesn’t require any more work. A shared understanding means there are no surprises and last-minute rushes when the feature is launched. The definition of done is an important tenet in various agile development methodologies – you can see some examples here.
What should included in the definition of done?
It’s easy to consider that completing all the code changes means a new feature is done, but it’s important to also consider all testing, documentation, and operational tasks too.
For the feature to be used by customers, it must also have technical and functional documentation. Depending on how integrated the product team is with non-technical functions, the definition of done may also include pricing, sales and marketing copy, website update etc – the information needed to conduct a successful launch.
How should we communicate the definition of done?
There is a lot to consider, and it’s clear that every product and team will have a different definition. That’s why it’s important to document it and ensure everyone is aware of its existence and contents.
As well as documenting the definition of done and storing it somewhere accessible to all (wiki or intranet, for example), it can helpful to ensure it is set up as a checklist which is used on every new feature or product change. That will help to ensure that, as well as being documented, it is actively used and valuable to the team as they attempt to put new features in the hands of their users, and solve market problems.