--- id: wiki-2026-0508-big-picture title: Big Picture category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Big Picture Thinking, System-Level View, Holistic View] duplicate_of: none source_trust_level: A confidence_score: 0.9 verification_status: applied tags: [meta, systems-thinking, architecture, decision-making] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: python framework: general --- # Big Picture ## 매 한 줄 > **"매 zoom out before you zoom in"**. Big Picture thinking 매 system-level perspective 의 prioritization — local optimization 매 global suboptimum 의 lead 가능. 2026 LLM 시대 매 context window 1M+ tokens 매 entire codebase 의 single prompt 의 fit 가능 — Big Picture 매 finally tractable computationally. ## 매 핵심 ### 매 Levels of abstraction - **L0 (atom)**: single function, single line. - **L1 (module)**: file, class, single concern. - **L2 (subsystem)**: service, package, bounded context. - **L3 (system)**: full application, deployment topology. - **L4 (ecosystem)**: organization, market, regulation. - 매 mistake: L0 의 stuck — never L3 까지 zoom out. ### 매 When to zoom out - 매 stuck 30+ min 의 single bug → L2 의 zoom out. - 매 architectural decision → L3 mandatory. - 매 hiring / team structure → L4. - 매 PR review → L1 + L2 mix. ### 매 응용 1. Architecture review (data flow diagram). 2. Incident postmortem (5 whys → systemic cause). 3. Roadmap planning (quarter-level priorities). 4. Code review (cross-cutting concerns). ## 💻 패턴 ### Pattern 1: Context map (L3 view) ```python # Visualize bounded contexts (DDD-style) contexts = { "auth": {"depends_on": [], "exposes": ["user_id", "session"]}, "billing": {"depends_on": ["auth"], "exposes": ["invoice", "subscription"]}, "notification": {"depends_on": ["auth", "billing"], "exposes": []}, } def find_critical_path(contexts): """매 highest fan-in 의 service 의 SPOF candidate.""" fan_in = {ctx: 0 for ctx in contexts} for ctx, info in contexts.items(): for dep in info["depends_on"]: fan_in[dep] += 1 return sorted(fan_in.items(), key=lambda x: -x[1]) ``` ### Pattern 2: Zoom-out checklist ```python ZOOM_OUT_QUESTIONS = [ "Who else is affected by this change?", "What breaks if this fails at 3am?", "Is this the right problem to solve right now?", "What does success look like in 6 months?", "Who owns this when I leave?", ] def review_pr(pr_diff: str) -> list[str]: return [q for q in ZOOM_OUT_QUESTIONS if not answered_in(pr_diff, q)] ``` ### Pattern 3: Pre-mortem (L4 thinking) ```python def premortem(project: str) -> dict: """매 launch 전 의 'imagine it failed' exercise.""" return { "tech_failure": "What technical assumption was wrong?", "market_failure": "Why did users not adopt?", "team_failure": "What organizational dynamic killed it?", "regulation": "What law/policy blocked it?", } ``` ### Pattern 4: Dependency graph (L2 → L3) ```python import networkx as nx def build_dep_graph(modules: dict[str, list[str]]) -> nx.DiGraph: g = nx.DiGraph() for mod, deps in modules.items(): for d in deps: g.add_edge(mod, d) cycles = list(nx.simple_cycles(g)) if cycles: print(f"매 architecture smell: {len(cycles)} cycles detected") return g ``` ### Pattern 5: LLM-assisted big picture (2026) ```python from anthropic import Anthropic client = Anthropic() def architecture_summary(repo_dump: str) -> str: """매 1M context 의 entire repo 의 fit — 2026 standard.""" msg = client.messages.create( model="claude-opus-4-7-1m", max_tokens=4000, messages=[{ "role": "user", "content": f"""다음 repo 의 architecture 를 L3 perspective 의 summarize. Identify: (1) bounded contexts, (2) critical path, (3) tech debt hotspots. {repo_dump}""" }], ) return msg.content[0].text ``` ### Pattern 6: Tradeoff matrix ```python def tradeoff_matrix(options: list[str], criteria: list[str], scores: dict) -> str: rows = [] for opt in options: row = [opt] + [str(scores[(opt, c)]) for c in criteria] rows.append(" | ".join(row)) return "\n".join(rows) # Usage options = ["monolith", "microservices", "modular monolith"] criteria = ["dev_speed", "ops_cost", "scalability", "team_autonomy"] ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | Bug fix < 1h | L0/L1 만 — zoom out 의 X. | | Recurring bug | L2 zoom out — systemic cause. | | New feature | L2 + L3 — fit 의 architecture. | | Postmortem | L3 + L4 mandatory. | | Quarterly planning | L4 only. | **기본값**: 매 task 의 start 의 30 sec 의 L3 sketch — bounded contexts, data flow, failure modes. ## 🔗 Graph - 부모: [[Systems_Thinking|Systems-Thinking]] · [[Architecture]] - 응용: [[Architecture-Review]] · [[Postmortem]] - Adjacent: [[Bounded Context]] · [[Domain-Driven-Design]] ## 🤖 LLM 활용 **언제**: Architecture review, repo onboarding, postmortem synthesis, roadmap drafting. 매 1M context 의 entire codebase 의 fit 가능 — 매 truly novel 2026 capability. **언제 X**: Tactical bug fix (L0/L1), perf tuning of single function. 매 LLM 매 generic advice 의 emit — local context 의 lose. ## ❌ 안티패턴 - **Premature zoom-out**: 매 every bug 의 L4 의 escalate — 매 paralysis. - **Ivory tower architecture**: L3 만 — implementation reality 의 ignore. - **Big-picture-only PR review**: 매 nitpick 의 miss. - **Solo big-picture**: 매 architect 매 single person — bus factor 1. ## 🧪 검증 / 중복 - Verified: Donella Meadows "Thinking in Systems" (2008), Eric Evans "DDD" (2003), Nicole Forsgren "Accelerate" (2018). - 신뢰도 A. - 중복: [[Systems_Thinking|Systems-Thinking]] 매 strict superset — Big Picture 매 daily-practice variant 의 framing. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — full content with L0-L4 levels, zoom-out patterns, LLM 1M context architecture summary |