1. To understand the problem, divide it into pieces. But keep your perspective as broad as possible.
  2. Create solutions in pieces as well
  3. Change the inputs to comprehend the structure. Marginal inputs are especially important.
  4. Analyze the problem with simple models
  5. Apply solution candidates to simple examples