Files
2nd/10_Wiki/Topics/DevOps_and_Security/MECE Principle.md
T
Antigravity Agent f8b21af4be Wiki cleanup: error-doc removal, dedup merge, link normalization
10_Wiki/Topics 대규모 정리:
- 오류 캡처/미완성 stub 문서 227개 제거
- 교차폴더 중복 43클러스터 병합 (63파일 → redirect)
- 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건
- 카테고리 MOC 6개 신규 생성
- Graph 섹션 미해결 related-keyword 링크 10,058건 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 23:52:15 +09:00

154 lines
4.8 KiB
Markdown

---
id: wiki-2026-0508-mece-principle
title: MECE Principle
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [mutually-exclusive-collectively-exhaustive, mece]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [reasoning, framework, problem-solving, structured-thinking]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
language: meta
framework: McKinsey/Pyramid Principle
---
# MECE Principle
## 매 한 줄
> **"매 Mutually Exclusive, Collectively Exhaustive — 매 분류가 매 겹치지 않고 매 빠짐 없도록"**. 매 McKinsey의 Barbara Minto 가 정립한 매 structured thinking 의 cornerstone — 매 issue tree, root-cause, decision tree 매 모든 분해 작업의 sanity check — 매 LLM era 에서 도 prompt design 의 핵심.
## 매 핵심
### 매 두 조건
- **ME (Mutually Exclusive)**: 매 카테고리 간 매 overlap = 0.
- **CE (Collectively Exhaustive)**: 매 카테고리 합집합 = 전체.
### 매 typical violation
- **overlap**: 매 "남성 / 여성 / 운동선수" — 매 운동선수 매 양 성별과 겹침.
- **gap**: 매 "0-20세 / 30-50세 / 60+세" — 매 21-29, 51-59 누락.
- **mixed dimension**: 매 색깔 + 모양 의 mix — 매 categorize 의 차원 의 잡음.
### 매 응용
1. 매 issue tree (Pyramid Principle).
2. 매 root cause 5-Why.
3. 매 LLM prompt 의 답 의 structure 강제.
4. 매 도메인 모델링 enum 설계.
## 💻 패턴
### 매 issue tree (예: 매출 감소)
```
매출 감소
├── volume 감소 ← MECE 조건 1
│ ├── 신규 고객 감소
│ └── 기존 고객 이탈
└── 단가 감소 ← MECE 조건 2
├── 할인 증가
└── 믹스 변화
// 매 합집합 = 매출 변화 모든 원인
// 매 교집합 = 0
```
### 매 검증 checklist
```typescript
function validateMECE<T>(buckets: T[][], universe: T[]): {ok: boolean, issues: string[]} {
const issues: string[] = [];
const flat = buckets.flat();
// 매 overlap check
const seen = new Set<T>();
for (const item of flat) {
if (seen.has(item)) issues.push(`overlap: ${item}`);
seen.add(item);
}
// 매 exhaustiveness check
for (const u of universe) {
if (!seen.has(u)) issues.push(`gap: ${u}`);
}
return { ok: issues.length === 0, issues };
}
```
### 매 enum exhaustive (TypeScript)
```typescript
type Status = 'pending' | 'active' | 'archived';
function handle(s: Status) {
switch (s) {
case 'pending': return ...;
case 'active': return ...;
case 'archived': return ...;
default: { const _: never = s; throw new Error(_); }
// 매 새 case 추가 시 compile error → CE 보장
}
}
```
### 매 LLM prompt MECE
```
다음 카테고리들로만 분류하라. 매 항목은 정확히 하나의 카테고리에만 속한다.
- A: <명확한 정의>
- B: <명확한 정의>
- C: 위 어느 것에도 해당하지 않는 모든 경우 ← 매 CE 보장 의 escape hatch
```
### 매 root cause 5-Why MECE
```
Q1: 왜 deploy 실패?
A: build 단계 vs deploy 단계 vs config 단계 ← MECE 분기
Q2 (build 분기): 왜 build 실패?
A: dependency vs compile vs test ← MECE 분기
...
```
### 매 데이터 partition
```sql
-- 매 user segmentation 매 MECE
CASE
WHEN ltv >= 1000 THEN 'high'
WHEN ltv >= 100 THEN 'mid'
WHEN ltv >= 0 THEN 'low'
ELSE 'unknown' -- 매 NULL/음수 의 catch-all
END AS segment
-- 매 boundary 매 명시 / 매 catch-all 의 CE 의 보장
```
## 매 결정 기준
| 상황 | Approach |
|---|---|
| 매 pure analysis | strict MECE |
| 매 fuzzy domain | "기타" bucket 의 catch-all |
| 매 enum domain | exhaustive switch + never |
| 매 LLM 분류 | "위 외의 모든 경우" 항목 명시 |
**기본값**: 매 strict MECE 의 시도 → 매 fuzzy 면 catch-all bucket 추가.
## 🔗 Graph
- 부모: [[Pyramid Principle]]
- 변형: [[Issue Tree]] · [[Root Cause Analysis]]
- 응용: [[BLUF (Bottom Line Up Front)]] · [[Type-safe Error Handling Exhaustiveness Checking]]
- Adjacent: [[Cognitive_Load]]
## 🤖 LLM 활용
**언제**: 매 답 의 structure 강제, 매 bucket 분류 의 정확도 의 끌어 올림.
**언제 X**: 매 creative brainstorm — 매 MECE 의 강제는 발산 의 막음.
## ❌ 안티패턴
- **dimension mix**: 매 한 분기에 매 color + size 의 동시 분류.
- **catch-all 남발**: 매 "기타" 가 50% 면 분해 의 의미 없음.
- **MECE 강박**: 매 fuzzy 영역의 매 strict MECE 의 over-engineering.
## 🧪 검증 / 중복
- Verified (Barbara Minto, Pyramid Principle 3rd ed.; McKinsey internal training).
- 신뢰도 A.
## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — MECE 정의 + issue tree/enum/LLM prompt 응용 정리 |