In the context of agile development, the Definition of Done is a set of clear and well-defined criteria that outlines the completion requirements for each task, user story, or feature. Think of it as a checklist that guides our development teams to ensure that the work they do is thoroughly completed and ready for deployment. This way, we can maintain a consistent level of quality throughout the development process and deliver outstanding software solutions.
USER STORIES
The most common use of DOD is on the delivery team level. Done on this level means the Product Owner reviewed and accepted the user story. Once accepted, the “done” user story will contribute to the team’s velocity. You must meet all of the defined criteria or the user story isn’t done. User Story DOD Examples:
1. Unit tests passed
2. Code reviewed
3. Acceptance criteria met
4. Functional tests passed
5. Non-Functional requirements met
6. The Product Owner accepts the User’s Story
FEATURES
Done on this level may mean it qualifies to be added to a release. Not all user stories need to be completed. Rather, it means the feature may be sufficient to satisfy the need. Once accepted, the done feature will contribute to the release velocity. Again, you must meet all of the defined criteria or the feature isn’t done.
Feature DOD Examples:
1. Acceptance criteria met
2. Integrated into a clean build
3. Promoted to a higher level environment
4. Automated regression tests pass
5. Feature-level functional tests passed
6. Non-Functional requirements met
7. Meets compliance requirements
8. Functionality documented in the necessary user documentation
EPICS
Done on this level may refer to an organizational strategic priority, portfolio plan item, or some other collection of features that satisfied a market need. Not all user stories or features need to be completed. Rather, the epic may be sufficient to satisfy the need. Once accepted, the done epic will contribute to throughput calculations to see if the supply is in balance with demand.
Epic DOD Examples:
1. Non-Functional requirements met
2. End-to-end integration completed
3. Regression tests pass
4. Promoted to production environment
5. Meets defined market expectations
SUMMARY
Just as the definition of ready is super important, so is the definition of done. Never start work on something until you have agreed on the definition. Be consistent. Be clear. Have a shared understanding.
Fast Step Technologies’ commitment to Agile methodology and a well-defined “Definition of Done” has been instrumental in delivering top-quality IT services and software solutions to our clients. Partner with Fast Step Technologies to experience the true power of Agile development and witness the transformation of your ideas into exceptional software solutions.