Definition of Done
August 3rd, 2010 § Leave a Comment
Normally all software development tasks would go through the four phases listed below. The definition of “done” for each of these phases should be well understood by all stakeholders so that when a development assignment is marked as being “done”, the criteria mentioned below are met.
Analysis Phase
- Functional and non functional requirements were clearly defined
- User stories were provided for supporting the requirements
- Where applicable logical data model was designed
- Where applicable use cases and sequence diagrams were provided
- Stakeholders have signed off on the findings
Design Phase
- All functional and non functional requirements have been considered
- Pros and cons of the selected design are well understood and documented
- At least one senior developer has reviewed the design
Development Phase
- Code is deployment ready
- Code meets all functional requirements
- Code meets all non-functional requirements. Typical ones include performance (capacity, scalability), usability, security, maintainability
- Code has been cleaned up. This typically means:
- Code meets defined coding standards
- No Code Analysis warnings
- No Source Analysis warnings
- There is no commented-out code lingering around
- There are no TODOs
- UI components meet the defined standards
- UX principles have been considered and applied appropriately
- Automated unit tests have been written with high code coverage
- Automated integration tests are written
- At least one other software developer has reviewed the code
- All code parts have been checked in to source control
- Associated tasks have been marked as completed and times have been updated
Testing and documentation Phases
- Test cases are prepared
- Testing has been executed
- Testing task has been closed
- Help file has been updated
- Release notes have been updated
Advertisement