Quality Assurance Process
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
Four-Dimension Assessment
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:
Strong Theory Benchmark
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
Early Detection
❌ 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:
- Templates & Tools - Use validation guide to test theory with stakeholders
- Real-World Examples - See quality theory in action with Nigeria Youth Livelihood