1. Become aware of the problem.
2. Define the problem and define the criteria for a solution.
3. Survey what you know (the clues).
4. Advance possible solutions using different approaches to thinking.
5. Test them, either in your head, on paper or in practice.
6. Identify the best solution and carry it out.