Agile – Definition of DONE
Having worked in agile development for a while now, one inconsistency that I always come across is the definition of DONE.
Some say this should be when a user story has passed UAT and signed off by the product/business owner. Others say after the functionality is tested and passed by the assigned tester. Personally I agree with the latter. Let me explain...
Development and testing tasks for each user story are completed by the development team. The team commits to the workload at the beginning of each sprint and are responsible for delivering the user stories to the product/business owner for UAT. Once delivered, the team have no control as to when UAT starts and finishes.
Where the development team's primary job is the develop & test, more often the person responsible for UAT has to fit this around a full time job as and when they find time. With this in mind, it might be difficult and unreasonable to expect sign-off before the sprint finishes. Also, this person is not responsible for delivery, nor part of the sprint commitment process. Therefore, I believe it's unfair to include UAT before you can say a story is DONE.
Here's my take on when something is done (including development & defects):