It is often heard that the objective of a given sprint is to deliver potentially shippable software. A team can agree on what this means generally for any feature to be ready for prime time. But how does the team know when a specific feature is done? The answer starts in sprint planning.
Usually when a feature is being planned, the Product Owner will give a brief summary which is written down, and then further explanation of the User Story. Immediately the developers will start asking each other what it will take technically to accomplish the feature. These discussions can go on longer than necessary and can lead to vague and confusing tasks.
Before the ideas start to flow, have the Product Owner state what the acceptance criteria is to complete the story. This clarification cut short the discussion and help formulate the true tasks needed. During the sprint while a feature is being worked on, it can be measured against the acceptance criteria. When the developers feel a feature is finished, it should be walked through with Product Owner to demonstrate it meets this criteria. When a feature passes this check it can be marked as finished, based upon the definition of done the entire team agreed to from the beginning.