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