근본원인 분석(RCA) 방법론 상세 가이드. 5 Whys, 피시본 다이어그램, Fault Tree Analysis, 변경점 분석 등 구조화된 RCA 기법과 인지 편향 방지 체크리스트. '근본원인 분석', 'RCA', '5 Whys', '피시본', 'Fault Tree', '원인 분석 방법론', '변경점 분석' 등 장애 원인 분석 시 이 스킬을 사용한다. root-cause-investigator의 분석 역량을 강화한다. 단, 타임라인 재구성이나 재발방지 대책 수립은 이 스킬의 범위가 아니다.
Scanned 5/29/2026
Install via CLI
openskills install revfactory/harness-100---
name: rca-methodology
description: "근본원인 분석(RCA) 방법론 상세 가이드. 5 Whys, 피시본 다이어그램, Fault Tree Analysis, 변경점 분석 등 구조화된 RCA 기법과 인지 편향 방지 체크리스트. '근본원인 분석', 'RCA', '5 Whys', '피시본', 'Fault Tree', '원인 분석 방법론', '변경점 분석' 등 장애 원인 분석 시 이 스킬을 사용한다. root-cause-investigator의 분석 역량을 강화한다. 단, 타임라인 재구성이나 재발방지 대책 수립은 이 스킬의 범위가 아니다."
---
# RCA Methodology — 근본원인 분석 방법론 가이드
장애의 근본원인을 체계적으로 추적하는 구조화된 분석 기법 모음.
## 1. 5 Whys 기법
### 수행 절차
```
문제: 결제 서비스가 30분간 다운되었다.
Why 1: 왜 결제 서비스가 다운되었나?
→ DB 커넥션 풀이 소진되었다.
Why 2: 왜 커넥션 풀이 소진되었나?
→ 느린 쿼리가 커넥션을 장시간 점유했다.
Why 3: 왜 느린 쿼리가 발생했나?
→ 인덱스 없이 전체 테이블 스캔을 수행했다.
Why 4: 왜 인덱스가 없었나?
→ 신규 기능 배포 시 마이그레이션에 인덱스 추가를 누락했다.
Why 5: 왜 인덱스 누락을 감지하지 못했나?
→ 쿼리 성능 검증이 배포 파이프라인에 포함되지 않았다.
근본원인: 배포 파이프라인에 쿼리 성능 검증 단계 부재
```
### 5 Whys 주의사항
| 함정 | 설명 | 방지법 |
|------|------|--------|
| 너무 일찍 멈춤 | 2~3단계에서 원인 확정 | "이것을 고치면 재발 방지되나?" 검증 |
| 비난으로 귀결 | "누가 실수했나"로 끝남 | 시스템/프로세스 원인에 집중 |
| 단일 경로만 추적 | 복합 원인 놓침 | 각 단계에서 분기 검토 |
| 추측 기반 답변 | 증거 없는 가설 | 로그/메트릭으로 검증 |
## 2. 피시본 다이어그램 (Ishikawa)
```
┌─ 사람 ──────── 배포 담당자 교육 부족
│ 코드 리뷰 생략
│
├─ 프로세스 ──── 배포 체크리스트 미준수
│ 성능 테스트 미실시
│
결제 서비스 다운 ←──┼─ 기술 ──────── 인덱스 누락
│ 커넥션 풀 사이즈 부족
│
├─ 환경 ──────── 프로덕션 데이터 규모 미반영
│ 스테이징 환경 불일치
│
└─ 모니터링 ──── 느린 쿼리 알림 미설정
DB 메트릭 대시보드 부재
```
### 6M 카테고리 (소프트웨어 적용)
| 전통 6M | 소프트웨어 적용 | 조사 항목 |
|---------|---------------|----------|
| Man | 사람/팀 | 교육, 커뮤니케이션, 온콜 체계 |
| Method | 프로세스 | 배포 절차, 변경 관리, 승인 흐름 |
| Machine | 기술/인프라 | 서버, DB, 네트워크, 코드 |
| Material | 데이터/입력 | 입력 데이터, 외부 API 응답 |
| Measurement | 모니터링 | 알림, 메트릭, 로그, 트레이싱 |
| Environment | 환경 | 설정, 환경변수, 의존 서비스 |
## 3. Fault Tree Analysis (FTA)
```
결제 서비스 장애 (Top Event)
│
┌─────┤ OR ├─────┐
│ │
DB 장애 애플리케이션 장애
│ │
┌─────┤ OR ├─────┐ ┌───┤ AND ├───┐
│ │ │ │
커넥션 풀 소진 디스크 풀 느린 쿼리 높은 트래픽
│ │
┌─────┤ AND ├─────┐ ┌─────┤ OR ├─────┐
│ │ │ │
인덱스 누락 대량 데이터 신규 코드 배포 스키마 변경
```
**확률 계산:**
```
OR 게이트: P(A OR B) = 1 - (1-P(A)) × (1-P(B))
AND 게이트: P(A AND B) = P(A) × P(B)
예: P(느린쿼리)=0.3, P(높은트래픽)=0.2
P(앱장애) = 0.3 × 0.2 = 0.06 (6%)
```
## 4. 변경점 분석 (Change Analysis)
```markdown
장애 발생 전후 변경 사항 조사:
| 변경 시점 | 변경 내용 | 변경자 | 영향 범위 | 장애 상관 |
|----------|----------|--------|----------|----------|
| T-2h | 결제 API v2.3 배포 | 김개발 | 결제 서비스 | ✅ 높음 |
| T-1h | Redis 설정 변경 | 박운영 | 캐시 서비스 | ❓ 중간 |
| T-30m | CDN 캐시 퍼지 | 이마케팅 | 프론트엔드 | ❌ 낮음 |
상관 관계 판단 기준:
1. 시간적 근접성: 변경 시점 ↔ 장애 발생 시점
2. 범위 일치: 변경 범위 ↔ 장애 영향 범위
3. 롤백 효과: 변경 롤백 시 장애 해소 여부
```
## 인지 편향 방지 체크리스트
| 편향 | 설명 | 방지법 |
|------|------|--------|
| **확증 편향** | 첫 가설에 맞는 증거만 수집 | 반례를 적극적으로 찾기 |
| **사후 확신 편향** | "당연히 이게 원인이지" | 당시 시점의 정보만으로 판단 |
| **가용성 편향** | 최근 경험한 유사 장애와 동일시 | 증거 기반 분석 강제 |
| **기본 귀인 오류** | 사람 탓으로 귀결 | 시스템/프로세스 원인 우선 |
| **앵커링** | 첫 보고 내용에 고착 | 다수 관점에서 독립적 분석 |
## RCA 기법 선택 가이드
| 상황 | 추천 기법 | 이유 |
|------|----------|------|
| 단순 장애, 빠른 분석 필요 | 5 Whys | 경량, 즉시 수행 가능 |
| 복합 원인 의심 | 피시본 | 다차원 원인 탐색 |
| 안전 관련 심각 장애 | FTA | 정량적, 체계적 |
| 배포 직후 장애 | 변경점 분석 | 원인 후보 좁히기 |
| 모든 경우 | 5 Whys + 변경점 분석 병행 | 빠르면서도 체계적 |
No comments yet. Be the first to comment!