Rather than trying to memorize a list of hundreds of best practices for software design, apply five basic principles that result in software that is innovative and usable.

  1. It's not about you
  2. It Depends
  3. Simple is good: but it's not simple
  4. Influence not control
  5. Practice creates change