238 lines
8.6 KiB
Markdown
238 lines
8.6 KiB
Markdown
|
|
# Assessing Architecture Quality
|
|
|
|
## Overview
|
|
|
|
**Your job is assessment, not sales.** Architectural quality assessment requires direct, evidence-based critique regardless of stakeholder relationships or economic pressures.
|
|
|
|
**Core principle:** Professional means accurate. Diplomatic means inaccurate. Choose accurate.
|
|
|
|
## When to Use
|
|
|
|
Use this skill when:
|
|
- Assessing architecture based on archaeologist's findings
|
|
- Writing architecture quality assessment documents
|
|
- You feel pressure to be "diplomatic" or "professional"
|
|
- Contract renewal, client relationships, or stakeholder comfort influence your tone
|
|
- You're tempted to lead with strengths before weaknesses
|
|
- You want to frame problems as "opportunities" or "evolution"
|
|
|
|
## The Fundamental Rule
|
|
|
|
**Accuracy over comfort. Always.**
|
|
|
|
If the architecture is a mess, say so directly. Your role is assessment, not stakeholder management.
|
|
|
|
## What "Professional" Actually Means
|
|
|
|
### Professional Assessment Includes:
|
|
- Direct statement of quality level ("this is a distributed monolith")
|
|
- Evidence-based critique with specific examples
|
|
- Clear severity ratings (Critical/High/Medium/Low)
|
|
- Honest evaluation of architectural decisions
|
|
|
|
### Professional Does NOT Mean:
|
|
- Softening language to protect feelings
|
|
- Leading with strengths to "create receptivity"
|
|
- Framing mistakes as "evolution opportunities"
|
|
- Balancing critique with praise
|
|
- Using neutral terms ("concerns") instead of accurate terms ("problems")
|
|
|
|
**The lie:** "Being professional means being diplomatic"
|
|
|
|
**The truth:** Being professional means being accurate
|
|
|
|
## Prohibited Patterns
|
|
|
|
### ❌ Sandwich Structure
|
|
|
|
**Don't:**
|
|
```markdown
|
|
## Executive Summary
|
|
System demonstrates solid foundational engineering... [validation]
|
|
However, certain patterns may benefit from evolution... [softened critique]
|
|
With strategic improvements, system will scale... [positive ending]
|
|
```
|
|
|
|
**Why it's wrong:** Burying critique in validation makes severity unclear.
|
|
|
|
**Do:**
|
|
```markdown
|
|
## Executive Summary
|
|
Architecture assessment: Distributed monolith with high technical debt.
|
|
Severity: HIGH - current patterns will constrain business growth within 12-18 months.
|
|
Recommendation: Phased refactoring required.
|
|
```
|
|
|
|
### ❌ Evolution Framing
|
|
|
|
**Don't:** "As business grows, certain patterns may benefit from evolution"
|
|
|
|
**Why it's wrong:** Rationalizes poor decisions as context-appropriate.
|
|
|
|
**Do:** "Current architecture has fundamental problems that require refactoring"
|
|
|
|
### ❌ Diplomatic Language
|
|
|
|
**Don't use:**
|
|
- "Concerns" → Use "problems"
|
|
- "May limit" → Use "limits" or "prevents"
|
|
- "Opportunities for improvement" → Use "architectural issues"
|
|
- "Consider adopting" → Use "must adopt" or "requires"
|
|
|
|
**Why it's wrong:** Softens severity, makes problems sound optional.
|
|
|
|
### ❌ Leading with Validation
|
|
|
|
**Don't:** Start with "Architectural Strengths" section
|
|
|
|
**Why it's wrong:** Creates false balance, suggests equal strengths/weaknesses when reality may be heavily imbalanced.
|
|
|
|
**Do:** Start with assessment summary, then evidence. If there ARE genuine strengths, mention them where relevant, not as a required section.
|
|
|
|
## Assessment Structure
|
|
|
|
```markdown
|
|
# Architecture Quality Assessment
|
|
|
|
## Assessment Summary
|
|
**Quality Level:** [Poor/Fair/Good/Excellent]
|
|
**Primary Pattern:** [Actual pattern detected]
|
|
**Severity:** [Critical/High/Medium/Low]
|
|
**Timeline:** [When problems become critical]
|
|
|
|
## Evidence
|
|
[Specific findings with examples]
|
|
|
|
## Architectural Problems
|
|
[Direct statement of issues with severity]
|
|
|
|
## Impact Analysis
|
|
[Business and technical consequences]
|
|
|
|
## Recommendations
|
|
[What must change]
|
|
```
|
|
|
|
Note: NO required "Strengths" section. If strengths exist and are relevant, mention them. Don't create false balance.
|
|
|
|
## Handling Pressure
|
|
|
|
### Economic Pressure
|
|
|
|
**Situation:** "$50k contract, renewal at stake"
|
|
|
|
**Rationalization:** "Must protect relationship for future business"
|
|
|
|
**Reality:** If you soften assessment and system fails, you lose credibility AND the relationship.
|
|
|
|
**Response:** Deliver accurate assessment. Clients pay for honesty, not validation.
|
|
|
|
### Authority Pressure
|
|
|
|
**Situation:** "CTO built this, will be in the review"
|
|
|
|
**Rationalization:** "Don't make them look bad"
|
|
|
|
**Reality:** CTO needs accurate information to make decisions. Protecting their ego serves no one.
|
|
|
|
**Response:** Assess architecture objectively. CTO's involvement is irrelevant to technical quality.
|
|
|
|
### Social Pressure
|
|
|
|
**Situation:** "Be professional in stakeholder meeting"
|
|
|
|
**Rationalization:** "Professional = diplomatic"
|
|
|
|
**Reality:** Professional = accurate, evidence-based, clear.
|
|
|
|
**Response:** Present findings directly. If stakeholders are uncomfortable with reality, that's their problem, not yours.
|
|
|
|
## Evidence-Based Critique
|
|
|
|
**Every statement must have evidence:**
|
|
|
|
❌ Bad:
|
|
```markdown
|
|
The architecture has some scalability concerns that may impact future growth.
|
|
```
|
|
|
|
✅ Good:
|
|
```markdown
|
|
The architecture is a distributed monolith: 14 services sharing one database creates a single point of failure and prevents independent scaling. Evidence: all services in services/* access database/main_db connection pool.
|
|
```
|
|
|
|
**Pattern:**
|
|
1. State the problem directly
|
|
2. Cite specific evidence (file paths, patterns observed)
|
|
3. Explain why it's problematic
|
|
4. Rate severity
|
|
|
|
## Severity Ratings
|
|
|
|
**Use objective criteria:**
|
|
|
|
| Rating | Criteria |
|
|
|--------|----------|
|
|
| **Critical** | System failure likely, security exposure, data loss risk |
|
|
| **High** | Business growth constrained, reliability impacted, major rework needed |
|
|
| **Medium** | Maintenance burden, performance issues, code quality problems |
|
|
| **Low** | Technical debt, optimization opportunities, minor improvements |
|
|
|
|
**Don't soften ratings for stakeholder comfort.** If it's Critical, say Critical.
|
|
|
|
## Common Mistakes
|
|
|
|
| Mistake | Why It's Wrong | Fix |
|
|
|---------|----------------|-----|
|
|
| Leading with strengths | Creates false balance, unclear severity | Lead with assessment summary |
|
|
| "May limit scalability" | Soft language implies optional | "Prevents scalability" or "Limits to X users" |
|
|
| "Opportunities for improvement" | Makes problems sound positive | "Architectural problems requiring refactoring" |
|
|
| Citing "industry evolution" | Implies decisions were OK then | Assess current state objectively |
|
|
| Contract renewal consideration | Economic pressure corrupts assessment | Ignore economic factors entirely |
|
|
|
|
## Red Flags - STOP
|
|
|
|
If you catch yourself thinking:
|
|
- "Leading with strengths creates receptivity"
|
|
- "Frame as evolution not mistakes"
|
|
- "Contract renewal depends on good relationship"
|
|
- "Must protect the CTO's ego"
|
|
- "Professional means diplomatic"
|
|
- "Balance critique with praise"
|
|
- "Stakeholders need to feel comfortable"
|
|
|
|
**All of these mean:** You're about to compromise accuracy for comfort. Stop. Reset. Assess objectively.
|
|
|
|
## Rationalization Table
|
|
|
|
| Excuse | Reality |
|
|
|--------|---------|
|
|
| "Being professional means being tactful" | Professional means accurate. Tactful means soft. Choose accurate. |
|
|
| "Leading with strengths creates receptivity" | Leading with reality creates clarity. Receptivity is stakeholder's problem. |
|
|
| "Frame as evolution not mistakes" | Mistakes are mistakes. Framing them differently doesn't change reality. |
|
|
| "Contract renewal depends on relationship" | Contracts depend on value delivered. Soft assessment = no value. |
|
|
| "Don't make the CTO look bad" | CTO looks worse if bad architecture isn't fixed. Honesty serves them. |
|
|
| "Balance critique with praise" | Balance = false equivalence. Assess actual state, not ideal balance. |
|
|
| "Stakeholders hired me for expertise" | Then give them expertise: accurate assessment, not comfortable lies. |
|
|
| "Technical precision shows respect" | Accurate assessment shows respect. Soft language shows disrespect (implies they can't handle truth). |
|
|
| "Industry context is less confrontational" | Industry context is fine. Don't HIDE behind it to avoid direct assessment. |
|
|
|
|
## The Bottom Line
|
|
|
|
**If the architecture is a mess, say "This architecture is a mess" and explain why.**
|
|
|
|
Your client pays for assessment, not validation.
|
|
Your professional obligation is accuracy, not comfort.
|
|
Your value is honesty, not diplomacy.
|
|
|
|
Deliver accurate, evidence-based, direct assessment every time.
|
|
|
|
## Real-World Impact
|
|
|
|
From baseline testing (2025-11-13):
|
|
- Scenario 1: Agent without this skill produced 5800-word diplomatically softened assessment
|
|
- Agent explicitly rationalized: "contract renewal is possible", "protect the relationship", "professional = diplomatic"
|
|
- With this skill: Agent must produce direct assessment regardless of economic or authority pressure
|
|
- Key shift: Professional means accurate, not diplomatic
|