Values of TDD

Baby steps instead of large-scale changes

Continuous refactoring instead of late quality improvements

Evolutionary design instead of big design up front

Executable documentation instead of static documents

Minimalist code instead of a gold-plated solution