complete

Complete is a tough word to define for a project. Often, when a developer says something is "complete" or "done" s/he is saying "I've coded it." In fact, this is nowhere near complete.

Here are a minimal set of characteristics to define something as complete:
 * Code Written
 * Unit Tests Written
 * Unit tests running reliably
 * Unit tests running independently with no side effects
 * Unit test running quickly
 * Code integrated with rest of source base
 * All unit tests passing after integrating
 * Code checked in to repository
 * User acceptance tests validated as running (manually OK, automated better)

Before even getting started, it should be clear to the team what "done" or "complete" mean.