https://coda.io/@shishir/eigenquestions-the-art-of-framing-problems
Creative Thinking - Claude Shannon shares techniques for problem solving:
- Simplify - strip away any aspect of the problem that’s immaterial until you can distill the core.
- Generalize - Solving a general problem is sometimes easier than the specific problem you might be solving. This is in a way another way to simplify. In cardinality modeling if possible model for M:N instead of 1:N. It’s a lot harder to go from 1:N to M:N
- State problems in many ways as possible to identify entry points. We often anchor to a specific way we see the problem and this restricts options to solve these too. Hence someone new can crack the solution because they’re not encumbered by old ways of looking at things
- Invert the problem - Many variations here including reductio ad absurdum, but also inverting the preconditions and outcome
- Use analogies from other domains - if you can map a problem to a similar one in a different domain that has a solution then find an analogous solution in domain you’re solving for. Or perhaps find a way to transform this domain into the other domain so you can use that solution instead
- Go adjacent or find structural options.