Rain Lag

아날로그 장애 스토리 캘린더: 장애에서 배운 교훈을 1년 내내 이어지는 ‘조용한 경고의 벽’으로 바꾸기

장애 포스트모템을 눈에 보이는 연간 ‘스토리 캘린더’로 바꿔, 배운 교훈을 살아 있게 만들고, 신뢰성을 높이며, 같은 유형의 장애 재발을 막는 방법을 소개합니다.

아날로그 장애 스토리 캘린더: 장애에서 배운 교훈을 1년 내내 이어지는 ‘조용한 경고의 벽’으로 바꾸기

장애가 발생하면, 팀은 급하게 대응하고, 문제를 복구하고, 포스트모템을 작성하고… 그리고 잊는다. 몇 주만 지나도 대부분의 맥락은 사라지고, 경고의 신호는 흐려지며, 같은 패턴이 조용히 다시 쌓여간다.

만약 장애가 공유 문서나 잊힌 티켓으로 끝나는 게 아니라, 항상 눈에 보이는 **‘조용한 경고의 벽’**이 될 수 있다면 어떨까? 이것이 아날로그 장애 스토리 캘린더의 핵심 아이디어다. 장애와 그로부터 얻은 교훈을 시간 축 위에 시각적으로 표현한 물리적인 캘린더로, 1년 내내 신뢰성을 팀의 최전선에 두기 위한 장치다.

이 글에서는 구조화된 포스트모템에서 시작해, 장애를 표준화된 재사용 가능한 시각 시스템으로 바꿔, 실질적인 지혜로 오래 남기는 아날로그 캘린더를 만드는 방법을 단계별로 설명한다.


왜 아날로그 장애 스토리 캘린더인가?

대부분의 팀은 이미 어떤 형태로든 포스트모템이나 회고를 하고 있다. 하지만 현실은 종종 이렇다.

  • 템플릿이 제각각
  • 작성하는 깊이와 상세 수준이 들쭉날쭉
  • PDF가 폴더 속에 묻혀 버림
  • 후속 조치가 눈에 잘 보이지 않음

아날로그 장애 스토리 캘린더는 이런 엔트로피와 싸우기 위한 도구다. 다음을 가능하게 해준다.

  • 장애를 시간과 공간 위에 가시화하고
  • 몇 주, 몇 달에 걸쳐 패턴을 인지할 수 있게 하고
  • 교훈과 후속 조치를 매일 팀 눈앞에 두며
  • 장애 분석을 단순한 문서가 아닌 살아 있는 공동 기억으로 만든다.

벽에 12개월짜리 캘린더가 걸려 있고, 주요 장애마다 작은 스토리 스트립(또는 카드)로 붙어 있다고 상상해 보자. 그 안에는 무슨 일이 있었는지, 무엇에 영향을 미쳤는지, 무엇을 배웠고, 무엇을 어떻게 바꿨는지가 담겨 있다.


1단계: 구조화된, 반복 가능한 포스트모템부터 시작하기

이 캘린더는 결국 그 뒤에 있는 데이터의 품질만큼만 쓸모가 있다. 출발점은 구조화되고 반복 가능한 포스트모템 템플릿이다.

사전에 정의한 임팩트 기준(예: 고객 영향 장애, SLO 위반, 주요 내부 업무 중단 등)을 넘는 모든 장애에 대해 동일한 템플릿을 사용하자. 최소한 다음은 항상 포함되도록 한다.

  • Incident summary (장애 요약): 한두 문장으로 명확하게 정리
  • Impact (영향): 누가, 얼마나, 얼마나 오래 영향을 받았는지
  • Timeline of events (이벤트 타임라인): 감지, 에스컬레이션, 완화, 복구 시점 등 주요 타임스탬프
  • Root causes (근본 원인): 기술적·프로세스·조직적 기여 요인
  • Detection & response (탐지와 대응): 어떻게 발견했고, 어떻게 대응했는지
  • What went well (잘 된 점): 도움이 된 시스템이나 관행
  • What didn’t go well (잘 안 된 점): 공백, 혼란, 취약한 시스템
  • Lessons learned (배운 점): 이전에는 몰랐지만 이번에 새로 알게 된 것
  • Action items (액션 아이템): 담당자와 마감기한이 명확한 후속 조치들

항상 같은 구조를 사용하라. 일관성이 있어야 다음이 훨씬 쉬워진다.

  • 서로 다른 장애를 비교하고
  • 반복되는 패턴을 찾고
  • 아날로그 캘린더에 담을 핵심 “스토리”를 추출하기가 쉬워진다.

2단계: 회고를 데이터 기반 리뷰로 다루기

장애 회고(retrospective)는 그룹 치료도 아니고, 보여 주기식 의식도 아니다. 신뢰성 개선과 재발 방지에 직접 연결되는 데이터 기반 리뷰여야 한다.

각 회고 전에 다음 데이터를 준비하자.

  • 모니터링·로그 데이터: 그래프, 로그, 대시보드
  • Alert history (알림 이력): 누구에게 언제 알림이 갔고, 어떻게 대응했는지
  • Change history (변경 이력): 배포, 설정 변경, feature flag 변경 등
  • User impact metrics (사용자 영향 지표): 에러율, 지연 시간, 비즈니스 KPI

이 데이터를 바탕으로 다음과 같은 질문에 답해 보자.

  • 이 장애는 얼마나 일찍 감지할 수 있었을까?
  • 실제 대응 시간은 우리가 기대하는 기준과 맞았는가?
  • 알림(alert)은 의도대로 울렸는가, 아니면 사람이 먼저 문제를 발견했는가?
  • 이 장애 전에는 시스템에 대해 무엇을 잘못 믿고 있었는가?

사실과 수치를 기반으로 회고를 진행할수록, 나중에 캘린더에 옮겨 적었을 때도 사람들이 신뢰할 수 있는 명확하고 설득력 있는 카드가 된다.


3단계: 목적 있는 준비 (목표, 데이터, 사람)

강력한 회고는 우연히 잘 되지 않는다. 사전 준비가 중요하다.

세션 전에 다음을 명확히 하자.

  1. Goals (목표)

    • 실제로 무슨 일이 일어났는지 이해하기
    • 국지적인 버그를 넘어 시스템적 문제를 식별하기
    • 현실적인 개선 계획을 도출하기
  2. Data (데이터)
    타임라인, 그래프, 로그, 초안 형태의 장애 요약 등 핵심 사실을 미리 공유하라. 이렇게 하면 회고 시간은 사건 재구성이 아니라 분석에 집중할 수 있다.

  3. Participants (참여자) 다음과 같은 사람들을 포함하자.

    • 장애 대응에 직접 참여한 엔지니어
    • 온콜 담당자 또는 Incident Commander
    • 장애로 영향을 받은 프로덕트/운영 담당자
    • SRE/신뢰성/아키텍처 담당자가 있다면 함께 참여

이 자리는 단순한 상태 점검(status meeting)이 아니라 학습을 위한 회의다. 기존 가정을 의심하고, 머릿속 시스템 모델(mental model)을 다듬겠다는 마음가짐으로 들어와야 한다.


4단계: 비난이 아닌 학습을 위한 퍼실리테이션

비난은 학습을 죽인다. 솔직한 대화와 유용한 근본 원인 분석을 위해서는 blameless(비난 없는) 퍼실리테이션이 필요하다.

실제에 쓸 수 있는 기법 몇 가지:

  • 처음에 ground rule(기본 원칙)을 명확히 한다:
    • 실수를 드러낸 개인을 처벌하지 않는다.
    • 인간의 실수는 시스템 설계의 부족함을 알려 주는 신호로 본다.
  • 중립적인 언어를 사용한다:
    • “누가 망가뜨렸나?” 대신 “어떤 조건들이 이런 결과를 가능하게 만들었나?”라고 묻는다.
  • “왜(why)”보다 “어떻게(how)”, “무엇(what)” 질문을 사용해, 추궁처럼 들리지 않게 한다.
  • 첫 번째 원인에서 멈추지 않는다:
    • 5 Whys, Fault Tree Analysis, Causal Mapping 같은 기법을 활용한다.
    • 프로세스 상의 빈틈, 불명확한 오너십, 빠져 있는 세이프가드가 있었는지 찾는다.

목표는 공유된 이해실행 가능한 결과물을 갖고 회의를 끝내는 것이지, 희생양을 찾는 것이 아니다.


5단계: 교훈을 현실적인, 기한 있는 계획으로 바꾸기

행동으로 이어지지 않는 교훈은 그저 ‘썰’일 뿐이다.

회고에서 얻은 인사이트를 구체적이고, 현실적이며, 기한이 있는 개선 계획으로 바꾸자.

  • 우선순위를 매긴다: 모든 걸 한 번에 고칠 수는 없다. 영향도와 재발 가능성을 기준으로 정렬한다.
  • 학습 곡선을 감안한다:
    • 개선이 새로운 도구, 마이그레이션, 새로운 기술 습득을 요구한다면, 이에 필요한 램프업 시간을 계획에 포함한다.
    • 큰 리미디에이션(remediation)은 단계별로 나눈다.
  • 각 액션에 오너와 날짜를 지정한다:
    • 각 아이템에는 책임자, 마감기한, 그리고 ‘완료’의 정의가 명확히 있어야 한다.
  • 기존 워크플로에 통합한다:
    • Jira, Linear, Asana 같은 기존 계획·추적 시스템에 그대로 녹여 넣는다.

아날로그 캘린더에서는 이 개선 마일스톤을 해당 장애 카드 옆에 붙일 수 있다. 시간이 지날수록 벽에는 “이때 망가졌다”가 아니라 “이때 배우고 이렇게 바뀌었다”라는 서사가 쌓인다.


6단계: 명확한 시각적 장애 타임라인 만들기

타임라인은 포스트모템과 캘린더 양쪽의 척추 역할을 한다.

좋은 장애 타임라인은 팀이 다음을 한눈에 보게 해준다.

  • 순서(Sequence): 무엇이 먼저, 다음, 마지막에 일어났는지
  • 의존 관계(Dependencies): 어떤 시스템과 팀이 연관되었는지
  • 의사 결정 지점(Decision points): 압박 속에서 어떤 선택들이 있었는지

각 장애마다 **작은 시각적 타임라인(mini-timeline)**을 만든다. 예를 들어 다음을 포함할 수 있다.

  • 시작과 종료 시간
  • 주요 이벤트: 감지, 중요한 의사 결정, 완화 조치, 복구 시점
  • 영향에 대한 레이블: 예) “에러율 급등”, “로그인 실패”, “결제 지연”
  • 대표적인 근본 원인 패턴에 대한 짧은 메모: 예) “Config drift”, “Capacity exhaustion”, “Deployment coupling”

이 타임라인들이 바로 벽을 구성하는 기본 단위가 된다. 각 장애는 시작–중간–끝이 있는 시간에 묶인 하나의 스토리 스트립이 되는 셈이다.


7단계: ‘조용한 경고의 벽’을 위한 타임라인 템플릿 표준화

흩어져 있는 개별 장애들을 연중 내내 이어지는 조용한 경고의 벽으로 만들려면, 표준화가 필수다.

캘린더용으로 재사용 가능한 타임라인 카드 템플릿을 설계해 보자. 예를 들면:

  • 상단(Top row): 날짜 + 장애 지속 시간
  • 중간(Middle section): 3~7개 핵심 이벤트가 표시된 시각적 타임라인 바
  • 측면(Side labels):
    • 관련된 시스템/서비스 목록
    • 심각도/영향 레벨
  • 하단(Bottom section):
    • 핵심 교훈 1~2개
    • 후속 조치 1~3개 (상태를 나타내는 아이콘: “planned(계획)”, “in progress(진행 중)”, “done(완료)” 등)

중요도 있는 장애마다 이런 카드를 하나씩 출력하거나 손으로 그려, 큰 물리적 월간 캘린더나 월별로 구분한 칸반(Kanban) 스타일 보드에 붙인다.

장애 카드가 쌓일수록 다음과 같은 일들이 일어난다.

  • 시각적으로 패턴이 드러난다. 예: 대형 릴리스 시점 근처에 장애가 몰린다거나, 특정 서비스 주변에 장애가 집중되는 모습.
  • 새로 합류한 팀원은 벽을 한 바퀴 돌며(walk the wall) 시스템의 역사에 대해 단기간에 학습할 수 있다.
  • 팀은 어디가 여전히 취약한 영역이고, 어떤 것이 흔한 실패 모드인지 매일 상기하게 된다.

이 시스템이 ‘아날로그’인 이유는 디지털을 거부해서가 아니라, 물리적인 존재감이 주변 인식(ambient awareness)을 만들어 주기 때문이다. 폴더 속 문서가 절대 줄 수 없는 방식으로 말이다.


캘린더를 살아 있는 아티팩트로 유지하기

장애 스토리 캘린더가 실제로 도움이 되려면, 계속 살아 움직이는 상태여야 한다.

  • 정기적으로 리뷰에 활용한다:
    • 분기별 신뢰성 리뷰 때 이 벽을 사용한다.
    • 온콜 트레이닝 세션 시작 전에, 대표적인 장애 카드 몇 개를 함께 살펴본다.
  • 상태를 계속 업데이트한다:
    • 후속 조치가 완료됐는지, 지연됐는지 카드에 바로 표시한다.
    • 같은 유형의 장애가 다시 발생했을 때나 가까스로 피했을 때, 카드에 메모를 추가한다.
  • 정리와 요약:
    • 연말에는 벽을 사진으로 찍거나 디지털로 아카이브한다.
    • 그 해 반복된 시스템적 테마를 요약해, 연간 계획과 로드맵에 반영한다.

이렇게 하면 흐름이 닫힌다: 장애 → 인사이트 → 개선 → 조직의 기억.


결론: 장애를 ‘계속되는 지혜’로 바꾸기

장애 자체는 피할 수 없지만, 헛되이 겪는 장애는 피할 수 있다.

다음 요소들을 결합하면:

  • 구조화된 포스트모템 템플릿
  • 데이터 기반 회고
  • 비난 없는 솔직한 퍼실리테이션
  • 현실적인 개선 계획
  • 명확한 시각적 타임라인
  • 표준화된 아날로그 카드와 공유된 캘린더

…각각의 고통스러운 장애를, 시스템과 팀이 어떻게 학습하고 있는지 보여 주는 연중 내내 이어지는 가시적 서사로 바꿀 수 있다.

벽에 걸린 그 아날로그 장애 스토리 캘린더는 단순한 장식이 아니다. 우리가 어디에서 취약했는지, 어떻게 성장했는지, 앞으로 무엇을 계속 주시해야 하는지를 조용히 상기시키는 장치다.

같은 실수를 두 번 반복하지 않도록, 1년 내내 곁에서 말을 걸어 오는 조용한 경고의 벽인 셈이다.

아날로그 장애 스토리 캘린더: 장애에서 배운 교훈을 1년 내내 이어지는 ‘조용한 경고의 벽’으로 바꾸기 | Rain Lag