Double-Loop Learning
Question and update the frame itself.
When to Use
- Single-loop corrections keep failing
- Pattern of similar failures emerges (3+)
- Fundamental assumption proven wrong
- Goals themselves may be wrong
- "Doing things right" isn't working
Mental Model
Not just adjusting thermostat, but asking: "Is heating the right goal?"
Frame (questioned) → Goals (questioned) → Actions → Results →
Pattern detected → Examine frame → Reframe → New goals → New actions
Double-Loop Triggers
Pattern of Failures
Three or more single-loop attempts for the same type of problem:
| Attempt | Action | Result |
|---|---|---|
| 1 | Simplified contract | Still stalled |
| 2 | Added FAQ | Still stalled |
| 3 | Pre-emptive call | Still stalled |
| Trigger | Pattern detected | → Double-loop |
Assumption Invalidation
Evidence that a core assumption is wrong:
Assumption: "Legal review is the bottleneck"
Evidence against:
- Legal approved competitor's terms quickly
- Deals with early legal involvement close 3x faster
- Legal team says they're waiting on sales
Trigger: Assumption appears to be wrong → Double-loop
Goal Questioning
Evidence that achieving the goal won't solve the problem:
Goal: "Reduce legal review time"
Evidence goal is wrong:
- Fast legal reviews didn't correlate with faster closes
- We achieved the goal but problem persists
Trigger: Goal may be wrong → Double-loop
Process
1. Articulate Current Frame
Make the implicit explicit.
Capture:
- Goals: What are we trying to achieve?
- Explicit assumptions: What do we knowingly believe?
- Implicit assumptions: What do we unknowingly assume?
- Constraints: What limits our options?
- Mental model: How do we think this works?
2. Challenge Each Element
Test each element of the frame against evidence.
For each element:
- What evidence supports this?
- What evidence contradicts this?
- What would invalidate this?
- What's an alternative?
Challenge types:
- Assumption challenge: Is this belief actually true?
- Goal challenge: Is this the right goal?
- Constraint challenge: Is this really a constraint?
- Framing challenge: Are we looking at this correctly?
3. Construct New Frame
Build an alternative frame that better fits the evidence.
New frame includes:
- Updated goals (if changed)
- New assumptions (replacing invalidated ones)
- Updated constraints
- New mental model
4. Compare Frames
Evaluate old vs new frame.
Questions:
- What changed?
- Why is new frame better?
- What evidence supports new frame?
- What stays the same?
5. Assess Implications
Understand what the reframe means.
What's now invalid:
- Initiatives based on old assumptions
- Beliefs that were wrong
- Metrics that don't matter
What's now possible:
- New initiatives enabled by new understanding
- New metrics to track
What must change:
- Process changes required
- Capability changes required
- Organization changes required
6. Validate New Frame
Test before full commitment.
Validation approach:
- Hypothesis: [New frame predicts...]
- Test: [How we'll test]
- Success criteria: [What would validate]
- Reversibility: [Can we revert if wrong?]
Output Format
## Double-Loop: [Problem Pattern]
**Trigger:**
- Pattern: [Description of repeated failures]
- Single-loop attempts: [N] attempts, same outcome
- Evidence frame is wrong: [What suggests this]
### Current Frame
**Goals:**
- [Goal 1]
- [Goal 2]
**Assumptions:**
- Explicit: [Stated beliefs]
- Implicit: [Unstated beliefs]
**Constraints:**
- [Constraint 1]
**Mental model:** [How we think this works]
### Frame Challenges
**[Element 1]:**
- Evidence against: [What contradicts]
- Alternative: [What might be true instead]
**[Element 2]:**
- Evidence against: [What contradicts]
- Alternative: [What might be true instead]
### New Frame
**Goals:**
- [Updated goal 1]
- [New goal if needed]
**Assumptions:**
- [New assumption 1]
- [New assumption 2]
**Constraints:**
- [Updated constraints]
**Mental model:** [New understanding]
### Comparison
**What changed:**
- From: [Old] → To: [New]
**Why better:**
- [Evidence for new frame]
**What stays:**
- [Unchanged elements]
### Implications
**Invalidates:**
- [Initiative/belief that's now invalid]
**Enables:**
- [New possibility]
**Requires:**
- [Change needed]
### Validation Plan
**Test:** [How to validate new frame]
**Duration:** [Timeframe]
**Success criteria:** [What proves new frame works]
**Reversibility:** [How to revert if wrong]
Frame Elements Reference
Goals
What we're trying to achieve. Check: Is achieving this goal actually solving the problem?
Explicit Assumptions
Beliefs we know we hold. Check: Is this belief actually true?
Implicit Assumptions
Beliefs we hold without realizing. Check: What are we assuming without questioning?
Constraints
Limits on our options. Check: Is this really a constraint, or just assumed to be?
Mental Model
How we think the system works. Check: Does reality match our model?
Anti-Patterns
| Avoid | Problem | Do Instead |
|---|---|---|
| Premature double-loop | Expensive when single-loop suffices | Require 3+ failure pattern |
| Keeping failed frame | Throwing good effort after bad | Acknowledge sunk cost |
| Partial reframe | New frame inherits old problems | Examine all elements |
| No validation | New frame may also be wrong | Test before commitment |
| Blame frame authors | Defensive, blocks learning | Focus on improvement |
When to Revert to Single-Loop
Double-loop is expensive. Return to single-loop when:
- New frame is established and working
- Failure is isolated (not a pattern)
- Quick fix is sufficient