Also known as
OPTIONAL: Potential alternative ways to express what is on this card.
Motivation
Did you ever come across the situation when you walked up to the story wall, picked up your story and proudly moved it to done state? Moment later the tester comes to you and asks is it deployed on the Test server, so that I can test that? Scrum master asks, is that shown to the Product owner? Other dev asks are they still pending tests cases to commit 'cause I see some of them missing here. And you response was probably No.
So scrums provides something called Defination of Done(DoD) , which is nothing but a quick Checklist to verify tasks to be done before a story is actually Done. Tasks in the definition are mutually agreed between the development team and the Product Owner.
Applicability
DoD can basically be applied to every Business/Technical story, though they may differ a bit in the sets of activities. For e.g, A Refactoring technical story done as a part of technical debt will not be showcased to the product owner.
Application
DoD can be put as points on a sheet of paper against your story wall. But if you don't have a story wall and you are using Agile Software management tools such as Mingle/ScrumWorks/Rally . In that case it is generally put up in the wiki and cross referenced when story is done.
Consequences
The result is everyone is one the same page .It also leads to better story estimation because you don't just estimate for the lines of code to make that feature working but other things as well.
Samples
Sample definition of done:
- Have all the acceptance criteria implemented as specified in the story.
- Sufficient unit test around the code (let's say 80%).
- Code's peer review is done if necessary.
- The story is deployed on the test server using CI.
- Functional tests are written for the story.
- Story is signed off by the product owner.