A Couple of Quotes on Software Design
14 Oct 2002 / The ProgrammerI conclude that there are two ways of constructing a software design: One way is to make it so simple there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.
A feature which is omitted can always be added later, when its design and its implications are well understood. A feautre which is included before it is fully understood can never be removed later.