That's covered by rules 1-6, which emphasize constructing the system using small, independent programs communicating over pipes.<p>I'd rephrase rule 17 as "Don't paint yourself into a corner.". It's easy to waste time overgeneralizing a program before you have a clear idea how it will actually be used. The emphasis on prototyping also keeps this in check, though.