Rain Lag

아날로그 인시던트 스토리 캐비닛 오브 도어즈: 더 안전한 프로덕션 결정을 위한 종이 포털 벽 설계하기

‘아날로그 인시던트 스토리 캐비닛’—사건, 리스크, 프리모텀 시나리오를 한눈에 보이는 공유 의사결정 도구로 만드는 종이 문(door) 벽을 만드는 방법.

아날로그 인시던트 스토리 캐비닛 오브 도어즈: 더 안전한 프로덕션 결정을 위한 종이 포털 벽 설계하기

디지털 대시보드, 인시던트 티켓, 모니터링 툴은 필수적입니다. 하지만 동시에 무시하기도 쉽습니다. 이들은 브라우저 탭 안에 존재하지, 회의실 안에 있지 않습니다. 팀이 압박 속에서 프로덕션 관련 결정을 내릴 때, 과거 인시던트에서 얻은 교훈은 종종 문서와 로그, 혹은 누군가의 기억 속에만 묻혀 있습니다.

**아날로그 인시던트 스토리 캐비닛(analog incident story cabinet)**은 이 상황을 바꿉니다.

종이 “문(door)”들로 가득 찬 벽을 떠올려 보세요. 각 문을 열면 짧은 스토리가 있습니다. 실제 인시던트, 아슬아슬한 near-miss, 혹은 프로젝트가 어떻게 실패할 수 있고 무엇이 그 실패를 막을 수 있는지에 대한 프리모텀(premortem) 시나리오일 수 있습니다. 이 벽은 누구나 볼 수 있는 로우테크이지만 고대역폭의 의사결정 지원 시스템이 됩니다.

이 글에서는 프로덕션에서 더 안전한 선택을 돕는 실용적인 도구로서 이 “문들의 캐비닛(cabinet of doors)”을 어떻게 설계할 수 있는지 단계별로 살펴봅니다.


아날로그 인시던트 스토리 캐비닛이란 무엇인가?

아날로그 인시던트 스토리 캐비닛은 물리적이고 시각적인 리스크 라이브러리입니다.

  • 종이 “문(door)”들(A5/A4 카드나 폴더)로 덮인 벽(또는 큰 보드)
  • 각 문 안에는 하나의 스토리(인시던트, near-miss, 상상한 실패)와 구조화된 시그널이 담겨 있습니다: 레벨(levels), 압력(pressure), 캐퍼시티(capacity), 알럿(alerts)
  • 이 벽은 계획 수립, 프리모텀, 사후 인시던트 리뷰에서 룸 스케일(room-scale)의 의사결정 보조 도구로 사용됩니다.

운영 리스크 대시보드의 종이 버전이라고 생각할 수 있습니다. 다만 손으로 만질 수 있고, 함께 만들 수 있고, 무엇보다 무시하기 어렵습니다.


디지털 시대에 왜 아날로그인가?

아날로그로 가는 것은 향수 때문이 아니라, 의도적인 디자인 선택입니다.

1. 시야에 잘 들어오고, 무시되기 어렵다(Visibility and salience)
종이 문으로 뒤덮인 벽은 스크롤해서 지나칠 수 없습니다. 스탠드업, 플래닝, 인시던트 리뷰를 할 때 항상 회의실 안에 있습니다. 이 지속적인 가시성 덕분에 리스크가 항상 머릿속 전면에 자리 잡게 됩니다.

2. 공동 소유(Shared ownership)
함께 카드를 쓰고, 그리며, 벽에 붙이는 과정은 집단적 책임감을 만듭니다. 이건 “SRE 팀의 문서”도, “PM의 스프레드시트”도 아닙니다. 모두가 눈으로 보고, 손으로 만지는, 모두의 자산입니다.

3. 필요한 순간에 생각을 일부러 느리게 만들기(Slower thinking in the right moments)
문을 열고, 짧은 스토리를 읽고, 임계값과 조건을 논의하는 과정은 팀을 자동운전 모드에서 꺼내, 성찰적 사고 모드로 끌어올립니다. 바로 리스크가 큰 결정을 내리기 전에 가장 필요한 상태입니다.

4. 심리적 안전감(Psychological safety)
실수가 벽에 붙은 중립적인 물리적 아티팩트로 바뀌면, 그 실수는 외부화됩니다. 초점은 “누가 망쳤나?”에서 “여기서 어떤 패턴을 볼 수 있지?”로 이동합니다. 이런 전환은 리스크를 더 안전하게 이야기할 수 있는 환경을 만듭니다.


프리모텀 도구로 캐비닛 활용하기

대부분의 팀은 문제가 터진 후에야 **포스트모텀(postmortem)**을 합니다. 정작 **프리모텀(premortem)**을 습관적으로 하는 팀은 많지 않습니다.

문들의 캐비닛은 프리모텀을 하나의 팀 의식(ritual)으로 바꿉니다.

  1. 다가오는 프로젝트나 릴리스를 하나 고른다.
    “지금으로부터 석 달 뒤, 이 프로젝트는 프로덕션에서 실패했습니다. 무엇이 일어났을까요?”

  2. 모두가 그 실패를 상상하게 한다.
    엔지니어, 운영, 프로덕트, 디자인, 고객지원 등 각자 잠재 실패 시나리오를 카드 한 장에 씁니다.

  3. 스토리와 구조를 함께 담는다.
    각 시나리오마다, 참가자들은 한 개의 문(door)에 다음을 채웁니다.

    • 짧은 내러티브 형식의 인시던트 스토리
    • 구체적인 레벨(levels), 압력(pressure), 캐퍼시티(capacity) 시그널
    • 조기 경보 **알럿(alerts)**과 완화(mitigation) 방법
  4. 문들을 캐비닛에 추가한다.
    시스템, 제품 영역, 리스크 유형별로 묶고 클러스터링한 뒤 벽에 고정합니다.

그 결과, 다가오는 작업에 대한 **손에 잡히는 리스크 지도(tangible risk landscape)**가 만들어집니다. 팀은 이 벽을 가이드 삼아, 어떤 리스크를 우선 완화하고, 어떤 선택이 더 안전한지 논의할 수 있습니다.


각 문을 설계하기: 스토리 + 시그널

캐비닛이 실제로 유용해지려면, 각 문(스토리 카드)은 어느 정도 구조화되어 있어야 합니다. 개념적으로는 운영 시그널을 로그처럼 남기는 ESG-Logger-AN® 스타일 로그와 비슷합니다.

아래는 각 문에 인쇄하거나 손으로 그려 쓸 수 있는 간단한 템플릿입니다.

1. 헤더(Header)

  • 제목(Title): 짧고 선명하게 (예: “블랙프라이데이 체크아웃 대혼란(Black Friday Checkout Meltdown)”)
  • 유형(Type): Incident / Near-miss / Premortem Scenario
  • 날짜(Date): 실제 발생일(또는 상상 속 발생일)
  • 오너(Owner): 이 문을 작성하거나 유지 관리하는 사람

2. 스토리(내러티브)

3–7문장 정도로 유지합니다.

  • 컨텍스트: 우리는 무엇을 하려고 했는가?
  • 무엇이 잘못되었는가: 실패는 어떻게 전개되었는가?
  • 영향(Impact): 고객, 시스템, 팀에 어떤 영향을 주었는가?
  • 주요 기여 요인(Key contributing factors): 상위 수준에서 핵심 요인은 무엇이었는가?

내러티브는 중요합니다. 사람들은 차트보다 이야기를 더 잘 기억합니다. 내러티브는 데이터에 사람 냄새를 입힙니다.
예: “우리는 마감일을 맞추려고 서두르며 부하 테스트(load test)를 생략했다.”

3. 시그널: 레벨(Levels), 압력(Pressure), 캐퍼시티(Capacity)

이 섹션은 더 일찍 경고해 줄 수 있었던 **운영 텔레메트리(operational telemetry)**를 담습니다.

크게 세 가지 축으로 정리할 수 있습니다.

  • 레벨(Levels) — 무엇이 높거나(high) 혹은 낮았는지(low)
    • 예시 시그널: 에러율, 레이턴시(latency), 변경량(change volume), 동시 진행 이니셔티브 개수, 의존성 개수(dependency count)
  • 압력(Pressure) — 어디에서 압박을 받았는지
    • 예시 시그널: 마감일(deadline) 압박, 임원진의 높은 관심(executive visibility), 인시던트 발생 빈도, 온콜(on-call) 피로도
  • 캐퍼시티(Capacity) — 어떤 버퍼가 있었는지
    • 예시 시그널: 팀 인원 대비 업무량, 기술 부채 지수(technical debt index), 테스트 커버리지, 관측 가능성(observability) 범위, 시간 여유(time buffer)

각 시그널에 대해 다음을 기록합니다.

  • 지표/인디케이터(Metric/Indicator) (예: “팀 부하: 2명의 엔지니어가 5개의 서비스를 담당”)
  • 정상 범위(Normal Range) (예: “팀당 동시에 1–2개의 메이저 프로젝트”)
  • 관측된 수준(Observed Level) (예: “동시에 4개의 메이저 프로젝트 진행”)
  • 리스크 레벨(Risk Level) (Low / Medium / High, 또는 색 점 하나)

이렇게 하면 문은 단순한 스토리를 넘어, 하나의 구조화된 리스크 스냅샷이 됩니다.

4. 임계값(Thresholds), 트리거(Triggers), 알럿(Alerts)

여기서는 사후 hindsight를 실제 **운영상 가이드(operational guidance)**로 번역합니다.

  • 임계값(Thresholds): “X가 Y를 초과하면 우리는 위험 구간에 들어온다.”
    • 예: “온콜 팀이 연속 2주말 이상 근무하면 → High risk”
  • 트리거(Triggers): 행동을 촉발해야 하는 구체적인 사건이나 시그널의 조합
    • 예: “새 기능 + 트래픽 피크 기간 + 인력 감소 = 릴리스 연기 또는 범위 축소 고려”
  • 조기 경고 인디케이터(Early-warning indicators): 인시던트가 터지기 에 보통 먼저 나타나는 미묘한 징후들
    • 예: “슬랙에 특정 컴포넌트에 대한 ‘잠깐 질문이요’ DM이 넘쳐난다.”

추가로 다음도 담습니다.

  • 권장 액션(Recommended Actions): 임계값이나 트리거가 발생했을 때 무엇을 할 것인가?
    • “비핵심 배포를 동결한다.”
    • “임시 온콜 지원 인력을 추가한다.”
    • “프로덕트와 상의해 범위나 일정을 재조정한다.”

이 지점부터 이 벽은 마치 의사결정 지원 소프트웨어처럼 작동하기 시작합니다. 명확히 정의된 룰을 통해 어떤 옵션이 더 안전하고, 어떤 옵션이 더 위험한지 가시화합니다.


플래닝과 의사결정 회의에서 벽 활용하기

한번 캐비닛이 채워지고 나면, 팀의 정기적인 플래닝 리듬 속에 이 벽을 넣어야 합니다.

큰 결정을 내리기 전

  1. 관련 있는 문들을 고른다.
    인프라 마이그레이션을 한다면, 마이그레이션, 컷오버(cutover) 중 장애, 캐퍼시티 이슈와 관련된 모든 문을 꺼냅니다.

  2. 소리 내어 읽고, 주석을 붙인다.
    스토리를 훑어 읽은 뒤, 메모지(스티키 노트)를 붙입니다.

    • “여전히 유효함”
    • “컨텍스트가 바뀜”
    • “이 리스크는 이미 제거됨”
  3. 임계값과 트리거를 살핀다.
    현재 상황을 각 문에 적힌 임계값과 비교합니다.

    • 지금 팀 부하, 기술 부채, 시간 버퍼는 그때와 비슷한 상태인가?
    • 유사한 조기 경고 시그널이 보이고 있는가?
  4. 벽을 배경으로 옵션을 비교한다.
    문들을 배경으로 두고 대안을 평가합니다.

    • “옵션 A는 빨라 보이지만, 이미 세 번이나 문제를 일으킨 고위험 패턴을 그대로 밟고 있다.”
    • “옵션 B는 느리지만, X, Y, Z 문에서 드러난 리스크를 모두 회피한다.”

정기 플래닝 중에

  • 회의를 시작할 때 벽을 따라 5분간 산책하는 것으로 시작합니다.
    각자 지금 하는 일과 관련 있어 보이는 문을 하나 골라 공유하게 합니다.
  • 스코프와 타임라인을 협상할 때, 의식적으로 캐비닛을 참조합니다.
    • “이 문을 보면, 지난번에 테스트를 압축했을 때 무슨 일이 있었는지 보입니다. 이번에는 그걸 어떻게 피할 건가요?”

목표는 습관을 만드는 것입니다. 중요한 프로덕션 결정은 캐비닛을 한 번 보지 않고는 내리지 않는다는 문화를 만드는 것 말입니다.


문을 살아 있게 유지하기: 살아 있는 문서화(Living Documentation)

정적인 벽은 결국 배경 벽지처럼 보이게 됩니다. 이 벽을 계속 유용하게 유지하려면, **살아 있는 문서(living documentation)**처럼 다뤄야 합니다.

인시던트 및 near-miss 이후

  • 의미 있는 인시던트나 near-miss가 있을 때마다 새 문을 하나 만든다.
  • 사후 인시던트 리뷰(Post-incident review) 중에, 다음을 포함해 함께 문을 채웁니다.
    • 존재했지만 놓친 시그널들
    • 그때 있었으면 좋았을 임계값
    • 영향을 줄이거나 빠르게 봉합할 수 있었던 액션들

프리모텀 중에

  • 새 시스템이나 제품 라인에는 새로운 프리모텀 문을 추가합니다.
  • 오래된 문을 다시 살펴보며 다음과 같이 표시합니다.
    • “대체됨(Superseded)” — 더 이상 해당 리스크는 유효하지 않음
    • “완화됨(Mitigated)” — 통제가 도입되었으며, 그에 맞게 임계값을 업데이트

정기적인 가지치기와 리프레시

분기마다 다음을 수행합니다.

  • 구식 문은 아카이브로 옮깁니다. (바인더나 사진 라이브러리)
  • 활성 문은 테마나 시스템별로 색 테이프로 강조합니다.
  • 특히 리스크가 큰 시기(예: 피크 시즌, 대형 런치)에는 핵심 문들을 전면에 배치합니다.

이 주기를 통해 벽은 박물관이 아니라, 현재 리스크 지형을 보여주는 지도가 됩니다.


크로스 펑셔널 오너십과 심리적 안전 구축하기

캐비닛의 진짜 힘은 문화에 있습니다.

  • 모두가 기여한다: 엔지니어, 프로덕트 매니저, 디자이너, QA, 고객지원, 심지어 세일즈까지—각자는 리스크의 다른 단면을 봅니다.
  • 스토리가 정규화된다: 실패는 개인 폴더 속에 숨겨진 문서가 아니라, 벽에 붙어 있는 모두의 학습 자료입니다.
  • 언어가 공유된다: 레벨(levels), 압력(pressure), 캐퍼시티(capacity), 임계값(thresholds) 같은 용어를 함께 쓰면, 비난 없이 리스크를 이야기할 수 있는 공통 언어가 생깁니다.
  • 말하기가 더 안전해진다: “이 계획은 17번 문이랑 많이 비슷해 보여요.”라고 말하는 것이 “리더십이 잘못된 결정을 내리는 것 같습니다.”라고 말하는 것보다 훨씬 쉽습니다. 문은 중립적인 외부 참고점이 되어 줍니다.

시간이 지날수록 캐비닛은 다음 메시지를 강화합니다.
리스크를 제기하는 것은 업무의 일부이지, 커리어 리스크가 아니다.


시작하기: 간단한 파일럿

이걸 시작하기 위해 대대적인 변화가 필요한 것은 아닙니다.

  1. 벽이나 화이트보드를 하나 확보한다.
    간단한 표지판을 붙입니다: “Incident Story Cabinet of Doors”.
  2. 기본 템플릿을 인쇄한다.
    아니면 인덱스 카드에 손으로 직접 그려도 됩니다.
  3. 기억에 남는 인시던트나 near-miss 5–10개로 시작한다.
    점심시간에 자원자를 모아 함께 문을 채웁니다.
  4. 다가오는 릴리스에 대해 프리모텀을 진행하고, 그 문들도 추가합니다.
  5. 다음 몇 번의 플래닝 회의에서 이 벽을 반드시 사용하기로 약속합니다.

그 다음에는 반복(iterate)하면 됩니다. 템플릿을 조정하고, 색 코딩을 추가하고, 원격 근무자들을 위해 사진을 찍어 공유하세요. 디테일보다 중요한 것은 핵심 습관입니다.
스토리 + 시그널 + 정기적인 사용.


결론

아날로그 인시던트 스토리 캐비닛의 아이디어는 단순합니다. 손에 잡히지 않는 리스크와 묻혀 있는 인시던트를 보이는 종이 포털의 벽으로 바꾸는 것입니다. 하지만 이 단순함 안에는 꽤 큰 힘이 숨어 있습니다.

**내러티브(incident stories)**와 **구조화된 데이터(levels, pressure, capacity, thresholds, alerts)**를 결합하면, 다음과 같은 공유 아티팩트를 만들 수 있습니다.

  • 팀이 더 깊이 있는 프리모텀을 수행하도록 돕고
  • 실시간으로 더 안전한 프로덕션 선택을 유도하며
  • 시스템과 조직이 실제로 어떻게 실패하고 복구되는지를 담은 살아 있는 문서로 성장합니다.

무엇보다도, 실수로부터 배우는 일을 자연스럽고, 사회적이며, 방(room) 전체를 쓰는 실천으로 만듭니다. 디지털 도구들로 가득한 세상에서, 때로는 리스크를 다시 벽 위로 끌어올려 모두가 보고, 함께 행동할 수 있게 만드는 것이 가장 안전한 선택일 수 있습니다.

아날로그 인시던트 스토리 캐비닛 오브 도어즈: 더 안전한 프로덕션 결정을 위한 종이 포털 벽 설계하기 | Rain Lag