Building Foundation Lesson 1.4: Theory of Change

Quality Assessment Checklist

Evaluate your Theory of Change against proven quality indicators and common weaknesses before finalizing your framework.

graph TB
    %% START NODE
    START(["📋 <strong>THEORY OF CHANGE<br/>QUALITY ASSESSMENT</strong><br/><br/>Assess Your Theory Across<br/>Four Critical Dimensions"])

    %% FOUR QUALITY DIMENSIONS
    subgraph DIM1 ["🔗 DIMENSION 1: LOGICAL COHERENCE"]
        direction TB
        LC1["<strong>Flow Logic</strong><br/>Elements follow logically:<br/>inputs → activities → outputs<br/>→ outcomes → impact"]
        LC2["<strong>Realistic Outcomes</strong><br/>Outcomes achievable given<br/>your activities and outputs"]
        LC3["<strong>Impact Connection</strong><br/>Impact statement connects<br/>meaningfully to outcomes"]
        LC4["<strong>Explicit Assumptions</strong><br/>All critical beliefs stated<br/>clearly and testably"]
        LC1 --> LC2 --> LC3 --> LC4
    end

    subgraph DIM2 ["📚 DIMENSION 2: EVIDENCE GROUNDING"]
        direction TB
        EG1["<strong>Problem Tree Foundation</strong><br/>Theory builds directly on<br/>refined Problem Tree analysis"]
        EG2["<strong>Community Insights</strong><br/>Stakeholder engagement<br/>findings reflected throughout"]
        EG3["<strong>Evidence-Based Activities</strong><br/>Activities informed by what<br/>works in similar contexts"]
        EG4["<strong>Validated Assumptions</strong><br/>Assumptions based on research<br/>not wishful thinking"]
        EG1 --> EG2 --> EG3 --> EG4
    end

    subgraph DIM3 ["👥 DIMENSION 3: COMMUNITY ALIGNMENT"]
        direction TB
        CA1["<strong>Community Priorities</strong><br/>Impact and outcomes reflect<br/>what stakeholders emphasized"]
        CA2["<strong>Cultural Appropriateness</strong><br/>Activities designed to work<br/>within local values"]
        CA3["<strong>Asset Recognition</strong><br/>Community strengths and<br/>resources acknowledged"]
        CA4["<strong>Local Context</strong><br/>Change pathway respects<br/>social dynamics"]
        CA1 --> CA2 --> CA3 --> CA4
    end

    subgraph DIM4 ["⚙️ DIMENSION 4: IMPLEMENTATION REALISM"]
        direction TB
        IR1["<strong>Realistic Inputs</strong><br/>Resources required match<br/>capacity and fundraising"]
        IR2["<strong>Specific Activities</strong><br/>Activities detailed enough<br/>to guide implementation"]
        IR3["<strong>Measurable Outputs</strong><br/>Outputs achievable within<br/>proposed timeline"]
        IR4["<strong>Focused Scope</strong><br/>Ambitious but achievable<br/>given constraints"]
        IR1 --> IR2 --> IR3 --> IR4
    end

    %% END NODE
    READY(["✅ <strong>QUALITY THEORY<br/>OF CHANGE</strong><br/><br/>All 16 indicators met<br/>Ready for community validation"])

    %% CONNECTIONS
    START --> DIM1
    START --> DIM2
    START --> DIM3
    START --> DIM4
    DIM1 --> READY
    DIM2 --> READY
    DIM3 --> READY
    DIM4 --> READY

    %% FESTA COLORS - 4 distinct light tints
    style START fill:#6B7280,stroke:#4B5563,stroke-width:3px,color:#fff

    style DIM1 fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px,color:#2A2A2A
    style LC1 fill:#FEF9C3,stroke:#F59E0B,stroke-width:1px,color:#2A2A2A
    style LC2 fill:#FEF9C3,stroke:#F59E0B,stroke-width:1px,color:#2A2A2A
    style LC3 fill:#FEF9C3,stroke:#F59E0B,stroke-width:1px,color:#2A2A2A
    style LC4 fill:#FEF9C3,stroke:#F59E0B,stroke-width:1px,color:#2A2A2A

    style DIM2 fill:#FED7AA,stroke:#F97316,stroke-width:2px,color:#2A2A2A
    style EG1 fill:#FFEDD5,stroke:#F97316,stroke-width:1px,color:#2A2A2A
    style EG2 fill:#FFEDD5,stroke:#F97316,stroke-width:1px,color:#2A2A2A
    style EG3 fill:#FFEDD5,stroke:#F97316,stroke-width:1px,color:#2A2A2A
    style EG4 fill:#FFEDD5,stroke:#F97316,stroke-width:1px,color:#2A2A2A

    style DIM3 fill:#D9F99D,stroke:#72B043,stroke-width:2px,color:#2A2A2A
    style CA1 fill:#ECFCCB,stroke:#72B043,stroke-width:1px,color:#2A2A2A
    style CA2 fill:#ECFCCB,stroke:#72B043,stroke-width:1px,color:#2A2A2A
    style CA3 fill:#ECFCCB,stroke:#72B043,stroke-width:1px,color:#2A2A2A
    style CA4 fill:#ECFCCB,stroke:#72B043,stroke-width:1px,color:#2A2A2A

    style DIM4 fill:#BBF7D0,stroke:#10B981,stroke-width:2px,color:#2A2A2A
    style IR1 fill:#D1FAE5,stroke:#10B981,stroke-width:1px,color:#2A2A2A
    style IR2 fill:#D1FAE5,stroke:#10B981,stroke-width:1px,color:#2A2A2A
    style IR3 fill:#D1FAE5,stroke:#10B981,stroke-width:1px,color:#2A2A2A
    style IR4 fill:#D1FAE5,stroke:#10B981,stroke-width:1px,color:#2A2A2A

    style READY fill:#007F4E,stroke:#00b369,stroke-width:4px,color:#fff

Quality Dimension 1: Logical Coherence

Test whether each element of your theory follows logically from the previous one:

Quality Dimension 2: Evidence Grounding

Verify that your theory builds on solid foundation work from Lessons 1.1-1.3:

Quality Dimension 3: Community Alignment

Ensure your theory genuinely reflects community priorities and local context:

Quality Dimension 4: Implementation Realism

Check that your theory is ambitious but achievable given real constraints:

Common Theory of Change Weaknesses

Watch for these red flags that indicate your theory needs strengthening:

graph TB
    %% START NODE
    DETECT(["🚩 <strong>THEORY OF CHANGE<br/>WEAKNESS DETECTION</strong><br/><br/>Watch for These<br/>Common Red Flags"])

    %% FOUR WEAKNESSES
    subgraph WEAK1 ["❌ WEAKNESS 1: WEAK LOGICAL CONNECTIONS"]
        direction TB
        WL_WARN["<strong>⚠️ Warning Signs</strong><br/><br/>• Activities don't clearly<br/>connect to intended outputs<br/><br/>• Outputs don't logically<br/>lead to stated outcomes<br/><br/>• Assumptions are vague<br/>or untestable"]
        WL_FIX["<strong>🔧 How to Fix</strong><br/><br/>Test each connection:<br/>'If X, will it lead to Y?'<br/><br/>Add intermediate steps<br/>where logic is weak"]
        WL_WARN --> WL_FIX
    end

    subgraph WEAK2 ["❌ WEAKNESS 2: POOR EVIDENCE FOUNDATION"]
        direction TB
        PE_WARN["<strong>⚠️ Warning Signs</strong><br/><br/>• Theory contradicts your<br/>Problem Tree analysis<br/><br/>• Ignores stakeholder<br/>insights about what works<br/><br/>• Assumptions based on<br/>hopes not evidence"]
        PE_FIX["<strong>🔧 How to Fix</strong><br/><br/>Return to foundation<br/>materials from Lessons 1.1-1.3<br/><br/>Document evidence<br/>connections explicitly"]
        PE_WARN --> PE_FIX
    end

    subgraph WEAK3 ["❌ WEAKNESS 3: IMPLEMENTATION UNREALISM"]
        direction TB
        IU_WARN["<strong>⚠️ Warning Signs</strong><br/><br/>• Scope too ambitious<br/>for available resources<br/><br/>• Activities too vague<br/>to guide implementation<br/><br/>• Timeline unrealistic<br/>for change complexity"]
        IU_FIX["<strong>🔧 How to Fix</strong><br/><br/>Narrow scope to what<br/>you can do well<br/><br/>Make activities specific<br/>with clear deliverables"]
        IU_WARN --> IU_FIX
    end

    subgraph WEAK4 ["❌ WEAKNESS 4: COMMUNITY DISCONNECTION"]
        direction TB
        CD_WARN["<strong>⚠️ Warning Signs</strong><br/><br/>• External priorities<br/>dominate over community<br/><br/>• Activities culturally<br/>inappropriate for context<br/><br/>• Community assets and<br/>strengths ignored"]
        CD_FIX["<strong>🔧 How to Fix</strong><br/><br/>Conduct community<br/>validation sessions<br/><br/>Adjust theory based<br/>on stakeholder feedback"]
        CD_WARN --> CD_FIX
    end

    %% END NODE
    CLEAR(["✅ <strong>WEAKNESSES<br/>ADDRESSED</strong><br/><br/>Theory strengthened<br/>Ready for stakeholder review"])

    %% CONNECTIONS
    DETECT --> WEAK1
    DETECT --> WEAK2
    DETECT --> WEAK3
    DETECT --> WEAK4
    WEAK1 --> CLEAR
    WEAK2 --> CLEAR
    WEAK3 --> CLEAR
    WEAK4 --> CLEAR

    %% FESTA COLORS - Red/Orange for weaknesses
    style DETECT fill:#6B7280,stroke:#4B5563,stroke-width:3px,color:#fff

    style WEAK1 fill:#FEE2E2,stroke:#EF4444,stroke-width:2px,color:#2A2A2A
    style WL_WARN fill:#FEF2F2,stroke:#EF4444,stroke-width:1px,color:#2A2A2A
    style WL_FIX fill:#FED7AA,stroke:#F97316,stroke-width:1px,color:#2A2A2A

    style WEAK2 fill:#FEE2E2,stroke:#EF4444,stroke-width:2px,color:#2A2A2A
    style PE_WARN fill:#FEF2F2,stroke:#EF4444,stroke-width:1px,color:#2A2A2A
    style PE_FIX fill:#FED7AA,stroke:#F97316,stroke-width:1px,color:#2A2A2A

    style WEAK3 fill:#FEE2E2,stroke:#EF4444,stroke-width:2px,color:#2A2A2A
    style IU_WARN fill:#FEF2F2,stroke:#EF4444,stroke-width:1px,color:#2A2A2A
    style IU_FIX fill:#FED7AA,stroke:#F97316,stroke-width:1px,color:#2A2A2A

    style WEAK4 fill:#FEE2E2,stroke:#EF4444,stroke-width:2px,color:#2A2A2A
    style CD_WARN fill:#FEF2F2,stroke:#EF4444,stroke-width:1px,color:#2A2A2A
    style CD_FIX fill:#FED7AA,stroke:#F97316,stroke-width:1px,color:#2A2A2A

    style CLEAR fill:#007F4E,stroke:#00b369,stroke-width:4px,color:#fff

❌ Weakness 1: Weak Logical Connections

Warning Signs:

  • Activities don't clearly connect to intended outputs (what you do doesn't produce what you claim)
  • Outputs don't logically lead to stated outcomes (having trained people doesn't automatically create behavior change)
  • Outcome sequence doesn't build toward impact realistically (missing critical intermediate steps)
  • Assumptions are vague or untestable ("communities will support" without specifics)

How to Fix:

Test each connection: "If we achieve X, will it logically lead to Y?" If answer isn't clearly yes, either strengthen the connection (add intermediate steps/activities) or adjust expectations to be more realistic.

❌ Weakness 2: Poor Evidence Foundation

Warning Signs:

  • Theory contradicts findings from problem analysis (focusing on symptoms you identified as effects, not root causes)
  • Activities ignore stakeholder insights about what works/doesn't work (community said "that approach failed before")
  • Assumptions are based on hopes rather than evidence ("we hope people will participate")
  • Community priorities are not reflected in outcome selection (prioritizing what funders want, not what stakeholders emphasized)

How to Fix:

Return to your foundation materials (Problem Tree, stakeholder insights, affinity themes). Ensure every theory element traces back to evidence. Document these connections explicitly.

❌ Weakness 3: Implementation Unrealism

Warning Signs:

  • Scope is too ambitious for available resources and capacity (trying to address all root causes simultaneously)
  • Activities are too vague to guide actual implementation ("provide training" without specifics)
  • Timeline expectations are unrealistic given change complexity (expecting systemic change in 12 months)
  • Input requirements exceed reasonable fundraising potential (need $5M but typical grants are $50K)

How to Fix:

Narrow scope to what you can realistically implement well. Make activities specific with clear deliverables. Align timeline with evidence about how long change takes. Budget realistically based on actual fundraising capacity.

❌ Weakness 4: Community Disconnection

Warning Signs:

  • Theory reflects external priorities rather than community vision (what you think should change, not what they want)
  • Activities are culturally inappropriate or contextually unrealistic (ignoring local values and social dynamics)
  • Existing community assets and resources are ignored (assuming communities have no strengths to build on)
  • Change pathway doesn't account for local social and political dynamics (will face resistance from power structures)

How to Fix:

Conduct community validation sessions (see Templates & Tools). Adjust theory based on stakeholder feedback. Document how community input shaped your approach. Ensure theory genuinely reflects local priorities and context.

Self-Assessment Questions

Answer these questions honestly to identify areas needing strengthening:

1. Can you trace each theory element back to specific evidence from your foundation work?

If no: Return to Problem Tree, stakeholder insights, and affinity themes. Document connections explicitly.

2. Would stakeholders recognize this theory as reflecting their priorities and vision?

If no: Conduct validation sessions. Adjust theory based on feedback. Strengthen community alignment.

3. Can you explain why each connection will work (not just hope it will)?

If no: Make assumptions explicit. Test each connection. Add intermediate steps where logic is weak.

4. Is your scope focused enough that you can implement activities well with realistic resources?

If no: Narrow scope. Focus on 2-3 root causes you can address effectively. Make activities more specific.

5. Are your outcomes achievable within stated timeframes based on evidence about change?

If no: Adjust timeline expectations. Distinguish short-term (0-12 months), medium-term (1-3 years), long-term (3-7 years) realistically.

6. Could someone use your theory to actually implement the project (specific enough)?

If no: Make activities more specific. Add details about what, who, when, where. Ensure outputs are measurable.

Next Steps

Complete your quality assessment: