1. Identify your toughest problem. 2. Solve it the simplest way possible. 3. Repeat. Kent Beck, eXtreme developer