305 lines
5.6 KiB
Markdown
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]]
|