Programs are read much more often than written and therefore should communicate clearly their intent.

Simplicity helps communication by making programs easier to understand.


Making workable decisions today and maintaining the flexibility to change your mind in the future is a key to good software development.

Programs should be flexible in the ways they change, they should make common changes easy or at least easier.