In Agile you have to define when a task may be considered ‘Complete’.
‘Complete’ is when:
- the unit tests are all passing
- the automated acceptance tests are all passing
- the task’s user acceptance test is passed
- all supporting chores are completed, i.e. updating user guides, design documentation, etc..
If all the tasks are complete the workitem may be marked ‘Done’. The Product Owner should be marking ‘Accepted’ any workitem marked ‘Done’. He should be reviewing workitems daily if possible. If it cannot be accepted then he can throw it back into the iteration’s backlog.