Worse is better Worse is better (Richard P. Gabriel, 1989) Simplicity The design must be simple, in implementation and if possible in interface. Simplicity is the most important consideration in a design. Correctness The design must be correct in all observable aspects. "Simpler" must be preferred to "correct". Consistency The design must not be overly inconsistent. Consistency can be sacrificed for simplicity in some cases. Completeness The design must cover as many important situations as is practical. Completeness can be sacrificed in favor of any other quality. Other useful rules Follow the KISS rule (Keep it simple, stupid) First make it work, then make it work well (if time allows)