on-call 의 진짜 비용
페이지 한 번 없어도 대기 자체가 사람을 갉아먹는다.
숫자에 안 잡히는 것들
지난 분기 on-call 로그를 꺼냈다. PagerDuty 기록상 실제 호출은 주당 평균 1.4건. 팀원들은 “별거 없었다” 고 했다.
그런데 주간 회고에서 나온 단어들:
- “주말 내내 폰 내려놓기가 무서웠다”
- “알람 소리 비슷하면 심박 올라간다”
- “월요일 아침에 이미 지쳐있다”
호출 0건인 주에도 같은 말이 나왔다. 숫자는 괜찮은데 사람은 안 괜찮다.
대기 시간이 하는 일
실제 비용은 incident 대응 시간이 아니다.
- 인지 잔여 부하: 뭔가를 하면서도 “터지면 어떡하지” 가 백그라운드에서 돈다. 집중력 반토막.
- 수면 파편화: 호출이 없어도 새벽 2시에 한 번씩 깬다. 며칠 쌓이면 판단력이 먼저 죽는다.
- 보상 불가: 다음 날 쉬어도 수면 부채는 1:1 로 안 갚힌다. 연구들이 일관되게 하는 말.
- 전이: 당번 끝난 뒤에도 3~4일은 긴장이 빠지지 않는다. on-call 주가 실제로는 2주짜리다.
이걸 팀 velocity 에 반영한 적이 없었다. sprint planning 때 on-call 인 사람 capacity 를 그냥 100% 로 잡았다.
지금 바꾼 것, 아직 못 바꾼 것
바꾼 것
- on-call 주는 sprint point 30% 감산. 협의 없이 자동 적용.
- runbook 에 “이 alert 는 새벽에 깨울 만한가” 체크 항목 추가. 실제로 severity 재분류 후 야간 호출 40% 줄었다.
- rotation 을 4인 이하로 묶지 않는다. 인원 부족하면 scope 를 줄인다.
아직 못 바꾼 것
- incident 없이 끝난 주에 대한 회고가 없다. 조용했으니 넘어간다. 심리 비용은 그때 제일 잘 보이는데.
- “on-call 힘들다” 고 말하면 “별로 안 터졌잖아요” 로 받아치는 문화. 수치로 반박할 자료를 아직 못 만들었다.
다음 한 가지
다음 on-call 주 끝나고 48시간 안에, 호출 건수와 무관하게 당번에게 5분 체크인 하나.
🛒 이 글과 어울리는 추천 상품
위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.