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 follows logically from the last:
Quality Dimension 2: Evidence Grounding
Verify your theory builds on Lessons 1.1-1.3:
Quality Dimension 3: Community Alignment
Ensure your theory reflects community priorities:
Quality Dimension 4: Implementation Realism
Check your scope is achievable:
Strong Theory Benchmark
Common Theory of Change Weaknesses
Watch for these red flags:
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
- Assumptions are vague or untestable
How to Fix:
Test each connection: "If we achieve X, will it lead to Y?" Add intermediate steps where logic is weak.
❌ Weakness 2: Poor Evidence Foundation
Warning Signs:
- Theory contradicts your problem analysis
- Assumptions are based on hope, not evidence
How to Fix:
Return to your foundation materials. Document every evidence connection explicitly.
❌ Weakness 3: Implementation Unrealism
Warning Signs:
- Scope is too ambitious for available resources
- Timeline is unrealistic for change complexity
How to Fix:
Narrow scope to what you can implement well, and budget on real fundraising capacity.
❌ Weakness 4: Community Disconnection
Warning Signs:
- Theory reflects external priorities, not community vision
- Existing community assets are ignored
How to Fix:
Run a community validation session, and adjust the theory based on feedback.
Next Steps
Finish your assessment:
- Templates & Tools - Validation guide
- Real-World Examples - Quality theory in action