--- id: P-REINFORCE-WIKI-DE56CCF4 category: Dev confidence_score: 0.95 tags: ["conway's-law", 'layered-architecture', 'layered-architecture', 'layered-architecture', 'cognitive-constraints', 'cognitive-engineering'] last_reinforced: 2026-05-02 --- # [[Conway's Law]] ## πŸ“Œ Brief μ†ŒμŠ€ **Conway's Law(μ½˜μ›¨μ΄μ˜ 법칙)**λŠ” 1967λ…„ 컴퓨터 ν”„λ‘œκ·Έλž˜λ¨Έ 멜빈 μ½˜μ›¨μ΄(Melvin Conway)κ°€ 처음 κ΄€μ°°ν•˜μ—¬ μ œκΈ°ν•œ 인지적 μ œμ•½(Cognitive constraints)에 κ΄€ν•œ λ²•μΉ™μž…λ‹ˆλ‹€ [1]. 이 법칙은 "μ‹œμŠ€ν…œμ„ μ„€κ³„ν•˜λŠ” 쑰직은 ν•„μ—°μ μœΌλ‘œ κ·Έ 쑰직의 μ˜μ‚¬μ†Œν†΅ ꡬ쑰λ₯Ό λ³΅μ œν•œ ν˜•νƒœμ˜ 섀계λ₯Ό λ§Œλ“€μ–΄λ‚΄κ²Œ λœλ‹€"λŠ” 원리λ₯Ό λœ»ν•©λ‹ˆλ‹€ [1]. ν”„λ ˆλ“œ 브룩슀(Fred Brooks)κ°€ μžμ‹ μ˜ μ €μ„œμΈ *The Mythical Man-Month*μ—μ„œ 이 λ…Όλ¬Έκ³Ό 아이디어λ₯Ό μΈμš©ν•˜λ©΄μ„œ 'μ½˜μ›¨μ΄μ˜ 법칙'μ΄λΌλŠ” μ΄λ¦„μœΌλ‘œ 널리 μ•Œλ €μ‘ŒμŠ΅λ‹ˆλ‹€ [1]. ## πŸ“– Core Content * **쑰직의 μ†Œν†΅ ꡬ쑰와 μ•„ν‚€ν…μ²˜μ˜ μΌμΉ˜μ„±**: μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜λŠ” μˆœμˆ˜ν•œ 기술적 결정을 λ„˜μ–΄ μ‹œμŠ€ν…œμ„ μ„€κ³„ν•˜λŠ” 쑰직의 ν˜•νƒœμ™€ μ˜μ‚¬μ†Œν†΅ κ²½λ‘œμ— μ˜ν•΄ ꡬ쑰적 μ œμ•½μ„ λ°›μŠ΅λ‹ˆλ‹€ [1]. 쑰직이 μ‹œμŠ€ν…œμ„ ꡬ좕할 λ•Œ, 결과물인 섀계 λ””μžμΈμ€ ν•΄λ‹Ή 쑰직 λ‚΄λΆ€μ˜ μ˜μ‚¬μ†Œν†΅λ§(communication structures)의 볡사본이 λ˜λŠ” κ²½ν–₯이 μžˆμŠ΅λ‹ˆλ‹€ [1]. * **κ±°μ‹œμ  μ•„ν‚€ν…μ²˜(Macro-architecture)λ‘œμ„œμ˜ μ—­ν• **: μ½˜μ›¨μ΄μ˜ 법칙 κ΄€μ μ—μ„œ μ•„ν‚€ν…μ²˜ νŒ¨ν„΄μ„ 바라보면, μ΄λŠ” λ‹¨μˆœν•œ λ‚΄λΆ€ κ΅¬ν˜„ 방식이 μ•„λ‹ˆλΌ μ½”λ“œλ² μ΄μŠ€μ™€ 개발 νŒ€μ˜ ν˜•νƒœλ₯Ό λ™μ‹œμ— ν˜•μ„±(shape)ν•˜λŠ” κ±°μ‹œμ  μ•„ν‚€ν…μ²˜λ‘œ μž‘μš©ν•©λ‹ˆλ‹€ [2]. * **μ‹€μ œ νŒ€ κ΅¬μ‘°μ™€μ˜ λ§€ν•‘ 사둀 (κ³„μΈ΅ν˜• μ•„ν‚€ν…μ²˜)**: 이 법칙이 μ‹€μ œλ‘œ λ‚˜νƒ€λ‚˜λŠ” λŒ€ν‘œμ μΈ μ˜ˆκ°€ [[Layered Architecture]](κ³„μΈ΅ν˜• μ•„ν‚€ν…μ²˜)μž…λ‹ˆλ‹€. κ³„μΈ΅ν˜• μ•„ν‚€ν…μ²˜μ˜ μˆ˜ν‰μ  뢄할은 μ’…μ’… 쑰직 λ‚΄ κ·Έλ£Ήκ³Ό μ§μ ‘μ μœΌλ‘œ λ§€ν•‘λ©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, ν”„λ ˆμ  ν…Œμ΄μ…˜ 계측(Presentation layer)은 React 개발자둜 κ΅¬μ„±λœ UI/UX νŒ€κ³Ό μ—°κ²°λ˜κ³ , λΉ„μ¦ˆλ‹ˆμŠ€ 계측(Business layer)은 Java 개발자둜 κ΅¬μ„±λœ λ°±μ—”λ“œ νŒ€κ³Ό λ§€ν•‘λ˜λ©°, λ°μ΄ν„°λ² μ΄μŠ€ 계측(Database layer)은 DBA(λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μž) νŒ€μœΌλ‘œ λ‚˜λ‰˜μ–΄ κ΅¬μ„±λ˜λŠ” ν˜•νƒœλ₯Ό 띠게 λ©λ‹ˆλ‹€ [2]. ## βš–οΈ Trade-offs & Caveats μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. (λ‹€λ§Œ 제곡된 μ†ŒμŠ€μ— ν•œμ •ν•˜μ—¬ μœ μΆ”ν•  λ•Œ, μ½˜μ›¨μ΄μ˜ 법칙에 따라 [[Layered Architecture]] λ“±μ˜ νŒ¨ν„΄μ΄ 기술적 ꡬ쑰와 쑰직 ꡬ쑰λ₯Ό λ™μΌν•˜κ²Œ κ³ μ°©ν™”μ‹œν‚€λŠ” 경우, 섀계가 쑰직의 ꡬ쑰적 ν•œκ³„μ™€ μ œμ•½(Cognitive constraints)에 μ’…μ†λœλ‹€λŠ” 점을 μ£Όμ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. 쑰직의 κ·Έλ£Ή 뢄할이 μ½”λ“œμ˜ 뢄할을 κ°•μ œν•˜κ²Œ λ˜μ–΄, μˆœμˆ˜ν•œ λΉ„μ¦ˆλ‹ˆμŠ€ 도메인 μ€‘μ‹¬μ˜ μœ μ—°ν•œ 마이크둜(Micro) 섀계λ₯Ό κ°€λ‘œλ§‰λŠ” μš”μ†Œλ‘œ μž‘μš©ν•  κ°€λŠ₯성을 μ‹œμ‚¬ν•©λ‹ˆλ‹€ [1, 2].) ## πŸ”— Knowledge Connections ### Related Concepts #### [쑰직 ꡬ쑰 및 κ±°μ‹œμ  관점] - [[Layered Architecture]] - μ—°κ²° 이유: μ½˜μ›¨μ΄μ˜ 법칙이 μ†Œν”„νŠΈμ›¨μ–΄ 섀계에 μ–΄λ–»κ²Œ λ°˜μ˜λ˜λŠ”μ§€ λ³΄μ—¬μ£ΌλŠ” κ°€μž₯ 직접적인 μ‚¬λ‘€λ‘œ μ†ŒμŠ€μ—μ„œ μ œμ‹œλ˜μ—ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€ [2]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: ν”„λ ˆμ  ν…Œμ΄μ…˜, λΉ„μ¦ˆλ‹ˆμŠ€, λ°μ΄ν„°λ² μ΄μŠ€ λ“± μ•„ν‚€ν…μ²˜μ˜ 기술적 계측 뢄리가 μ‹€μ œ UI/UX, λ°±μ—”λ“œ, DBAλΌλŠ” 인적 쑰직 λ‹¨μœ„μ™€ μ–΄λ–»κ²Œ μΌμΉ˜ν•˜λ©° κ°œλ°œλ˜λŠ”μ§€ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€ [2]. #### [μ†Œν”„νŠΈμ›¨μ–΄ 섀계 이둠] - [[Cognitive Constraints]] - μ—°κ²° 이유: μ½˜μ›¨μ΄μ˜ 법칙이 μ •μ˜λ˜λŠ” 핡심 μΉ΄ν…Œκ³ λ¦¬μ΄μž 원인이기 λ•Œλ¬Έμž…λ‹ˆλ‹€ [1]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: 쑰직 λ‚΄ μ‚¬λžŒ κ°„μ˜ μ†Œν†΅κ³Ό 인지적 ν•œκ³„κ°€ μ‹œμŠ€ν…œμ˜ ꡬ쑰적 κ²°κ³Όλ¬Ό(λ””μžμΈ)을 μ œν•œν•˜κ³  κ²°μ •μ§“λŠ” 원리λ₯Ό νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [1]. - [[Macro-architecture]] - μ—°κ²° 이유: μ½˜μ›¨μ΄μ˜ λ²•μΉ™μ˜ κ΄€μ μ—μ„œ λ³Ό λ•Œ μ•„ν‚€ν…μ²˜κ°€ λ‹¨μˆœν•œ 기술적 κ΅¬ν˜„(Micro)을 λ„˜μ–΄ μ½”λ“œμ™€ νŒ€μ„ λͺ¨λ‘ ν˜•μ„±ν•˜λŠ” κ±°μ‹œμ (Macro) μ°¨μ›μ˜ κ²°μ •μž„μ„ μ„€λͺ…ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€ [2]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ•„ν‚€ν…μ²˜ νŒ¨ν„΄μ΄ μ½”λ“œ ꡬ쑰뿐만 μ•„λ‹ˆλΌ, μ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν•˜λŠ” νŒ€ ꡬ성과 업무 λΆ„μž₯μ—κΉŒμ§€ 영ν–₯을 λ―ΈμΉ˜λŠ” κ±°μ‹œμ  μž‘μš© 원리λ₯Ό 이해할 수 μžˆμŠ΅λ‹ˆλ‹€ [2]. ### Deeper Research Questions - μ½˜μ›¨μ΄μ˜ 법칙이 μ˜ˆμΈ‘ν•˜λŠ” 인지적 μ œμ•½μ„ κ·Ήλ³΅ν•˜κ³  μˆœμˆ˜ν•˜κ²Œ μ‹œμŠ€ν…œ ν’ˆμ§ˆκ³Ό λΉ„μ¦ˆλ‹ˆμŠ€ μš”κ΅¬μ‚¬ν•­μ— μ΅œμ ν™”λœ μ•„ν‚€ν…μ²˜λ₯Ό μ„€κ³„ν•˜λ €λ©΄ μ–΄λ–€ 쑰직적 λŒ€μ‘μ΄ ν•„μš”ν•œκ°€? - κ³„μΈ΅ν˜• μ•„ν‚€ν…μ²˜ 외에 λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜(MSA)λ‚˜ 이벀트 기반 μ•„ν‚€ν…μ²˜(EDA)λ₯Ό λ„μž…ν•  λ•Œ, μ½˜μ›¨μ΄μ˜ 법칙은 쑰직 ꡬ쑰에 μ–΄λ–€ μƒˆλ‘œμš΄ ν˜•νƒœμ˜ μ œμ•½μ΄λ‚˜ 맀핑을 μš”κ΅¬ν•˜λŠ”κ°€? - μ•„ν‚€ν…μ²˜ νŒ¨ν„΄μ΄ κ±°μ‹œμ  μ•„ν‚€ν…μ²˜(Macro-architecture)와 λ―Έμ‹œμ  λ‚΄λΆ€ 섀계(Micro-level design)둜 λ‚˜λ‰  λ•Œ, μ½˜μ›¨μ΄μ˜ 법칙은 각각의 μˆ˜μ€€μ—μ„œ μ–΄λ–»κ²Œ λ‹€λ₯΄κ²Œ λ°œν˜„λ˜λŠ”κ°€? - ν”„λ ˆλ“œ 브룩슀(Fred Brooks)κ°€ κ°•μ‘°ν•œ μ‹œμŠ€ν…œμ˜ 'κ°œλ…μ  무결성(Conceptual integrity)'을 μœ μ§€ν•˜λŠ” 것과 μ½˜μ›¨μ΄μ˜ 법칙에 λ”°λ₯Έ 쑰직적 μ œμ•½ κ°„μ˜ 좩돌이 λ°œμƒν•  λ•Œ 이λ₯Ό μ–΄λ–»κ²Œ μ‘°μœ¨ν•  수 μžˆλŠ”κ°€? - νŒ€ ꡬ쑰가 λ³€κ²½(예: 크둜슀 νŽ‘μ…”λ„ νŒ€μœΌλ‘œμ˜ μ „ν™˜)될 λ•Œ κΈ°μ‘΄ μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜λŠ” μ–΄λ– ν•œ ꡬ쑰적 λ³€κ²½ μ••λ ₯을 λ°›κ²Œ λ˜λŠ”κ°€? ### Practical Application Contexts - **Implementation:** μ½”λ“œλ₯Ό κ΅¬ν˜„ν•  λ•Œ, μ½”λ“œλ² μ΄μŠ€μ˜ λͺ¨λ“ˆ 뢄리가 μ‹€μ œ ν”„λ‘œμ νŠΈμ— μ°Έμ—¬ν•˜λŠ” νŒ€(UIνŒ€, λ°±μ—”λ“œνŒ€, DBνŒ€ λ“±)의 μ†Œν†΅ λ‹¨μ ˆμ΄λ‚˜ 경계λ₯Ό κ·ΈλŒ€λ‘œ λ°˜μ˜ν•˜μ—¬ 뢄리 및 κ΅¬ν˜„λ˜λŠ” ν˜„μƒμœΌλ‘œ λ‚˜νƒ€λ‚©λ‹ˆλ‹€ [2]. - **System Design:** 초기 μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜λ₯Ό 섀계할 λ•Œ, 기술적인 μš”κ΅¬μ‚¬ν•­λΏλ§Œ μ•„λ‹ˆλΌ ν˜„μž¬ 쑰직의 ꡬ쑰와 νŒ€ κ°„μ˜ μ˜μ‚¬μ†Œν†΅ 방식이 μ‹œμŠ€ν…œ λ””μžμΈμ— ꡬ쑰적 μ œμ•½μœΌλ‘œ μž‘μš©ν•  κ²ƒμž„μ„ κ³ λ €ν•΄μ•Ό ν•©λ‹ˆλ‹€ [1]. - **Operation / Maintenance:** μœ μ§€λ³΄μˆ˜λ₯Ό μ§„ν–‰ν•  λ•Œμ—λ„ 각 계측(λ ˆμ΄μ–΄)을 λ‹΄λ‹Ήν•˜λŠ” 쑰직 κ°„μ˜ μ†Œν†΅ ꡬ쑰에 따라 μ—λŸ¬ μΆ”μ μ΄λ‚˜ λ³€κ²½ μ‚¬ν•­μ˜ 배포 νŒŒμ΄ν”„λΌμΈμ΄ 영ν–₯을 λ°›κ²Œ λ©λ‹ˆλ‹€ [1, 2]. - **Learning Path:** μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜ 이둠을 ν•™μŠ΅ν•  λ•Œ, μ•„ν‚€ν…μ²˜κ°€ 순수 곡학적 결둠이 μ•„λ‹ˆλΌ μ‚¬νšŒν•™μ Β·μ‘°μ§μ  μ‚°λ¬Όμž„μ„ 'The Mythical Man-Month'와 같은 고전을 톡해 μ΄ν•΄ν•˜λŠ” λ‹¨κ³„λ‘œ μ—°κ²°λ©λ‹ˆλ‹€ [1]. - **My Project Relevance:** ν˜„μž¬ λ‚΄κ°€ μ†ν•œ ν”„λ‘œμ νŠΈμ˜ νŒ€ ꡬ쑰(예: ν”„λ‘ νŠΈμ—”λ“œ μ „λ‹΄, API μ „λ‹΄ λ“±)λ₯Ό λΆ„μ„ν•˜κ³ , μš°λ¦¬κ°€ μ±„νƒν•œ μ•„ν‚€ν…μ²˜(예: κ³„μΈ΅ν˜• μ•„ν‚€ν…μ²˜)κ°€ μ΄λŸ¬ν•œ νŒ€μ˜ μ†Œν†΅ ꡬ쑰λ₯Ό κ·ΈλŒ€λ‘œ λͺ¨λ°©ν•˜κ³  μžˆλŠ”μ§€ κ°κ΄€μ μœΌλ‘œ 평가해 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€ [2]. ### Adjacent Topics - [[Conceptual Integrity]] - ν™•μž₯ λ°©ν–₯: ν”„λ ˆλ“œ λΈŒλ£©μŠ€κ°€ μ œμ•ˆν•œ κ°œλ…μœΌλ‘œ, μ—¬λŸ¬ μ‚¬λžŒμ΄ κ°œλ°œμ— μ°Έμ—¬ν•˜λ”λΌλ„ μ‹œμŠ€ν…œ 섀계가 ν•œ μ‚¬λžŒμ˜ μ•„μ΄λ””μ–΄μ²˜λŸΌ 일관성을 μœ μ§€ν•΄μ•Ό ν•œλ‹€λŠ” μ›μΉ™μž…λ‹ˆλ‹€. μ½˜μ›¨μ΄μ˜ 법칙이 μ΄ˆλž˜ν•  수 μžˆλŠ” νŒŒνŽΈν™”λ₯Ό λ°©μ–΄ν•˜κΈ° μœ„ν•œ μ•„ν‚€ν…νŠΈμ˜ μ—­ν• (λΉ„μ „μ˜ 수호자)을 μ—°κ΅¬ν•˜λŠ” λ°©ν–₯으둜 지식을 ν™•μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [1]. - [[Software Architecture Erosion]] - ν™•μž₯ λ°©ν–₯: μ•„ν‚€ν…μ²˜ 침식(Erosion) ν˜„μƒμ€ μ‹œκ°„μ΄ 지남에 따라 초기 μ˜λ„μ™€ μ‹€μ œ κ΅¬ν˜„μ΄ μ–΄κΈ‹λ‚˜λŠ” ν˜„μƒμž…λ‹ˆλ‹€. 쑰직 κ΅¬μ‘°λ‚˜ μ†Œν†΅ 방식이 변경됨에 따라 μ˜λ„ν–ˆλ˜ μ•„ν‚€ν…μ²˜κ°€ μ–΄λ–»κ²Œ μΉ¨μ‹λ˜μ–΄ κ°€λŠ”μ§€ 쑰직적 관점과 κ²°ν•©ν•˜μ—¬ ν™•μž₯ν•΄ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€ [3]. --- *Last updated: 2026-05-02*