Quality Attribute Analyzer — Quality Attribute Analysis Tool
A specialized skill that enhances the tradeoff-evaluator agent's quality attribute analysis capabilities.
Target Agent
- tradeoff-evaluator — Quality attribute weighted evaluation, risk-reward analysis
Core Quality Attribute (-ility) Dictionary
Runtime Quality Attributes
| Attribute | Definition | Measurement Metrics | Typical Targets |
|---|---|---|---|
| Performance | Response time, throughput | p50/p99 latency, TPS | p99 < 200ms |
| Scalability | Ability to handle increased load | Linear scaling capability | Linear at 10x load |
| Availability | System uptime | Uptime %, MTBF | 99.9% (Three 9s) |
| Reliability | Error-free operation | Failure rate, MTTR | MTTR < 30 min |
| Security | Protection from threats | Vulnerability count, breach incidents | OWASP Top 10 coverage |
Development/Operations Quality Attributes
| Attribute | Definition | Measurement Metrics |
|---|---|---|
| Maintainability | Ease of modification | Code complexity, change lead time |
| Testability | Ease of writing tests | Coverage, test execution time |
| Deployability | Deployment frequency and safety | Deployment frequency, rollback time |
| Observability | System state visibility | Logs, metrics, tracing |
Quality Attribute Tradeoff Matrix
Common Tradeoff Relationships
| Attribute A (up) | Attribute B (down) | Reason |
|---|---|---|
| Performance | Maintainability | Optimized code becomes more complex |
| Security | Performance/Usability | Authentication/encryption overhead |
| Scalability | Consistency | CAP theorem |
| Availability | Consistency | CAP theorem |
| Flexibility | Performance | Abstraction layer overhead |
CAP Theorem Decision Making
In distributed systems, only 2 of 3 can be guaranteed:
- Consistency
- Availability
- Partition tolerance
Practical choices:
+----------+----------+----------+
| CP | AP | CA |
| Consist. | Avail. + | Consist. |
| + Part. | Part. | + Avail. |
+----------+----------+----------+
| HBase | Cassandra| Trad. |
| MongoDB | DynamoDB | RDBMS |
| Redis | CouchDB | (single) |
+----------+----------+----------+
Weighted Evaluation Matrix (Weighted Scoring)
Evaluation Procedure
1. Set weights per quality attribute (totaling 100%)
2. Score each alternative 1-5 per attribute
3. Weighted score = Weight x Score
4. Rank alternatives by total score
Template
| Quality Attribute | Weight | Alt A | Wtd A | Alt B | Wtd B | Alt C | Wtd C |
|-------------------|--------|-------|-------|-------|-------|-------|-------|
| Performance | 25% | 4 | 1.00 | 3 | 0.75 | 5 | 1.25 |
| Scalability | 20% | 5 | 1.00 | 4 | 0.80 | 3 | 0.60 |
| Security | 20% | 3 | 0.60 | 4 | 0.80 | 4 | 0.80 |
| Maintainability | 15% | 2 | 0.30 | 4 | 0.60 | 3 | 0.45 |
| Cost | 10% | 3 | 0.30 | 5 | 0.50 | 2 | 0.20 |
| Learning Curve | 10% | 4 | 0.40 | 3 | 0.30 | 2 | 0.20 |
| **Total** | **100%** | | **3.60** | | **3.75** | | **3.50** |
Weight Determination Guidelines
| Project Type | Performance | Scalability | Security | Maintainability | Cost |
|---|---|---|---|---|---|
| Startup MVP | 10% | 15% | 10% | 25% | 25% |
| Fintech | 20% | 15% | 30% | 15% | 10% |
| Social Platform | 25% | 30% | 10% | 15% | 10% |
| Enterprise Internal System | 10% | 10% | 20% | 25% | 25% |
Simplified ATAM (Architecture Tradeoff Analysis Method)
6-Step Analysis
1. Identify Architecture Drivers
-> Core business goals + quality attribute scenarios
2. Create Utility Tree
-> Quality attributes -> Sub-items -> Scenarios -> Priority (H/M/L)
3. Analyze Architecture Approaches
-> Impact of each approach on scenarios
4. Identify Sensitivity Points / Tradeoffs
-> Which decisions are sensitive to which attributes
5. Classify Risks / Non-risks
-> Resolved tradeoffs vs. unresolved risks
6. Compile Results
-> List of key tradeoffs to reflect in the ADR