Far too often a new feature is considered done at an incomplete state.
This is my suggested checklist for when to consider a feature DONE:
- It's checked in to source control
- It compiles
- It passes its unit tests (no, not having unit tests does not count)
- It doesn't break any other unit tests
- It increases the overall test coverage for the module
- The continuous integration server passes the build
- It's integration tested with other features and / or modules it pertains to
- It's documented in the release notes and / or product documentation
- The feature does what it's supposed to do (as defined by the specifications for the feature)
The last point is perhaps the most difficult to assess, unless you have executable specifications in form of FIT tests or something similar. Furthermore, if you're using Scrum, the feature must be demonstrated on the end-of-iteration demo to be considered done.




1 kommentarer:
See also 12-step list from the author of Release It.
Legg inn en kommentar