Greetings from the opening of the 2014 IEEE International Conference on Computer Science and Education (ICCSE 2014) in Vancouver. Mark Allison from Florida International University "Polya’s Approach to Foster Problem Solving Skill Development in Software Engineers". This goes beyond teaching a systematic approach to problem solving, as used in engineering, as exactly what the problem is and what will be an acceptable solution is rarely clear.
George Pólya was the author of How to Solve It outlining a four principle approach to problem solving: Understand, Devise, Carry out, and Review/extend.
One step I suggest all professionals should learn is to assess if they can do the task requested. They should be prepared to reformulate a problem it is not within the state of the art, there are not sufficient resources, or it would be illegal or unethical, or it is simply a stupid idea.
An example of reformulating a problem was the requirement for a high speed, heavily armoured amphibious fighting vehicles for the US Marines. The Expeditionary Fighting Vehicle (EFV) program was cancelled when it was realised a vehicle can't be heavy, fast and float. The problem should be reformulated to get troops on shore quickly and safely. The replacement Amphibious Combat Vehicle Program will use a vessel to carry armoured vehicles on water, so the vessel can be optimised for speed on water and the vehicle for armour protection on land. Similarly the DARPA project for a flying jeep is now one for a small pilot-less cargo aircraft.