Files
2nd/10_Wiki/Topic_Programming/Architecture/Strategic_Thinking.md
T
Antigravity Agent 9148c358d0 docs(10_Wiki): 위키 전체 재구성 — Topic_* 폴더를 4개 카테고리로 통합 + 대규모 중복 제거
Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를
Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류.

- 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로
  자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거,
  동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거.
- 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming,
  Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business,
  Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로,
  나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는
  title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백).
  원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지.
- 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서.
- 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는
  지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지.
- Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경.
- 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
2026-07-05 00:33:48 +09:00

196 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: wiki-2026-0508-strategic-thinking
title: Strategic Thinking
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Strategic Thinking, Strategy, Engineering Strategy]
duplicate_of: none
source_trust_level: B
confidence_score: 0.85
verification_status: applied
tags: [strategy, decision-making, engineering-leadership]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
language: na
framework: na
---
# Strategic Thinking
## 매 한 줄
> **"매 long-horizon, multi-step, 매 trade-off 의 reasoning — 매 goal → diagnosis → guiding policy → coherent actions"**. Richard Rumelt, *Good Strategy / Bad Strategy* (2011) 의 kernel. 매 engineering context — 매 architecture choice, tech debt, hiring, platform investment.
## 매 핵심
### 매 Rumelt kernel
1. **Diagnosis**: 매 challenge 의 명확한 정의 — what is actually hard?
2. **Guiding Policy**: 매 approach — how we'll address it.
3. **Coherent Actions**: 매 mutually reinforcing concrete steps.
### 매 strategic vs tactical
- **Strategic**: months-years, irreversible, enables/blocks options.
- **Tactical**: days-weeks, reversible, executes within strategy.
- **Type 1 vs Type 2 decisions** (Bezos): 매 one-way door (strategic) vs two-way door (tactical).
### 매 frameworks
- **OKRs**: Objective + Key Results.
- **Wardley Map**: 매 capability evolution chain (genesis → custom → product → commodity).
- **Five Forces** (Porter): 매 industry structure.
- **First Principles** (Musk): 매 axiom 부터 reason.
- **Pre-mortem** (Klein): 매 future failure 의 imagine.
### 매 응용
1. Engineering org strategy (build vs buy, monolith vs micro).
2. Career planning (5-year arc).
3. Technical roadmap prioritization.
## 💻 패턴
### Pre-mortem template (Markdown ADR)
```markdown
# ADR-042: Migrate to Kubernetes
## Diagnosis
Current ECS deployment cannot scale to multi-region; deploys take 40min.
## Pre-mortem (it's 2027, this failed)
- Team didn't learn k8s; constant outages.
- Cost 3× higher than ECS.
- Migration took 18 months instead of 6.
## Mitigations
- Hire 1 SRE with k8s background before start.
- Pilot with 2 non-critical services for 3 months.
- Define rollback criteria.
```
### Wardley Map (text DSL — onlinewardleymaps.com)
```
title Engineering Platform 2026
component User [0.95, 0.50] label [0, -10]
component Web App [0.85, 0.55]
component Auth [0.75, 0.70]
component LLM Inference [0.55, 0.30] label [0, 10]
component GPU Cluster [0.30, 0.40]
component Datacenter [0.10, 0.30]
User -> Web App
Web App -> Auth
Web App -> LLM Inference
LLM Inference -> GPU Cluster
GPU Cluster -> Datacenter
```
### First-principles decision (LLM-augmented)
```python
# Use Claude Opus 4.7 for option exploration
from anthropic import Anthropic
client = Anthropic()
def explore_options(problem: str, constraints: list[str]) -> str:
msg = client.messages.create(
model="claude-opus-4-7",
max_tokens=2000,
thinking={"type": "enabled", "budget_tokens": 8000},
messages=[{"role": "user", "content":
f"Problem: {problem}\nConstraints: {constraints}\n"
"From first principles, list 5 distinct approaches with key trade-offs."}],
)
return msg.content[-1].text
```
### Decision matrix (weighted)
```python
options = {
"Postgres": {"perf": 7, "cost": 9, "team_skill": 9, "scale": 6},
"DynamoDB": {"perf": 9, "cost": 5, "team_skill": 4, "scale": 9},
"CockroachDB":{"perf": 8, "cost": 6, "team_skill": 5, "scale": 8},
}
weights = {"perf": 0.3, "cost": 0.2, "team_skill": 0.3, "scale": 0.2}
scores = {k: sum(v[c]*weights[c] for c in weights) for k, v in options.items()}
print(sorted(scores.items(), key=lambda x: -x[1]))
```
### OKR structure
```yaml
objective: Make platform self-serve for new teams
key_results:
- 90% of new services deploy without platform team involvement (currently 20%)
- Onboarding time < 1 day (currently 3 weeks)
- NPS from internal devs > 50
```
### Type-1 vs Type-2 framing
```markdown
| Decision | Type | Reversibility | Rigor needed |
|---|---|---|---|
| Choose primary DB | 1 | Low | High — involve all leads |
| Choose CI provider | 2 | Medium | Medium |
| Choose linter ruleset | 2 | High | Low — just decide |
```
### Strategy doc skeleton (Will Larson style)
```markdown
# Strategy: Platform Reliability 2026
## Context
Outages weekly, MTTR 4hrs, eng team rotates on-call.
## Diagnosis
Lack of observability + flaky integration tests + no SLO discipline.
## Guiding Policy
Invest in observability and SLO culture before adding features.
## Actions
1. Adopt OpenTelemetry across all services (Q1).
2. Define SLOs for top 10 services (Q1).
3. Error-budget-based release gating (Q2).
4. Hire 2 SREs (Q2).
## Non-goals
- Multi-region active-active (defer to 2027).
- New feature work pause: NO — 70/30 split.
```
## 매 결정 기준
| 상황 | Approach |
|---|---|
| Long-horizon org/tech direction | Rumelt kernel + Wardley map |
| Capability evolution planning | Wardley map |
| Multi-option comparison | Weighted decision matrix + ADR |
| Risk-laden irreversible decision | Pre-mortem + Type-1 framing |
| Quarterly execution | OKRs |
| Novel/uncertain space | First principles + LLM exploration |
**기본값**: 매 strategic decision → ADR + diagnosis + pre-mortem.
## 🔗 Graph
- 부모: [[Decision Making]]
- 응용: [[Architecture Decision Record]]
- Adjacent: [[Systems_Thinking|Systems Thinking]] · [[Mental_Models|Mental Models]]
## 🤖 LLM 활용
**언제**: option exploration, pre-mortem brainstorming, devil's advocate, summarize long context for diagnosis.
**언제 X**: 매 final commit decision — accountability 의 human; 매 confidential strategy — privacy concern.
## ❌ 안티패턴
- **Goals as strategy**: "be #1" 의 strategy X — 매 goal. 매 diagnosis + policy 의 missing.
- **Strategy as wishlist**: 매 incoherent action list, 매 trade-offs 의 unstated.
- **Pre-mortem 의 skip**: 매 surprise failure mode.
- **Analysis paralysis on Type-2 decisions**: 매 reversible 의 just decide.
- **Wardley map as drawing exercise**: 매 decision 으로 connect X — 매 useless.
## 🧪 검증 / 중복
- Verified (Rumelt *Good Strategy/Bad Strategy* 2011; Larson *An Elegant Puzzle*; Wardley *Wardley Maps* 2018).
- 신뢰도 B (synthesis from multiple authorities).
## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — strategic thinking frameworks for engineering |