--- name: principle-exhaust-the-design-space description: "Apply when a novel design needs concrete candidates compared before selection." license: MIT metadata: author: jstack-maintainers source: michael-denyer/pstack-claude source-version: "0.9.30" source-commit: 45f768349a6d7d7e71509fee3f5bccfad54b3bad owner: software-factory risk: low capabilities: jstack,engineering-principle user-invocable: false --- # Exhaust the Design Space When a novel interaction or architectural decision has no established precedent, explore several concrete alternatives before implementation. Building the wrong thing costs more than exploring three options. **The rule.** When the right answer is not obvious, build 2-3 competing prototypes or sketches. Compare them side by side. Only then commit. Design it twice is this rule by another name. A second flavor of the first shape does not count. **When it applies:** - Novel UI interactions (no prior art in the codebase) - Architectural choices with multiple viable approaches - Product design decisions where user experience depends on feel, not logic **When it doesn't:** - Mechanical implementation where the pattern is established - Bug fixes or refactors with a clear target state - Changes where constraints dictate a single viable approach