Summary taken from here:
UNDERSTANDING THE PROBLEM
First. You have to understand the problem.
What is the unknown? What are the data? What is the condition?
Is it possible to satisfy the condition? Is the condition sufficient to determine the unknown? Or is it insufficient? Or redundant Or contradictory?
Draw a figure. Introduce suitable notation.
Separate the various parts of the condition. Can you write them down?
DEVISING A PLAN
Second. Find the connection between the data and the unknown. You may be obliged to consider auxiliary problems if an immediate connection cannot be found. You should obtain eventually a plan of the solution.
Have you seen it before? Or have you seen the same problem in a slightly different form?
Do you know a related problem? Do you know a theorem that could be useful?
Look at the unknown! And try to think of a familiar problem having the same or a similar unknown.
Here is a problem related to yours and solved before. Could you use it? Could you use its result? Could you use its method? Should you introduce some auxiliary element in order to make its use possible?
Could you restate the problem? Could you restate it still differently? Go back to definitions.
If you cannot solve the proposed problem try to solve first some related problem. Could you imagine a more accessible related problem? A more general problem? A more special problem? An analogous problem? Could you solve a part of the problem?
Keep only a part of the condition, drop the other part; how far is the unknown then determined, how can it vary? Could you derive something useful from the data? Could you think of other data appropriate to determine the unknown? Could you change the unknown or data, or both if necessary, so that the new unknown and the new data are nearer to each other?
Did you use all the data? Did you use the whole condition? Have you taken into account all essential notions involved in the problem?
CARRYING OUT THE PLAN
Third. Carry out your plan.
Carrying out your plan of the solution, check each step. Can you see clearly that the step is correct? Can you prove that it is correct?
Fourth. Examine the solution obtained.
Can you check the result? Can you check the argument? Can you derive the solution differently? Can you see it at a glance? Can you use the result, or the method, for some other problem?
As you can see, this is pretty much a script. A script for problem solving a in a few heuristics! The great Polya's notion of how to solve a new problem constantly asks what problems you already know how to solve. You must therefore,
a) know things to mastery
b) know that you know those things
c) know them so well that you can see what parts of your solution are contingent on what parts of the problem, so you can
d) know what you can alter
In Polya's method, it's impossible to overstate the value of knowing results rote. His question of whether you know a theorem that might be relevant requires that you simply know a large number of theorems, know them so well that you can state them clearly (and likely prove them as well). Spiral methods of discovery learning won't ever lead you to the sureness required to state a theorem in a mathematically precise way.
His books work for some college students. It is inappropriate to hand these books to k-12ers and walk away. It might be valuable to explore the book with your child, depending on their maturity. I think parents would get a great deal out of these books, if only as a contrast to how their children's teachers do spiral curricular discovery learning. Polya's work should be known by every math or science teacher, period. Teachers who need to learn how to guide their students would gain a lot from seeing how Polya's notions of "discovery" and "ownership" of a solution entail prior knowledge over and over again.