Rain Lag

카드보드 장애 스토리보드 트램라인: 사건을 한 프레임씩 함께 걷기

난잡한 장애 리뷰를 벽 위의 물리적인 스토리보드 트램라인으로 바꿔, 팀이 실제로 무슨 일이 일어났는지 시각적으로 forensic(포렌식)하게 이해하고 다음에는 예방할 수 있도록 하는 방법.

카드보드 장애 스토리보드 트램라인: 사건을 한 프레임씩 함께 걷기

장애 후 회고는 종종 ‘거꾸로 읽는 범죄 보고서’처럼 느껴집니다. 흩어진 로그, 어렴풋이 기억나는 Slack 메시지, 긴장된 타임라인, 그리고 “실제로” 무슨 일이 있었는지에 대한 치열한 논쟁까지. 모두가 자신이 옳다고 확신하지만, 정작 순서에 대해서는 아무도 확신하지 못합니다. 결과는? 느린 학습, 반복되는 실수, 그리고 장애 피로감입니다.

더 나은 방법이 있습니다. 장애 분석을 포렌식처럼 다루고, 그것을 스토리보드처럼 시각화하는 것입니다.

이 글에서는 벽에 종이 장면들을 붙여 놓고 사건을 한 프레임씩 걸으며 살펴보는 “카드보드 장애 스토리보드 트램라인(Cardboard Outage Storyboard Tramline)” 을 소개합니다. 이는 포렌식 사고방식과 스토리보드 기법을 결합해, 실제로 무엇이 일어났는지, 왜 그렇게 되었는지, 다음에는 어떻게 더 잘 대응할 수 있을지를 드러내는 단순하지만 강력한 물리적 방법입니다.


왜 장애를 스토리보드로 만들어야 할까?

장애가 발생하면 정보는 조각난 채로 들어옵니다.

  • 모니터링 알람이 터집니다.
  • 누군가 소셜 미디어에서 고객 불만을 발견합니다.
  • 엔지니어가 서비스를 재시작합니다.
  • 매니저가 Slack에 메시지를 올립니다.
  • DB 메트릭이 치솟았다가 다시 떨어집니다.

나중에 장애 리뷰를 할 때쯤이면, 이런 조각들은 각종 툴과 사람들의 기억 속에 파묻혀 있습니다. 로그, 메시지, 티켓을 뒤져 타임라인을 복원하지만, 선명한 시각적 시퀀스가 없다 보니 팀은 결국 비난, 과도하게 단순화된 서사, 후견지명 편향(hindsight bias) 으로 되돌아갑니다.

스토리보드 트램라인은 이를 다음과 같이 바로잡습니다.

  • 시간을 눈에 보이게 만든다 – 실제로 언제 무슨 일이 일어났는지 모두가 한눈에 볼 수 있습니다.
  • 복잡성을 프레임으로 쪼갠다 – 알람, 결정, 행동, 결과를 각각 독립된 단계로 나눕니다.
  • 관점을 정렬한다 – 서로 다른 역할의 사람들이 같은 벽 앞에 서서, 같은 것을 보며 이야기합니다.
  • 빈틈을 드러낸다 – 빠져 있는 데이터, 늦게 온 알람, 커뮤니케이션 블랙홀 같은 것들이 도드라져 보입니다.

목표는 예쁜 그림이 아닙니다. 목표는 공유된 이해(shared understanding) 입니다.


1단계: 포렌식 마인드셋으로 시작하기

판사가 아니라, 수사관처럼 생각해야 합니다.

장애를 조사해야 할 사건으로 다루세요.

  • 증거를 수집합니다: 로그, 메트릭 스크린샷, Slack 스레드, 변경(배포) 티켓, 페이저 알람, 사용자 제보, 온콜 노트 등.
  • 순서를 보존합니다: 타임스탬프를 가능한 한 정확하게 기록합니다(타임존 포함).
  • 평가가 아니라 서술에 집중합니다: 무엇이 일어났는지를 적지, 어떻게 했어야 했는지를 쓰지 않습니다.

당신이 재구성하려는 것은 아래 한 줄로 요약할 수 있습니다.

누가, 언제, 어떤 정보로, 무엇을 했고, 그 다음에 무엇이 일어났는가?

이러한 마인드셋은 리뷰를 *“누가 망쳤지?”*에서 *“우리 시스템과 프로세스가 어떻게 이런 결과를 만들어냈는가?”*로 전환시킵니다. 이것이 생산적인 스토리보드 트램라인의 토대입니다.


2단계: 벽에 타임라인 트램라인 만들기

이제 툴에서 벽으로 나옵니다.

  1. 물리적 공간을 확보합니다: 긴 벽, 연속된 화이트보드, 혹은 여러 장의 종이를 테이프로 이어 붙인 공간이면 됩니다.
  2. 세로 방향의 시간 축을 그립니다:
    • 세로축 = 시간 (위가 가장 이른 시점, 아래로 갈수록 나중 시점).
    • 핵심 단위를 표시합니다: 장애가 뜨거운(hot) 국면일 땐 분 단위, 장기간 이어진다면 시간/일 단위로.
  3. 가로 방향의 트램라인을 만듭니다:
    • 각 “칸”이 하나의 프레임인 선로라고 생각하세요.
    • 시간 표시 옆으로 A4, 메모지, 포스트잇을 가로로 붙여 나가며 여러 줄을 만듭니다.

왜 세로 방향의 시간을 쓰느냐고요? 사람들의 몸을 자연스럽게 위아래로 걸어 다니게 만들기 때문입니다. 가장 이른 시점에서 가장 늦은 시점까지 걸으며 읽게 되고, 가로 방향으로는 다른 종류의 활동을 나란히 분리해 보여줄 수 있습니다.

이제 빈 트램라인이 생겼습니다. 여기에 전체 장애 스토리를 걸어 둘 수 있는 골조가 마련된 것입니다.


3단계: 장애를 프레임으로 쪼개기

다음은 장애를 잘게 나눈 시각적 프레임으로 분할하는 단계입니다. 각 프레임은 한 단계의 작은 장면을 나타냅니다.

  • 알람(alert) 이 떴다
  • 어떤 결정(decision) 이 내려졌다
  • 누군가 행동(action) 을 취했다
  • 그에 따른 결과(outcome) 가 관찰되었다

인덱스 카드, 포스트잇, 반절(A5) 종이를 사용하세요. 각 프레임에는 다음을 적습니다.

  • 시간 (예: 14:32)
  • 유형 (알람, 결정, 행동, 결과)
  • 주체 (사람 이름 대신 팀이나 역할: SRE, 백엔드 온콜 등)
  • 무엇이 일어났는지 (한두 문장으로 분명하게)
  • 증거가 어디에 있는지 (로그 링크, 대시보드, Slack 채널, 티켓 ID 등)

프레임 예시는 다음과 같습니다.

  • 14:17 – 알람
    PagerDuty: prod-eu 환경의 Checkout API에서 에러율 급증.

  • 14:20 – 결정
    백엔드 온콜이 장애를 SEV-2로 분류; 아직 대외 상태(Status) 페이지는 업데이트하지 않음.

  • 14:26 – 행동
    SRE가 checkout-service v2024.05.12-01 배포를 롤백.

  • 14:30 – 결과
    에러율은 감소했지만 레이턴시가 급증; 로그인 실패가 증가하기 시작.

각 프레임을 세로 시간축에서 정확한 시간 위치에 붙이고, 가로 방향으로는 적절한 레인에 배치합니다(예: Observability, Backend, SRE, Customer Support, Comms 등).

그러면 더 이상 장애는 안개 낀 서사가 아닙니다. 프레임 하나하나가 이어진 필름 스트립이 됩니다.


4단계: 크로스펑셔널 크루와 함께 벽을 걸어보기

스토리보딩은 모든 등장인물이 세트에 모였을 때 비로소 힘을 발휘합니다.

다음 사람들을 초대하세요.

  • 온콜 엔지니어들(SRE, 백엔드, 프론트엔드, 데이터 등)
  • Incident Commander(사건 지휘자) 또는 코디네이터
  • 고객 지원/고객 성공 팀
  • 프로덕트 오너/프로덕트 매니저
  • 커뮤니케이션 / 상태 페이지 담당자

그리고 함께 벽을 위에서 아래로 걸어 내려갑니다.

  1. 스토리를 낭독합니다: 누군가가 각 프레임을 하나씩 읽어 내려갑니다.
  2. 추가할 내용을 묻습니다: “이 시점에 또 무슨 일이 있었나요?”
  3. 여러 관점을 겹쳐놓습니다: 누군가 “이때 이미 지원팀은 티켓이 폭주하고 있었어요”, “우리는 스테이징에서 패치를 테스트 중이었어요”라고 말하면, 그에 해당하는 새 프레임을 추가합니다.
  4. 불확실성을 표시합니다: 아무도 이 시점에 무슨 일이 있었는지 확신하지 못한다면, 다른 색 포스트잇으로 “Unknown – 데이터 필요” 같은 메모를 붙여 둡니다.

이 물리적 워크스루는 세 가지 중요한 효과를 냅니다.

  • 숨겨진 일을 눈에 보이게 만든다 (지원, 커뮤니케이션, 수동 점검 등).
  • 커뮤니케이션의 빈틈을 드러낸다 (예: 40분 동안 아무도 지원팀에 장애 사실을 알리지 않은 경우).
  • 멘탈 모델을 정렬한다 (모두가 같은 순서를 보게 되어, 서로 다른 타임라인을 두고 싸우지 않게 됩니다).

이제 그 벽은 논쟁의 대상이 아니라, 공유된 기준점이 됩니다.


5단계: ‘아티스트’가 아닌 ‘스토리보드 아티스트’처럼 생각하기

픽사 애니메이션을 그리는 것이 아닙니다. 필요한 것은 예술적 재능이 아니라 스토리보드 스킬입니다.

스토리보드 아티스트가 집중하는 것은 다음과 같습니다.

  • 시퀀스 – 무엇이 먼저, 그 다음, 또 그 다음에 일어나는지.
  • 행동의 명확성 – 각 프레임이 한 단계의 행동을 분명하게 보여주는지.
  • 다양한 관점 – 같은 순간을 여러 각도에서 보는 것.

이를 장애 작업에 그대로 옮기면 다음과 같습니다.

  • 한 프레임에 이것저것 욱여넣지 마세요. 각 프레임은 하나의 명확한 행동 또는 관찰만 담는 것이 좋습니다.
  • 필요하다면 아이콘이나 간단한 막대기 인형을 그려도 되지만, 그림의 퀄리티에 집착하지 마세요.
  • 색깔 코딩으로 가독성을 높입니다.
    • 빨간색: 알람 또는 실패
    • 파란색: 결정
    • 초록색: 행동
    • 노란색: 결과 또는 외부 영향

선택적으로, 프레임 사이에 간단한 화살표를 그려서 인과관계를 강조할 수 있습니다. 예를 들어 “이 롤백이 저런 부작용을 유발했다”, “이 응답 지연이 임팩트를 더 키웠다” 등.

목표는 변함없습니다. 아무것도 모르는 사람이 우연히 이 벽 앞을 지나가도, 트램라인을 따라가며 사건을 이해할 수 있어야 합니다.


6단계: 스토리보드로 빈틈 드러내기

트램라인이 어느 정도 완성되면, 한 발짝 물러나 전체를 훑어보며 패턴과 구멍을 찾습니다.

다음과 같은 것들을 살펴보세요.

  • 모니터링의 빈틈

    • 감지가 되기 전까지 오랫동안 아무 이벤트가 없는 공백.
    • 내부 알람보다 먼저 올라온 고객 불만.
    • 중요한 단계인데도 관련 메트릭이나 로그가 전혀 없는 경우.
  • 커뮤니케이션의 빈틈

    • 지원팀이 내부 공지가 아닌, 화난 고객을 통해 장애를 처음 인지한 경우.
    • 엔지니어링 팀이 Incident Commander에게 알리지 않고 조치를 취한 경우.
    • 상태 페이지 업데이트가 내부 대응보다 한참 뒤처지는 경우.
  • 의사결정 병목

    • 특정 사람이나 팀을 기다리느라 반복적으로 시간이 지연되는 구간.
    • 누구에게 롤백이나 페일오버 승인 권한이 있는지 모두가 헷갈리는 상황.
  • 프로세스 불일치

    • 런북에 적힌 내용과 실제 대응이 전혀 맞지 않는 경우.
    • 툴이 느리거나 애매해서, 대응자가 사실상 우회해서 다른 방법을 쓰는 경우.

이런 곳에는 벽 위에 눈에 띄는 표시를 남기세요. 동그라미, 물음표, “GAP” 포스트잇 등 어떤 방식이든 좋습니다. 이것은 비난거리가 아니라, 단서입니다.


7단계: 인사이트를 구체적인 후속 조치로 만들기

멋진 스토리보드만 남기고 실행이 없다면, 그건 그저 벽 장식일 뿐입니다.

발견한 인사이트를 구체적이고, 담당자가 있는 액션 아이템으로 전환하세요. 각 주요 빈틈마다 이렇게 물어봅니다.

  1. 어떤 변화가 있었다면 임팩트를 줄이거나, 진단 속도를 높일 수 있었을까?
  2. 그 변화를 책임지고 이끌 사람은 누구인가?
  3. 우리가 곧바로 배포 가능한, 가장 작은 유용한 개선은 무엇인가?

대표적인 후속 조치 예시는 다음과 같습니다.

  • 런북 개선

    • 실제로 대응자들이 사용한 단계를 반영해 추가 또는 수정합니다.
    • 그때 중요한 역할을 했던 대시보드 스크린샷이나 링크를 직접 포함합니다.
    • 에스컬레이션 경로와 의사결정 권한을 명확히 적습니다.
  • 툴링 개선

    • 신호를 더 일찍 잡을 수 있도록 알람을 추가하거나 튜닝합니다.
    • 트램라인의 핵심 프레임들을 한눈에 볼 수 있는 통합 대시보드를 만듭니다.
    • 자주 수행되는 조치를 자동화합니다(예: 안전한 롤백, 캐시 플러시, 피처 플래그 토글 등).
  • 역할과 리추얼(ritual) 정교화

    • Incident Commander 역할과 책임을 정의합니다.
    • “누가 상태 페이지를, 어느 주기로 업데이트하는가” 같은 기본 패턴을 정합니다.
    • 특정 시스템에 대한 단일 지식 보유자(single point of knowledge)가 생기지 않도록, 사전에 백업 담당자를 할당합니다.

이 후속 조치들을 Jira, Linear, Asana 등 평소 사용하는 업무 트래킹 시스템에 가시적으로, 추적 가능하게 등록하세요. 가능하다면 트램라인 전체를 축소 인쇄해 팀 공간 근처에 붙여 두고, 그때 배운 내용을 상기시키는 시각적 리마인더로 활용하세요.


마무리: 모두를 같은 이야기 위에 세우는 도구

카드보드 장애 스토리보드 트램라인은 로우테크지만 레버리지가 큽니다.

  • 흩어져 있던 데이터를 일관된 시각적 서사로 변환합니다.
  • 팀이 서로를 탓하는 대신 포렌식 수사관처럼 사고하도록 돕습니다.
  • 시퀀스, 명료함, 다중 관점 같은 스토리보드 기법을 활용하지만, 그림 실력을 요구하지 않습니다.
  • 자연스럽게 크로스펑셔널 목소리를 포함해, 숨겨진 작업과 간과된 관점을 끌어냅니다.
  • 궁극적으로는 런북, 툴링, 역할 정의 측면에서 구체적인 개선을 이끌어냅니다.

다음에 장애 후 회고를 할 때, 처음부터 공유 문서에만 매달리고 싶은 유혹을 잠시 눌러 보세요. 대신 종이, 테이프, 마커를 집어 듭니다. 세로 시간축을 그리고, 증거들을 모아, 촬영 현장의 스태프처럼 하루치 ‘데일리(dailies)’를 보듯 사건을 함께 걸어 내려가 보세요.

당신이 가진 가장 뛰어난 장애 분석 도구는 또 하나의 대시보드가 아닐 수도 있습니다. 오히려, 모두가 같은 이야기를 보게 만드는 카드보드 장면들로 가득한 한 면의 벽일지 모릅니다.

카드보드 장애 스토리보드 트램라인: 사건을 한 프레임씩 함께 걷기 | Rain Lag