This looks like excellent advice and I'm going to have my apprentices read it and use it to critique some design docs we use at $WORK.