Architecture Evaluation Framework
Purpose
"How sound is the architecture?" - This Skill provides comprehensive architectural analysis and evaluation capabilities for assessing system architecture quality, identifying architectural issues, and ensuring long-term maintainability and scalability.
Quick Start Example
Evaluate a Python project's architecture in 3 steps:
# 1. Run SOLID principles analysis
python solid_analyzer.py src/ -o reports/solid.md
# 2. Analyze coupling and cohesion
python coupling_analyzer.py src/ -o reports/coupling.md
# 3. Generate C4 diagrams
python c4_generator.py --system "MyApp" --output docs/architecture/
See complete working examples in EXAMPLES.md.
Core Evaluation Methods
1. Architecture Pattern Analysis
- What: Identify architectural patterns (MVC, microservices, layered, event-driven)
- When: Understanding existing architecture, migration planning
- How: Pattern detection algorithms, dependency analysis
- Details: Pattern identification in PATTERNS.md
2. SOLID Principles Evaluation
- What: Check adherence to SOLID design principles
- When: Code reviews, refactoring planning, quality audits
- How: AST analysis, method counting, dependency checking
- Details: SOLID analyzer implementation
3. Coupling and Cohesion Metrics
- What: Measure module dependencies and internal cohesion
- When: Identifying refactoring candidates, reducing complexity
- How: Dependency graphs, LCOM metrics, instability calculations
- Details: Coupling/cohesion patterns
4. Quality Attribute Scenarios (ATAM)
- What: Evaluate architecture trade-offs between quality attributes
- When: Major architectural decisions, technology selection
- How: Scenario-based evaluation, trade-off matrices
- Details: ATAM methodology
5. C4 Model Documentation
- What: Create hierarchical architecture diagrams (Context, Container, Component, Code)
- When: Documenting architecture, onboarding, reviews
- How: PlantUML generation, structured diagramming
- Details: C4 model guide
6. Architecture Decision Records (ADRs)
- What: Document and track architectural decisions
- When: Making significant architectural choices
- How: Structured templates, decision tracking
- Details: ADR templates
Table of Contents
Core Files
- KNOWLEDGE.md - Architecture theory, frameworks, methodologies
- PATTERNS.md - Implementation patterns and algorithms
- EXAMPLES.md - Complete working code examples
- GOTCHAS.md - Common pitfalls and troubleshooting
- REFERENCE.md - API documentation and metrics catalog
Quick Navigation
By Task
- Evaluating existing architecture → Start with Pattern Analysis
- Planning microservices migration → See Microservices evaluation
- Measuring technical debt → Use Technical debt quantification
- Creating architecture docs → Follow C4 model guide
- Reviewing SOLID compliance → Run SOLID analyzer
By Technology
- Python → Python architecture analysis
- JavaScript/TypeScript → JS/TS patterns
- Java → Java architecture tools
- Go → Go analysis patterns
Common Gotchas (Top 3)
Analysis Paralysis - Over-analyzing without implementation
- Solution: Timebox analysis to 2-4 hours, validate with prototypes
- More details in GOTCHAS.md
Ignoring Conway's Law - Architecture doesn't match team structure
- Solution: Align team boundaries with architectural boundaries
- See organizational patterns
Premature Optimization - Over-engineering for imagined scale
- Solution: Design for current +1 order of magnitude only
- Read scaling guidelines
Full list of gotchas in GOTCHAS.md.
Architecture Evaluation Process
1. Discovery & Documentation
├── Map current architecture
├── Identify components & boundaries
└── Document data flows
2. Pattern Analysis
├── Identify architectural patterns
└── Detect anti-patterns
3. Quality Attributes Assessment
├── Performance, Scalability, Security
└── Reliability, Maintainability
4. Technical Analysis
├── SOLID compliance
├── Coupling & cohesion
└── Dependency analysis
5. Risk & Debt Assessment
├── Identify risks
└── Quantify technical debt
6. Recommendations & Roadmap
├── Prioritize improvements
└── Create remediation plan
Best Practices
DO's
- Document Architecture Early - Create diagrams before coding
- Use Standard Models - Adopt C4, 4+1, or other frameworks
- Capture Decisions - Write ADRs for significant choices
- Measure Quality Attributes - Define metrics upfront
- Automate Governance - Use fitness functions
DON'Ts
- Don't Over-Engineer - Build for current +1 magnitude
- Don't Ignore NFRs - Non-functional requirements matter
- Don't Copy Blindly - Netflix architecture ≠ your startup
- Don't Skip Documentation - Future you will thank you
- Don't Work in Isolation - Involve stakeholders
Related Skills
gap-analysis-framework - For identifying architectural gaps
security-scanning-suite - For security architecture assessment
evaluation-reporting-framework - For comprehensive reports
codebase-onboarding-analyzer - For architecture understanding
git-mastery-suite - For analyzing architectural evolution
Quick Reference
Key Commands
# Analyze SOLID compliance
python patterns/solid_analyzer.py src/
# Generate coupling report
python patterns/coupling_analyzer.py src/
# Create C4 diagrams
python patterns/c4_generator.py
# Generate ADR
python patterns/adr_manager.py new "Use Redis for caching"
# Run ATAM evaluation
python patterns/atam_evaluator.py
Essential Resources
See REFERENCE.md for complete API documentation and KNOWLEDGE.md for theoretical foundations.
1---2name: architecture-evaluation-framework3description: Comprehensive architectural analysis and evaluation framework for system architecture assessment. Use for architecture pattern identification, SOLID principles evaluation, coupling/cohesion analysis, scalability assessment, performance characteristics, security architecture, data architecture, microservices vs monolith, technical debt quantification, and ADRs. Includes C4 model, 4+1 views, QAW, ATAM, architectural fitness functions, and visualization tools.4---5
6# Architecture Evaluation Framework
7
8## Purpose
9
10"How sound is the architecture?" - This Skill provides comprehensive architectural analysis and evaluation capabilities for assessing system architecture quality, identifying architectural issues, and ensuring long-term maintainability and scalability.
11
12## Quick Start Example
13
14Evaluate a Python project's architecture in 3 steps:
15
16```bash
17# 1. Run SOLID principles analysis
18python solid_analyzer.py src/ -o reports/solid.md
19
20# 2. Analyze coupling and cohesion
21python coupling_analyzer.py src/ -o reports/coupling.md
22
23# 3. Generate C4 diagrams
24python c4_generator.py --system "MyApp" --output docs/architecture/
25```
26
27See complete working examples in [EXAMPLES.md](EXAMPLES.md).
28
29## Core Evaluation Methods
30
31### 1. Architecture Pattern Analysis
32- **What**: Identify architectural patterns (MVC, microservices, layered, event-driven)
33- **When**: Understanding existing architecture, migration planning
34- **How**: Pattern detection algorithms, dependency analysis
35- **Details**: [Pattern identification in PATTERNS.md](PATTERNS.md#pattern-identification)
36
37### 2. SOLID Principles Evaluation
38- **What**: Check adherence to SOLID design principles
39- **When**: Code reviews, refactoring planning, quality audits
40- **How**: AST analysis, method counting, dependency checking
41- **Details**: [SOLID analyzer implementation](PATTERNS.md#solid-analyzer)
42
43### 3. Coupling and Cohesion Metrics
44- **What**: Measure module dependencies and internal cohesion
45- **When**: Identifying refactoring candidates, reducing complexity
46- **How**: Dependency graphs, LCOM metrics, instability calculations
47- **Details**: [Coupling/cohesion patterns](PATTERNS.md#coupling-cohesion)
48
49### 4. Quality Attribute Scenarios (ATAM)
50- **What**: Evaluate architecture trade-offs between quality attributes
51- **When**: Major architectural decisions, technology selection
52- **How**: Scenario-based evaluation, trade-off matrices
53- **Details**: [ATAM methodology](KNOWLEDGE.md#atam-methodology)
54
55### 5. C4 Model Documentation
56- **What**: Create hierarchical architecture diagrams (Context, Container, Component, Code)
57- **When**: Documenting architecture, onboarding, reviews
58- **How**: PlantUML generation, structured diagramming
59- **Details**: [C4 model guide](KNOWLEDGE.md#c4-model)
60
61### 6. Architecture Decision Records (ADRs)
62- **What**: Document and track architectural decisions
63- **When**: Making significant architectural choices
64- **How**: Structured templates, decision tracking
65- **Details**: [ADR templates](PATTERNS.md#adr-management)
66
67## Table of Contents
68
69### Core Files
70- **[KNOWLEDGE.md](KNOWLEDGE.md)** - Architecture theory, frameworks, methodologies
71- **[PATTERNS.md](PATTERNS.md)** - Implementation patterns and algorithms
72- **[EXAMPLES.md](EXAMPLES.md)** - Complete working code examples
73- **[GOTCHAS.md](GOTCHAS.md)** - Common pitfalls and troubleshooting
74- **[REFERENCE.md](REFERENCE.md)** - API documentation and metrics catalog
75
76### Quick Navigation
77
78#### By Task
79- **Evaluating existing architecture** → Start with [Pattern Analysis](PATTERNS.md#pattern-identification)
80- **Planning microservices migration** → See [Microservices evaluation](EXAMPLES.md#microservices-evaluation)
81- **Measuring technical debt** → Use [Technical debt quantification](PATTERNS.md#technical-debt)
82- **Creating architecture docs** → Follow [C4 model guide](EXAMPLES.md#c4-diagrams)
83- **Reviewing SOLID compliance** → Run [SOLID analyzer](EXAMPLES.md#solid-analysis)
84
85#### By Technology
86- **Python** → [Python architecture analysis](EXAMPLES.md#python-analysis)
87- **JavaScript/TypeScript** → [JS/TS patterns](EXAMPLES.md#javascript-analysis)
88- **Java** → [Java architecture tools](REFERENCE.md#java-tools)
89- **Go** → [Go analysis patterns](EXAMPLES.md#go-analysis)
90
91## Common Gotchas (Top 3)
92
931. **Analysis Paralysis** - Over-analyzing without implementation
94 - **Solution**: Timebox analysis to 2-4 hours, validate with prototypes
95 - More details in [GOTCHAS.md](GOTCHAS.md#analysis-paralysis)
96
972. **Ignoring Conway's Law** - Architecture doesn't match team structure
98 - **Solution**: Align team boundaries with architectural boundaries
99 - See [organizational patterns](GOTCHAS.md#conways-law)
100
1013. **Premature Optimization** - Over-engineering for imagined scale
102 - **Solution**: Design for current +1 order of magnitude only
103 - Read [scaling guidelines](GOTCHAS.md#premature-optimization)
104
105Full list of gotchas in [GOTCHAS.md](GOTCHAS.md).
106
107## Architecture Evaluation Process
108
109```
1101. Discovery & Documentation
111 ├── Map current architecture
112 ├── Identify components & boundaries
113 └── Document data flows
114
1152. Pattern Analysis
116 ├── Identify architectural patterns
117 └── Detect anti-patterns
118
1193. Quality Attributes Assessment
120 ├── Performance, Scalability, Security
121 └── Reliability, Maintainability
122
1234. Technical Analysis
124 ├── SOLID compliance
125 ├── Coupling & cohesion
126 └── Dependency analysis
127
1285. Risk & Debt Assessment
129 ├── Identify risks
130 └── Quantify technical debt
131
1326. Recommendations & Roadmap
133 ├── Prioritize improvements
134 └── Create remediation plan
135```
136
137## Best Practices
138
139### DO's
1401. **Document Architecture Early** - Create diagrams before coding
1412. **Use Standard Models** - Adopt C4, 4+1, or other frameworks
1423. **Capture Decisions** - Write ADRs for significant choices
1434. **Measure Quality Attributes** - Define metrics upfront
1445. **Automate Governance** - Use fitness functions
145
146### DON'Ts
1471. **Don't Over-Engineer** - Build for current +1 magnitude
1482. **Don't Ignore NFRs** - Non-functional requirements matter
1493. **Don't Copy Blindly** - Netflix architecture ≠ your startup
1504. **Don't Skip Documentation** - Future you will thank you
1515. **Don't Work in Isolation** - Involve stakeholders
152
153## Related Skills
154
155- `gap-analysis-framework` - For identifying architectural gaps
156- `security-scanning-suite` - For security architecture assessment
157- `evaluation-reporting-framework` - For comprehensive reports
158- `codebase-onboarding-analyzer` - For architecture understanding
159- `git-mastery-suite` - For analyzing architectural evolution
160
161## Quick Reference
162
163### Key Commands
164```bash
165# Analyze SOLID compliance
166python patterns/solid_analyzer.py src/
167
168# Generate coupling report
169python patterns/coupling_analyzer.py src/
170
171# Create C4 diagrams
172python patterns/c4_generator.py
173
174# Generate ADR
175python patterns/adr_manager.py new "Use Redis for caching"
176
177# Run ATAM evaluation
178python patterns/atam_evaluator.py
179```
180
181### Essential Resources
182- [C4 Model](https://c4model.com/) - Architecture documentation
183- [ATAM Guide](https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=513908) - Trade-off analysis
184- [ADR Repository](https://adr.github.io/) - Decision records
185- [12 Factor App](https://12factor.net/) - Modern app principles
186
187See [REFERENCE.md](REFERENCE.md) for complete API documentation and [KNOWLEDGE.md](KNOWLEDGE.md) for theoretical foundations.