First Principles Analysis
Overview
Break problems down to their fundamental truths, question every assumption, and rebuild solutions unconstrained by convention.
Work through six phases, but within each phase, have a natural dialogue. Ask one question at a time, follow interesting threads, and don't rush to the next phase until the current one feels complete.
When to Use This
- •Existing solutions feel like cargo cult or "we've always done it this way"
- •You hear "that's impossible" or "too expensive"
- •Industry conventions don't make logical sense
- •Need breakthrough rather than incremental improvement
- •Something feels like inherited constraint vs actual constraint
The Process
Phase 1: Define the Problem
Don't skip this. Most failed analyses come from solving the wrong problem.
Start by understanding what we're actually trying to achieve. Ask questions like:
- •What's the core problem in your own words?
- •What would success look like concretely?
- •Why does this problem exist?
- •What prompted this now?
Stay here until the problem is crystal clear. If it feels fuzzy, keep asking.
Phase 2: Surface Assumptions
Now list everything we're assuming - especially the "obvious" stuff that nobody questions.
Explore together:
- •What do we assume to be true about this problem?
- •What's "just how it's done" in this space?
- •What would someone with zero context find strange?
- •What constraints do we take for granted?
Present assumptions back conversationally: "So we're assuming X, Y, and Z - does that capture it, or is there more?"
Phase 3: Question Each Assumption
This is the core of first principles. Take each assumption and interrogate it.
For each one, explore:
- •Is this actually true? What's the evidence?
- •Why do we believe this? Where did it come from?
- •What if the opposite were true?
- •Is this physics/logic, or just convention?
Have a genuine dialogue here. Some assumptions will survive scrutiny (those are fundamentals). Others will crumble (those were conventions masquerading as constraints).
Flag each as: Fundamental (keep) or Convention (question further)
Phase 4: Identify Fundamentals
After the questioning, take stock of what remains. These are your building blocks.
Reflect together:
- •What constraints are actually real?
- •What requirements are truly non-negotiable?
- •What's left when we strip away the conventions?
Present: "Here's what I see as the irreducible fundamentals: [list]. Does this feel right?"
Don't proceed until there's agreement on the foundation.
Phase 5: Rebuild From Scratch
Now the creative part. Forget how it's currently done. Using ONLY the fundamentals, explore what's possible.
Guide the exploration:
- •If we were starting fresh today, what would we build?
- •How do completely different domains solve similar problems?
- •What becomes possible now that we've dropped [convention]?
Propose 2-3 radically different approaches. Lead with your recommendation and reasoning, but present alternatives. Discuss trade-offs conversationally.
Phase 6: Validate
Before committing, stress-test the new approach.
Explore:
- •Does this actually solve the core problem from Phase 1?
- •What new assumptions have we introduced?
- •What could go wrong?
- •Is this actually implementable?
Be willing to loop back if something doesn't hold up.
Socratic Toolkit
Keep these in your back pocket for any phase:
| When you need to... | Ask... |
|---|---|
| Clarify | "What do you mean by...?" / "Can you give an example?" |
| Challenge | "What if that weren't true?" / "Who says?" |
| Probe evidence | "How do we know?" / "Are there counterexamples?" |
| Shift perspective | "How would an outsider see this?" / "What's the opposite?" |
| Test consequences | "What happens if...?" / "What could go wrong?" |
After the Analysis
Document it:
- •Write to
docs/plans/YYYY-MM-DD-<topic>-first-principles.md - •Capture: problem, assumptions challenged, fundamentals, new approach
- •Commit to git
If implementing:
- •Create plan from the new mental model
- •Watch for old assumptions creeping back in during implementation
Key Principles
- •Question everything - Especially the "obvious"
- •One question at a time - Depth over breadth
- •Follow threads - If something's interesting, explore it
- •Seek fundamentals - Physics, logic, true requirements
- •Ignore convention - "How it's done" isn't a reason
- •Validate rigorously - New ideas need scrutiny too