Rain Lag

종이로 그리는 인시던트 스토리 파도차트: 장애로 부서지기 전에 ‘리스크 파도’를 일상적으로 그려보기

손으로 그리는 간단한 ‘리스크 파도차트’만으로 흩어진 인시던트 신호들을 하나의 시각적인 리스크 스토리로 엮어, 다음 장애로 터지기 전에 ‘위험이 차오르는 모습’을 함께 볼 수 있다.

소개: 리스크는 폭풍처럼 오지 않고 조수처럼 스며든다

대부분의 장애는 어느 날 갑자기 들이닥치는 폭풍이 아니다. 조용히, 천천히 스며든다.

경고 알림(alert)이 평소보다 조금 많아지고, “대체로 괜찮은 편”인 취약한 서비스가 하나 둘 생기고, “지금 논의할 시간은 없다”는 이유로 그냥 넘어간 위험한 배포가 이어진다. 각각만 보면 당장 비상 상황 같지는 않다. 하지만 이 모든 것이 합쳐지면 운영 리스크의 수위는 계속 올라간다.

문제는, 이 수위가 오르는 감각을 느끼기가 힘들다는 데 있다. 리스크 신호가 대시보드, 티켓, 채팅 스레드 등 여기저기에 흩어져 있기 때문이다.

이때 게임의 규칙을 바꿀 수 있는, 놀라울 만큼 단순한 도구가 있다. 바로 손으로 그리는 인시던트 스토리 파도차트(incident story tidechart) 다. 종이나 화이트보드 위에 매일의 ‘리스크 파도(risk swell)’를 그려 넣으면서, 팀은 리스크가 장애로 터지기 전에 어떻게 쌓이고 있는지 눈으로 직접 볼 수 있다.

이 글에서 살펴볼 내용은 다음과 같다.

  • 인시던트 스토리 파도차트가 무엇인지
  • SRE 일상에 이걸 어떻게 그리고 사용하는지
  • 손으로 그린 비주얼과 현대 도구를 함께 쓸 때 신뢰성이 왜 좋아지는지
  • 리스크를 ‘조수(tide)’로 시각화하면 인시던트 대응 방식이 어떻게 달라지는지

인시던트 스토리 파도차트란 무엇인가?

파도차트(tidechart)를 여러 날에 걸쳐 시스템의 ‘위험 체감도’가 어떻게 바뀌는지 보여주는 아주 단순한 시각 타임라인이라고 생각하면 된다.

종이에 그려보면 보통 이런 형태다.

  • 가로축: 시간 (일자 또는 교대 근무 단위)
  • 세로축: 체감 리스크 수준 — ‘썰물(low tide, 평온)’에서 ‘만조(high tide, 인시던트 직전)’까지
  • 하루하루 오르내리는 선·파동: 리스크가 쌓이거나 줄어드는 모습
  • 각 파동에 붙는 주석(annotations): 배포(배포 릴리스), 알림 증가, 용량 부족 우려, 외부(3rd-party) 장애, 아슬아슬하게 넘어간 near-miss 등 리스크를 만든 사건들

이건 정밀한 정량 지표를 만들기 위한 도구가 아니다. 스토리텔링 도구다. 목표는, 날것의 인시던트 신호들을 누구나 — 엔지니어, 매니저, 파트너 — 한눈에 이해할 수 있는 공유 시각 스토리로 바꾸는 것이다.

“우리 P95 latency가 얼마지?”라고 묻는 대신, 차트를 가리키며 이렇게 말할 수 있다. “우리, 3일째 만조(high tide)를 타고 있어요 — 그 이유가 이겁니다.”


왜 ‘손으로’ 그려야 할까? 단순하고 물리적인 아티팩트의 힘

각종 대시보드와 옵저버빌리티 도구가 넘쳐나는 시대에, 마커를 집어 들고 벽에 리스크를 그리는 건 왠지 원시적으로 느껴질 수도 있다. 바로 그래서 효과가 있다.

1. 한눈에 사람 눈으로 읽힌다

Grafana 권한도, 복잡한 교육도 필요 없다. 손으로 그린 파도차트는:

  • 추세를 한눈에 보여준다: 어제보다 오늘이 더 안전한가, 아니면 더 위험한가?
  • 원인과 결과를 연결해 보여준다 (예: “이 위험한 릴리스 시점 이후로 알림이 계속 올라가네”)
  • 기술/비기술 이해관계자 모두에게 통한다

프로덕트 매니저, 온콜 엔지니어, 엔지니어링 디렉터가 한 차트 앞에 나란히 서서, 같은 리스크 이야기를 할 수 있다.

2. 인지 과부하를 피해 간다

팀은 이미 다음과 같은 것들에 허우적대고 있다.

  • 알림 스트림
  • 메트릭 대시보드
  • 인시던트 타임라인
  • 티켓 큐

파도차트는 이것들을 대체하지 않는다. 대신 그 함의를 요약한다. 시끄러운 시스템 전체를 하나의 직관적인 형태,

“조금씩 올라가거나 내려가는 리스크의 조수”

로 번역해 준다.

3. 자연스럽게 대화를 불러낸다

종이든 화이트보드든, 이건 물리적인 것이다. 사람들은 자연스럽게 그 앞에 모인다. 그리고:

  • 뾰족한 스파이크를 가리키며 “이때 무슨 일이 있었죠?”라고 묻는다.
  • 서서히 높아지는 곡선을 보고 “이번 주 내내 조금씩 올라가고 있네요.”라고 느낀다.
  • 우선순위를 협상한다: “조수가 빠질 때까지 신규 기능 롤아웃은 좀 멈추죠.”

이런 공유 아티팩트 덕분에 리스크는 도구 속에 숨은 추상적인 숫자가 아니라, **팀이 함께 관리하는 ‘눈에 보이는 대상’**이 된다.


매일 그리는 리스크 파도차트, 이렇게 시작한다

디자인 감각은 필요 없다. 필요한 건 일관성과 정직함뿐이다.

1단계: 시간 스케일을 정한다

대부분의 팀은 일 단위(daily) 로 시작한다.

  • 가로축 한 칸 = 하루
  • 선택: 평일/주말 또는 24/7 운영이라면 근무 교대(shift) 단위로 표시

변화가 매우 잦은 환경이라면 교대(shift) 단위를 쓰는 것도 방법이다.

2단계: 리스크 레벨을 (대략적으로) 정의한다

세로축에는 아래에서 위로 이런 식으로 라벨을 붙여본다 (예시):

  • Low tide – “심심할 정도로 안정, 별일 없음”
  • Rising swell – “알림이 늘고, 살짝 불안정, 긴장감이 느껴짐”
  • High tide – “near-miss가 보이고, 동시에 여러 이슈를 쥐고 있음, 온콜이 벅참”
  • Breaking waves – “인시던트, paging storm, 장애 직전/직후 상황”

정량 지표로 고정하려고 애쓸 필요 없다. 목적은 숫자를 정확히 찍어내는 게 아니라, 팀의 집단적인 리스크 체감도를 솔직하게 반영하는 것이다.

3단계: 짧은 일일 의식을 만든다

데일리 스탠드업이나 별도 5–10분짜리 ‘리스크 허들(risk huddle)’ 시간을 정한다.

  1. 먼저 묻는다: “어제랑 비교해서, 오늘 조수(tide)는 어느 정도로 느껴지나요?”
  2. 오늘의 ‘조수 높이’에 해당하는 점 하나를 찍는다.
  3. 전날 점과 선으로 연결한다.
  4. 오늘 리스크에 영향을 준 요소들을 짧게 주석으로 적는다:
    • “신규 결제 서비스 롤아웃”
    • “밤새 DB timeout 스파이크”
    • “어제 클라우드 프로바이더 인시던트 영향”
    • “retry backlog 처리 완료, 리스크 감소”

간단한 원칙: 시스템이 오늘 더 안전한지, 더 깨지기 쉬운지에 영향을 줬다면 차트에 적을 가치가 있다.

4단계: 스파이크보다 ‘파도’를 본다

진짜 가치는 하루의 점 하나에서 나오지 않는다. 추세(trend) 에서 드러난다.

  • 큰 인시던트는 아직 없는데, 여러 날에 걸쳐 서서히 높아지는 곡선
  • 특정 유형의 변경 이후마다 반복적으로 생기는 파도(swell)
  • 큰 장애 전에 반복해서 나타나는 고조(high tide) 구간들

이 덕분에 팀의 관점이 이렇게 바뀐다.

  • 과거: “오늘은 인시던트 없으니 괜찮네.”
  • 앞으로: “이번 주 내내 리스크가 쌓이고 있다. 이대로 계속 밀어붙이면 장애 한 번은 터질 확률이 크다.”

메트릭에서 행동으로: 리스크를 시각화하는 이유

훌륭한 메트릭은 있지만, 이걸 실제 결정으로 연결하는 데 어려움을 겪는 팀이 많다. 파도차트는 그 간극을 메운다.

긴박감을 ‘눈으로’ 보여준다

3일 연속 high tide 구간이 이어지는 차트는, 아무 말 하지 않아도 강력한 메시지를 전달한다. 이런 대화를 뒷받침해 준다.

  • “이 조수 내려갈 때까지 신규 기능 릴리스 속도를 늦추는 게 좋겠다.”
  • “이번 스프린트에서는 신뢰성(reliability) 작업을 반드시 포함해야겠다. 기능만 할 때가 아니다.”

개별 그래프 하나하나를 두고 설득하는 대신, 리스크의 모양(shape) 에 맞춰 합의를 이끌어낼 수 있다.

작은 신호와 near-miss를 드러낸다

모든 리스크 파도가 Sev-1 인시던트에서 오는 것은 아니다. 파도차트는 이런 것들을 기록하도록 유도한다.

  • near-miss: “용량(capacity)이 거의 바닥날 뻔했다.”
  • 약한 신호: “에러율이 올랐다가 스스로 가라앉긴 했지만, 좀 수상했다.”
  • 증가한 토일(toil): “어제 온콜이 수동 재시작에 4시간을 쏟았다.”

시간이 지나면 패턴이 보인다. 몇 달간 이어진 ‘거의 장애’ 상황들이 사실은 같은 취약한 의존성 하나에서 비롯됐다는 걸 발견할 수도 있다.

기술·비기술 사이의 다리를 놓는다

대시보드 속에서 살지 않는 리더나 파트너들에게, 파도차트는 신뢰성을 따라가기 쉬운 내러티브로 바꿔준다.

  • “이 구간에서 기능 개발을 강하게 밀어붙였습니다.”
  • “이때부터 조수가 올라가기 시작했고, 여기서 인시던트가 터졌습니다.”
  • “여기에서 우리가 근본 원인에 투자했고, 그 뒤로 조수가 빠졌습니다.”

이렇게 되면 속도 vs 안정성의 트레이드오프가 훨씬 명확해지고, 설득하기도 쉬워진다.


종이 파도차트와 현대 인시던트 도구를 함께 쓰는 법

종이 파도차트는 인시던트 관리 스택을 대체하는 도구가 아니다. 당신 팀의 신뢰성 스토리 ‘1면’ 에 가깝다.

통합하는 방법은 대략 이렇다.

  • 도구에서 입력 받기: 인시던트 관리 소프트웨어, 알림 시스템, 로그 등에서 나온 데이터를 기반으로, 매일의 ‘조수 높이’를 판단한다.
  • 시스템으로 되돌아갈 수 있게 연결: 눈에 띄는 파도에는 인시던트 ID, JIRA 티켓 번호 등 참조를 함께 적어둔다.
  • 사진 찍어 보관하기: 주 또는 스프린트가 끝날 때, 파도차트를 사진으로 찍어 인시던트 리포트와 함께 저장한다.
  • 회고에서 활용하기: 포스트모템, 분기 리뷰 때 과거 파도차트를 꺼내 보며 묻는다. “이 큰 장애 이전에 우리 ‘느낌’은 어땠지?”

이렇게 하면 도구는 잘하는 일을 하고(정확한 수치, 히스토리, 상관관계 분석), 파도차트는 사람이 필요로 하는 걸 해준다. 즉, 직관적이고 공유 가능한 상황 인식(shared awareness) 을 제공한다.


일일 파도 의식으로 SRE 핵심 목표 강화하기

파도차트를 SRE 루틴에 녹여 넣으면, 여러 기본적인 신뢰성 목표가 더 강해진다.

1. 토일(toil) 감소

반복되는 수동 작업 때문에 조수가 올라가는 게 눈에 보이기 시작하면:

  • “토일 파도”가 반복되는 패턴을 근거로, 자동화 작업의 필요성을 설득할 수 있다.
  • 매일 조수를 의미 있게 낮출 수 있는 개선에 우선순위를 줄 수 있다.

이렇게 하면 토일이 더 이상 배경 소음(background noise)처럼 묻히지 않는다.

2. 시스템 신뢰성 향상

파도차트는 추세와 누적을 강조하기 때문에, 팀이 자연스럽게 예방적(preventive) 행동을 취하도록 유도한다.

  • high tide 구간에는 위험한 변경을 잠시 멈춘다.
  • 장기간 파도가 높게 유지됐던 뒤에는 ‘신뢰성 스프린트’를 잡는다.
  • 다음 장애가 수면 위로 드러나기 전에, 회복력(resilience)에 투자한다.

3. near-miss와 ‘작은’ 인시던트로부터 배우기

SRE 문화는 큰 장애뿐 아니라 모든 사건에서 배우는 것을 중요하게 여긴다. 파도차트는

  • near-miss를 리스크 스토리의 중요한 일부로 드러내고,
  • 사소해 보였던 인시던트들을, 나중에 큰 장애를 이해하는 맥락으로 엮어준다.

시간이 지날수록, 팀은 단순한 ‘소방수’가 아니라 더 전략적인 예방(prevention) 마인드셋을 얻게 된다.

4. 공유된 상황 인식(situational awareness) 형성

무엇보다, 매일 조수를 그리는 이 짧은 의식은:

  • 모두의 머릿속에 있는 “지금 우리, 얼마나 위험한가?”에 대한 멘탈 모델을 정렬해 준다.
  • “이 파도는 뭐 때문에 생긴 거지?”라는 질문을 통해 협업을 강화한다.
  • 자연스러운 의사결정 포인트를 만든다: “지금도 계속 밀어붙일 건가, 아니면 속도를 줄일 건가?”

이 공유 인식은 속도(speed)안전(safety) 사이에서 무엇을 선택할지, 그리고 언제 그 선택을 바꿔야 할지 결정할 때 특히 중요하다.


이번 주 안에 바로 시작하는 방법

이 연습은 도입 비용이 거의 들지 않는다. 지금 있는 환경에서 바로 시작해 보자.

  1. 잘 보이는 공간을 정한다: 팀 화이트보드, 커다란 종이 포스터, 아니면 팀 자리 근처에 붙여둔 A4 한 장. 원격 팀이라면 공유 문서 + 매일 스냅샷 캡처도 좋다.
  2. 단순한 레벨 네 개만 정한다: 낮음, 보통, 높음, 매우 높음 정도. 복잡하게 생각하지 말자.
  3. 스탠드업에 5분만 추가한다: “오늘 조수는 어디쯤이고, 왜 그렇게 느끼나요?”라고 묻고, 그대로 그린다.
  4. 2–4주만 꾸준히 해본다: 진짜 가치는 시간이 쌓이면서 패턴이 드러날 때 나타난다.
  5. 함께 되돌아본다: 한 달 뒤, 모두 함께 차트를 보며 묻는다. “어떤 패턴이 보이나요? 이걸 미리 알았다면, 어떤 결정을 다르게 했을까요?”

유용하다 느껴지면 조금씩 다듬어라. 덜 유용하다면 추적하는 내용을 조정해라. 도구가 팀을 위한 것이지, 팀이 도구를 위한 것은 아니다.


결론: 부서지기 전에, 리스크를 눈앞에 드러내기

시스템은 거의 언제나, 아무 경고 없이 갑자기 망가지지 않는다. 경고는 이미 존재한다. 다만 여기저기 흩어져 있고, 미묘하고, 합리화해서 넘기기 쉽다.

손으로 그리는 인시던트 스토리 파도차트는 리스크를 없애주지는 않는다. 하지만 리스크를 보이게 하고, 이야기하게 만든다.

이 도구는 이렇게 바꿔준다.

  • 흩어진 신호들을 팀의 공유 직관(shared intuition) 으로
  • 메트릭을 구체적인 결정으로
  • 고립된 인시던트들을 리스크가 오르내리는 연속적인 이야기

리스크를 조수(tide)로 바라보기 시작하면, 팀은 단순한 ‘불 끄기’가 아니라 추세(trend), 누적(accumulation), 의도적인 예방(deliberate prevention) 의 관점에서 생각하게 된다.

필요한 건 단지 마커 한 개, 벽 한 조각, 그리고 매일 잠깐 멈춰서 스스로에게 묻겠다는 약속뿐이다.

“오늘, 우리의 조수는 얼마나 높고 — 우리는 그에 대해 무엇을 할 것인가?”

종이로 그리는 인시던트 스토리 파도차트: 장애로 부서지기 전에 ‘리스크 파도’를 일상적으로 그려보기 | Rain Lag