Systems Questions
Purpose
Explore relationships and interconnections to identify leverage points and unintended consequences. Understand how changes cascade through complex systems.
The Catalytic Question
"How does A relate to C and what questions does that suggest?"
Core Questions
- Feedback Loops: What are the feedback loops in this system?
- Leverage Points: Where are the leverage points for maximum impact?
- Cascade Effects: How do changes cascade through the system?
- Unintended Consequences: What unintended consequences might this create?
- System Boundaries: What's inside vs outside this system?
Application Process
1. Map Components
- List all system elements
- Document each component's purpose
- Note dependencies
2. Identify Relationships
- Draw connections between components
- Label relationship types (depends on, influences, constrains)
- Note strength of relationships
3. Find Feedback Loops
- Reinforcing loops (amplify changes)
- Balancing loops (stabilize system)
- Identify dominant loops
4. Locate Leverage Points
- High impact, low effort interventions
- Critical dependencies
- Bottlenecks and constraints
5. Trace Cascade Effects
- First-order effects (immediate)
- Second-order effects (downstream)
- Third-order effects (long-term)
Validation Checklist
- All components mapped with relationships
- Feedback loops identified (reinforcing & balancing)
- Leverage points prioritized by impact
- Cascade effects traced (1st, 2nd, 3rd order)
- Unintended consequences considered
- Interventions designed at leverage points
Example: Template-Based Code Quality
System: Code quality in monorepo
Components: Generators -> Templates -> Files
Feedback Loop:
Better templates -> Better files -> Better patterns -> Better templates
Leverage Point: Generator/Template layer
- Affects all future files automatically
- Single fix propagates everywhere
Intervention Analysis:
- Fix template: 1 hour
- Fix 13 instances manually: 26 hours
- ROI: 2500% (25 hours saved)
Cascade Effect:
1st order: New files use correct pattern
2nd order: Developers learn from better examples
3rd order: Quality culture improves