Understand the heart of the problem
Understanding what the obstacles will be is of paramount importance, asking the right questions is often more rewarding than imagining solutions. Make sure you have a simple definition of the problem before attempting solving it.
Brainstorm up a few ideas
Imagine you had a team of supercomputers at your disposal. Try to think of something, brute force solutions, bad solutions, maybe a few good ones.
Elaborate on one idea
It doesn’t have to be correct or optimal. Just move forward with something. This will develop greater understanding of the problem. Every fall may reveal a better path.
Review your progress
Is the current idea worth proceeding with? Will it yield a plausible solution? Did you come up with a different approach or found a new angle to the problem? If no, no and no: return to step 3 and work on another idea.
Proceed to a solution
If you feel like you’re on the right track, don’t stop. Go all the way with your idea.
Common mistakes when solving problems
Stopping. Probably the most common denominator of all unsolved problems is that the solver got stuck on a subproblem for long enough to lose interest and throw in the towel.
Being ignorant. Know when to scrap your idea and start over. Don’t proceed with stuff just because you put in a lot of work.
Working alone. It is incredibly hard to stay focused, motivated and creative enough to solve problems on your own. Make sure to have another set of brains present.
Being unconfident. Your idea is probably good and you’re capable of a lot more than you think.
Trusting technology. Always keep a notebook in your reach. Computers are for testing, simulation and implementation. They are not thinkers (yet).
Not taking breaks. The mind is proven to be at its most creative state when relaxed. Make sure to rest and have fun in between the heavy thinking parts.
Staying in your comfort zone. Consider when is it applicable to talk to someone who isn’t familiar with the problem. Describing the problem to someone else often clarifies at least as much to yourself because they will ask you questions that simplifies the problem.
When you are solving a difficult problem re-ask the problem so that your solution helps you learn faster. Find a faster way to fail, recover, and try again. If the problem you are trying to solve involves creating a magnum opus, you are solving the wrong problem.