I currently work on a ~10+ year old project that has maybe half of this list, and if you _don't_ start this way, the toothpaste is near impossible to put back in the tube, and you're in for a world of hurt. If the early engineers don't work this way and the system makes its' way into production, then functional software + income is very difficult to override in the name of cleaning up messes.