As software developers we create lots of... well... code. Much of the code we produce can go towards a new feature or an enhancement to an existing feature. When this is the case, how do we know when this feature is done?
What does done mean in the context of a feature? For example, to Company A this may mean many different things like,
- Meets customer requirements (which is tricky in itself)
- No known bugs
- Documentation is written
- etc.
- etc.
To better help understand what done means to different developers and teams please list up to five (but no more than 10) items. This list would be something you as a developer, or your team, might go through and once all items are checked off, the feature is considered done.
Update
These are some great answers. I'm trying to figure out how to determine the best one as I guess this question is somewhat subjective. I guess I'm still looking for a more complete picture.