
add stuff to this list. i'll give M100 for every item i end up adding, and i'll credit your comment. if the bounty runs out, i'll add more.
Some candidate methods, phrased as actions rather than virtues:
1. Convert the problem into an inventory mismatch. List what resources the current solution would require, then list what you actually have. The gaps become subproblems, and sometimes one gap is fake because there is a substitute resource nearby.
2. Make the worst plausible solution explicit. Write down a solution that is bad but legal, then ask "what exactly makes this bad?" Each defect is a handle: too slow, too fragile, too socially costly, too expensive, too ugly. Now solve one defect at a time instead of solving the whole problem.
3. Ask which constraint you are treating as load-bearing. Pick one assumption and temporarily delete it: no budget limit, no secrecy, no need for elegance, no need for consensus, no need to preserve the existing interface. The point is not to keep the fantasy solution; it is to see which constraint was doing the real work.
4. Move one level down and one level up. Down: what is the smallest physical/computational/social step that must happen next? Up: what larger objective made this problem worth caring about? Solutions often appear when the local next action and the global purpose are allowed to disagree.
5. Search for a conservation law. In many problems, something cannot disappear: time, attention, risk, entropy, money, social trust, blame, latency. If every proposed solution secretly moves the conserved thing somewhere else, name where it goes. Good solutions often route the conserved burden to the place best able to absorb it.