Knowing when a Story or Feature is ready to be put into production, the Done State, is critical. It doesn’t matter if the developers believe that they’re done, or even if QA says a feature is done, if the the business people for whom the feature is being built don’t think that the feature is going to do what they need it to do. So, done means:
This forces the team to work on very small pieces of the functionality at a time, and also allows everyone involved to see real, tangible progress.