Good post, this is classic CS wisdom, and unfortunately is not being followed today in many shops.

Only thing I would add to it is decide on a Version Control system (e.g. CVS, Perforce, PVCS, etc.) and
use it religiously from the beginning. The best designs often come from making a few forks of the project
at some design-critical point, and being able to do usability tests on each fork later to determine the best
working design for customer use.

Again, good post.

Happy Holidays

-- spurious