From Federico Cargnelutti
A story is complete when
- Coded/implemented
- Peer reviewed (pair programming counts as peer review)
- Code is run against current version in source control
- Code is commented in source control and checked in
- Code is commented with phpDoc blocks
- Story/use case manual test plan updated
- Fit test written (with help of SQA person)
- UML diagram updated
- Unit tests written and passing
- 90 percent code coverage achieved
- Build and package changes are communicated to build master (i.e. introducing a new file or something)
- Task list hours are updated and task is closed out
- All to-do items in code are completed
Done is when the software is
- has been written to address the requirements. No more, no less.
- has a suite of tests written to exercise and validate that it meets the requirements and is technically valid.
- source code has been reviewed by a peer, preferably peers.
- source code meets the development teams coding standards.
- source code has been factored into logical and easily readable sections.
- functionality has been tested by integrating it into the system it will reside.
- functionality has been documented and described for future developers and users.
- has been tested and reviewed by a quality assurance expert.
- has appropriate installation and/or configuration procedures created and documented.
- the software's functionality has been verified as meeting the requirements of the end-user by the end-user.
Done, done, done
Coded, tested (by yourself and hopefully a QA team), approved by the product owner.