Files
2nd/10_Wiki/Topics/Coding/Quality_Tech_Radar.md
T
2026-05-10 22:08:15 +09:00

305 lines
5.6 KiB
Markdown

---
id: quality-tech-radar
title: Tech Radar — adopt / trial / assess / hold
category: Coding
status: draft
source_trust_level: B
verification_status: conceptual
created_at: 2026-05-09
updated_at: 2026-05-09
tags: [quality, technology, vibe-coding]
tech_stack: { language: "process", applicable_to: ["Engineering"] }
applied_in: []
aliases: [tech radar, ThoughtWorks, technology assessment, adopt trial assess hold, decision making]
---
# Tech Radar
> ThoughtWorks 의 framework. **매 6 month, 매 tech 의 status (adopt / trial / assess / hold)**. Team 의 alignment + decision.
## 📖 핵심 개념
- 매 quadrant: language / framework / tool / platform.
- 매 ring: adopt / trial / assess / hold.
- 매 6 month update.
- Public 또는 internal.
## 💻 코드 패턴
### 4 ring
```
ADOPT:
- Production-proven.
- Team 가 default.
- 매 새 project.
TRIAL:
- 작은 production trial.
- Pilot project.
- 1-2 team.
ASSESS:
- 실험 가능.
- Watch carefully.
- Learn.
HOLD:
- 새 project 가 안 됨.
- 기존 = migrate plan.
- 매 새 use 가 justify.
```
### 4 quadrant
```
- Languages & Frameworks (TS, React, ...).
- Tools (Vite, ESLint, ...).
- Platforms (AWS, Cloudflare, ...).
- Techniques (TDD, microservice, ...).
```
### 예 (engineering team)
```
ADOPT:
- TypeScript
- React + Compiler
- Tailwind 4
- Postgres
- Vite
- Vitest
TRIAL:
- TanStack Start
- Cloudflare Workers
- Hono
- Bun
- DuckDB
ASSESS:
- SolidJS
- Qwik
- Effect-TS
- Compose Multiplatform
- Helix editor
HOLD:
- jQuery (legacy 만)
- Webpack (Vite migrate)
- Class component (functional 만)
- Sass (CSS modern)
```
### Process
```
1. 매 6 month review.
2. 매 engineer 가 propose tech.
3. Discussion + vote.
4. Update radar.
5. Communicate (all-hands).
6. Implement (migrate plan if hold).
```
### Internal radar
```
Company-specific.
- 매 team 의 input.
- Tech council 가 decide.
- Documented + searchable.
```
### Public radar (ThoughtWorks)
```
thoughtworks.com/radar.
- 매 6 month update.
- Industry trends.
- 매 entry 의 reasoning.
```
→ Reference 만. Each company 가 own.
### 매 entry 의 doc
```markdown
# React + Compiler
Status: Adopt
Quadrant: Languages & Frameworks
Updated: 2026-05-09
## Why
- Type-safe.
- Modern (auto memo).
- 큰 ecosystem.
## When
- All new web projects.
- Migrate Class component.
## When NOT
- 매우 작은 (Astro 가 더).
- Native mobile (RN OK).
## Reference
- [Decision: React vs Vue](#)
```
### Migration (HOLD → ADOPT)
```
Old: Webpack (HOLD).
New: Vite (ADOPT).
Plan:
- New project: Vite (immediate).
- Old project: migrate over 6-12 month.
- Tooling support (build script, docs).
- Knowledge sharing (brown bag).
```
### Conflict resolution
```
Engineer A: "Adopt SolidJS now".
Engineer B: "Hold, React 가 좋음".
Process:
- Pros / cons doc.
- Trial pilot (small project).
- 6 month 후 review.
- Decision based on data.
```
### Tech debt 의 visibility
```
Hold = tech debt.
- 매 quarter 의 migration status.
- "이 5 codebase 가 Sass = migrate by Q4".
- Engineering metric.
```
### Tech radar 의 가치
```
- Alignment (모든 사람 가 같은 tech 사용).
- Onboarding (새 사람 = radar 읽음).
- Decision (이 tech 가 OK?).
- Communication (manager 가 understand).
→ "Stack 가 무엇" 의 single source.
```
### 함정
```
- 매년 한 번만 update: stale.
- 매 month update: noisy.
- Engineer input 없음: top-down.
- Public 없음: 외부 candidate 가 모름.
- "Hold" 무시: migrate 안 됨.
- Hype-driven: adopt before stable.
```
### Adoption curve
```
새 tech 의 lifecycle:
1. Innovator (early adopter).
2. Early majority.
3. Late majority.
4. Laggard.
→ Adopt 가 late majority 시점.
Trial 이 early majority.
Assess 가 early adopter.
```
### 매 company 의 radar
- **Spotify**: golden path (preferred stack).
- **Atlassian**: tech radar.
- **Zalando**: 매 quarter 발표.
- **Netflix**: paved road.
### "Paved road" / "Golden path"
```
Tech radar 의 implementation.
- 1 stack 가 default.
- Tooling + doc + support.
- 매 deviation = justify.
→ "Innovation 의 cost ↓" + "Maintenance 의 share ↑".
```
### vs ThoughtWorks Radar
```
Industry radar:
- General trend.
- 큰 picture.
Internal radar:
- Specific stack.
- Migrate plan.
→ 둘 다 사용. Internal 가 actionable.
```
### Build / buy / open source
```
매 entry 의 추가 dimension:
- Build: 자체 build.
- Buy: SaaS / vendor.
- Open: open source.
→ Cost / control / community trade-off.
```
### Risk assessment
```
매 tech 의:
- Maturity (new vs old).
- Community (small vs big).
- Vendor lock-in.
- Migration cost.
- Performance.
- Security history.
→ Multi-dimensional 결정.
```
### Communication
```
- Quarterly all-hands: update.
- Wiki / Notion: searchable.
- Slack #tech-radar: discussion.
- 매 ADR 가 radar reference.
```
### CTO / Architect 의 role
```
- Curator (의제, decision).
- Cross-team alignment.
- 외부 trend watch.
- Risk balance.
→ "What tech 가 우리 가 사용?" 의 answer.
```
## 🤔 의사결정 기준
| 상황 | 추천 |
|---|---|
| 큰 org | Internal radar |
| 작은 startup | 1 stack (no radar) |
| Multi-team alignment | Tech radar |
| New tech | Assess / Trial |
| Migration | Hold + plan |
## ❌ 안티패턴
- **No radar**: 매 team 가 다른 stack.
- **Stale radar**: 1 year old.
- **Top-down only**: engineer input X.
- **Hype-driven**: unstable.
- **Hold 무시**: 점진 fix X.
- **모든 tech adopt**: complexity.
## 🤖 LLM 활용 힌트
- Adopt / Trial / Assess / Hold = 4 ring.
- 매 6 month update.
- Engineering decision 의 alignment.
- Public (ThoughtWorks) 가 reference.
## 🔗 관련 문서
- [[Productivity_Documentation]]
- [[Productivity_Knowledge_Sharing]]
- [[Quality_Tech_Debt]]