A key principle of agile software development is “done means DONE!”
To be more specific, here’s a 10 point checklist of what constitutes ‘feature complete’…
Code produced (all ‘to do’ items in code completed)
Code commented, checked in and run against current version in source control
Peer reviewed (or produced with pair programming) and meeting development standards
Builds without errors
Unit tests written and passing
Deployed to system test environment and passed system tests
Passed UAT (User Acceptance Testing) and signed off as meeting requirements
Any build/deployment/configuration changes implemented/documented/communicated
Relevant documentation/diagrams produced and/or updated
Remaining hours for task set to zero and task closed.
See also:
Agile Principle #7: done means DONE!
10 Key Principles of Agile Software Development