How to determine if a developer is "done" with a particular piece of code is often not well defined. As result software development projects can incur significant rework of features previously thought to be completed, and the quality of the overall solution can be compromised in an effort to make amends. For Agile teams in particular, there must be a clear and consistent meaning of "done" and the team must be able to quickly demonstrate it. Here is one way to define and quickly validate what it means to be "done."
What Does Done Mean?