Definition of Done - Scrum
My personal notes on Definition of Done, new insights I got from a recent certified Scrum training.
Takeaway: Scrum Team benefits more when they understand the purpose of DoD.
What and Who
A shared understanding in Scrum Team on when a Product Backlog Item (PBI) is considered done.
Scrum Team consists of:
- Development Team (DT)
- Product Owner (PO)
- Scrum Master (SM)
Why
Scrum Team benefits more when they understand the purpose of DoD.
By knowing why, Scrum Team is able to design an effective DoD, and make better trade-offs when a PBI is not done.
So what’s the purpose of DoD?
A smart Scrum Team uses DoD as a tool to
- reduce risks
- and deliver value early.
Scrum Team also makes DoD explicit to improve transparency to all people involved.
When and Where
When project started, Scrum Team defines DoD. Scrum Team may update DoD, but will keep it stable.
When a PBI is not done by end of Sprint, Scrum Team moves it back into Product Backlog.
DT usually re-schedules it into next Sprint.
But sometimes, together with PO, DT may split it into smaller ones, simplify it, or lower its priority and revisit in future.
How
By understanding the purpose of DoD, Scrum Team is in a better position to design DoD that helps to reduce risks and deliver value earlier.
Identify risks
Start by identifying potential risks.
Some common risks to consider:
- Not fulfilling contractual obligations (Must deliver system documentation)
- Not delivering non-functional requirements (Support both desktop & mobile devices; N seconds page load time)
- Not building product right (Low quality; Many open bug tickets)
- Not building right product (Feature not useful)
- Users unhappy with your product
Mitigate risks in DoD
Next, plan risk mitigations into DoD.
Potential Risk | Risk Mitigation Plan in DoD |
---|---|
Not fulfilling contractual obligations (Must deliver system documentation) | System documentation is updated |
Not delivering non-functional requirements (Support both desktop & mobile devices; N seconds page load time) | Responsive UI test suite passing; Performance test suite passing |
Not building product right (Low quality; Many open bug tickets) | Code review done; Unit test suite passing; No P1 and P2 open bug tickets |
Not building right product (Feature is not useful) | User acceptance test suite passing; Accepted by Product Owner |
Users unhappy with your product | Deployed to UAT environment; End-user UAT testing conducted |
Make it explicit
Write it down clearly, so that it’s transparent to all team members and stakeholders.
Definition of Done PBI
======================
[ ] Code review done
[ ] Unit test suite passing
[ ] Responsive UI test suite passing
[ ] Performance test suite passing
[ ] User acceptance test suite passing
[ ] System documentation updated
[ ] Deployed to UAT environment
[ ] End-user UAT testing conducted
[ ] No P1 and P2 open bug tickets
[ ] Accepted by Product Owner
Automate when possible
An effective Scrum Team will automate repeating routines in DoD using Agile engineering tools, such as Continuous Integration (CI) and automated testing frameworks.
FAQ: Who verify PBI is done according to DoD?
Short answer: Scrum Team will self-verify.
People with “command-and-control” project management background usually expect a “project manager” to assign work and verify results.
One key difference in Scrum, imho, is there is no “manager”-equivalent role in Scrum Team.
A mature Scrum Team is fully self-managed.
Responsibility is distributed within Scrum Team. For example, DT with programming knowledge helps to automate product quality verifications and PO with more user knowledge helps to validate they are building the right product for users.