[G1-Sync] Manual knowledge update
This commit is contained in:
@@ -0,0 +1,304 @@
|
||||
---
|
||||
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]]
|
||||
Reference in New Issue
Block a user