Brainstorming

Strategy

Explore 5–7 meaningfully different approaches to solving the problem, including both straightforward and unconventional options. For each, briefly consider simplicity, elegance, maintainability, tradeoffs, and likely failure modes.
Then distill the options down to the 1–2 strongest approaches—the ones that solve the core problem with the least unnecessary complexity.
Before moving into implementation, identify the smallest tests, prototypes, measurements, or validation steps that would confirm the key assumptions behind those approaches. Use those results to choose the final direction before writing the actual code.

Use early in a project or when the obvious solution may hide a better one. Describe the problem and constraints, then compare approaches and validate the strongest candidates before committing to code.