부엌에서 접시 깨지는 소리가 나면 온 식구의 고개가 그쪽으로 돌아갑니다. 그리고 가장 먼저 튀어나오는 말은 대개 정해져 있습니다. “누가 그랬어?” 우리는 늘 사건의 범인을 궁금해합니다.
큰일일수록 이 본능은 더 강해집니다. 사고가 나면 책임자를 찾고, 일이 어그러지면 누가 그랬는지부터 따집니다. “누구 탓이지?” 범인을 가려내 책임을 묻는 것이야말로 문제를 바로잡는 가장 당연한 첫걸음처럼 느껴지기 때문입니다.
그런데 개발자들이 큰 사고를 겪은 뒤 하는 일은 이 본능과 정반대 지점에서 출발합니다. ‘포스트모템(postmortem)‘이라 불리는 것입니다.
사고가 끝난 뒤의 회고
포스트모템이라는 말은 낯설지만 그 정체는 우리에게 익숙한 ‘회고’입니다. 지나간 일을 돌아보며 무슨 일이 있었는지 되짚는 것이지요.
그런데 우리가 요즘 업무 현장에서 흔히 하는 ‘회고’는 그 습관을 따라가 보면 뜻밖에도 개발 문화와 닿아 있습니다. 소프트웨어를 만드는 한 방식인 ‘애자일’에서는 짧은 작업 주기가 끝날 때마다 팀이 둘러앉아 무엇이 좋았고 무엇을 고칠지를 함께 돌아봅니다. 영어로 ‘retrospective’라 불리던 이 과정이 ‘회고’라는 이름을 얻었고, 그 방식이 IT 바깥의 여러 조직으로도 번져 나갔습니다. ‘회고’라는 말 자체야 오래된 한자어이지만, 한 단계가 끝날 때마다 팀이 지난 시간을 되짚어 다음을 준비하는 그 습관에는 개발자들이 일하던 방식이 알게 모르게 배어 있는 셈입니다.
포스트모템은 그 회고의 한 갈래입니다. 다만 특별한 종류의 회고이지요. 정해진 주기마다 차분히 돌아보는 평소의 회고와 달리, 포스트모템은 무언가 크게 잘못된 뒤에 하는 회고이기 때문입니다. 서비스가 멈추거나 데이터가 통째로 날아가는 큰 장애가 터진 뒤, 그 수습이 끝나면 관련된 사람들이 모여 앉아 “대체 무슨 일이 있었나”를 차분히 복원해 봅니다.
이 단어는 본래 의학에서 왔습니다. 사람이 죽은 뒤 그 사인을 밝히는 일, 곧 ‘부검’을 뜻하는 말입니다. 죽음을 들여다보는 까닭은 죽은 이를 탓하기 위해서가 아닙니다. 같은 죽음이 되풀이되지 않도록 산 사람을 살리기 위해서입니다. 개발자의 포스트모템도 정확히 그 정신을 잇습니다. 이미 벌어진 사고를 헤집는 이유는 누군가를 벌하기 위해서가 아니라, 다음 사고를 막기 위해서입니다.
분 단위로 되짚는 일
포스트모템이 실제로 어떻게 진행되는지를 들여다보면 그 차분한 태도가 어디서 오는지 짐작할 수 있습니다. 좋은 포스트모템은 대개 사고의 타임라인을 분 단위로 복원하는 데서 시작합니다. 몇 시 몇 분에 무엇이 처음 틀어졌는지, 경보는 언제 울렸는지, 누가 언제 그것을 알아챘고, 언제 손을 쓰기 시작해, 언제 서비스가 제자리로 돌아왔는지. 기억에 기대지 않고 로그와 기록을 뒤져 시간 순서 그대로 늘어놓습니다.
이렇게 늘어놓고 보면 뜻밖의 숫자가 눈에 들어올 때가 많습니다. 이를테면 문제가 터진 시각과 누군가 그것을 처음 알아챈 시각 사이의 간격입니다. 시스템이 스스로 이상을 알리기까지 삼십 분이 걸렸다면, 그 삼십 분은 누군가의 게으름이 아니라 “왜 우리는 이 일을 더 일찍 알지 못했는가”라는 시스템을 향한 물음이 됩니다.
영향의 크기도 감정이 아니라 숫자로 적습니다. “큰일 났다”가 아니라 “37분 동안 결제의 열에 하나가 실패했고, 그사이 얼마의 사용자가 무엇을 하지 못했다”고 적는 것이지요. 사고를 부풀리지도 줄이지도 않고 있는 그대로 크기를 재는 이 담담함이 실은 범인을 찾는 마음에서 가장 멀리 떨어져 있습니다.
비난을 걷어내기로 한 약속
여기서 포스트모템의 가장 핵심적인 원칙이 등장합니다. 잘하는 조직일수록 ‘비난하지 않는(blameless)’ 포스트모템을 합니다. 사고를 되짚는 동안 “누가 잘못했는가”는 묻지 않기로 미리 약속하는 것입니다. 대신 오직 한 가지만 묻습니다. “무엇이 이 일을 가능하게 했는가.”
같은 사고를 두고도 말은 두 갈래로 갈립니다. “김 아무개가 잘못된 설정을 배포했다”고 적을 수도 있고, “한 번의 설정 실수가 아무런 제동 없이 그대로 서비스까지 나갔다”고 적을 수도 있습니다. 앞의 문장은 손끝이 사람을 가리키고, 그 끝에 남는 것은 “다음부터 조심하라”는 말뿐입니다. 뒤의 문장은 빠져 있던 제동 장치를 가리키고, 그것은 실제로 만들어 붙일 수 있는 무엇입니다. 포스트모템은 한결같이 뒤쪽으로 적기를 택합니다.
처음 들으면 이상하게 느껴집니다. 잘못한 사람이 분명 있는데, 그를 따지지 않는다니. 책임을 흐리려는 것 아닌가 싶기도 합니다. 그러나 이 원칙에는 깊은 이유가 있습니다. 사람을 탓하기 시작하는 순간, 진실이 숨어버리기 때문입니다.
생각해보면 당연한 일입니다. 누구의 잘못인지를 따지기 시작하면 사람들은 본능적으로 자신을 방어합니다. 자기 실수를 감추고, 불리한 사실은 되도록 입에 담지 않습니다. 책임은 슬그머니 옆 사람 쪽으로 밀어두고요. 그렇게 모두가 몸을 사리면 정작 사고가 왜 일어났는지에 대한 진짜 그림은 영영 드러나지 않습니다. 범인은 찾았을지 몰라도, 원인은 놓치는 것입니다. 그리고 원인을 모르는 채로는 똑같은 사고가 사람만 바꿔가며 계속 되풀이됩니다.
반대로 “당신을 탓하지 않겠다”는 약속이 깔리면 비로소 솔직함이 흘러나옵니다. “사실 제가 이 부분을 확인하지 않고 넘어갔습니다.” “이 경고를 봤는데도 별일 아니라 여겼습니다.” 처벌의 두려움이 사라지고서야 사람들은 자기가 무엇을 놓쳤는지를 정직하게 꺼내놓습니다. 그 솔직한 조각들이 모여야 비로소 사고의 진짜 원인을 짚을 수 있습니다.
‘왜’를 파고드는 일
솔직한 이야기가 모이면 포스트모템은 거기서 한 걸음 더 들어갑니다. 눈앞에 드러난 실수에서 멈추지 않고 그 뒤에 대고 자꾸 “왜”를 묻는 것입니다. 어떤 실수든 그 하나만 떼어놓고 보면 늘 누군가의 부주의처럼 보이지만, “왜 그런 일이 벌어질 수 있었나”를 캐물어 들어가면 이야기가 달라지기 때문입니다.
이를테면 이런 식입니다. 서비스가 멈췄다. 왜? 누군가 잘못된 설정을 올렸으니까. 그럼 그것은 왜 그대로 반영됐나? 아무도 다시 확인하지 않고 넘어갔으니까. 왜 확인 없이 넘어갈 수 있었나? 급할 때는 그 절차를 건너뛰는 것이 어느새 관행이 되어 있었으니까. 왜 그런 관행이 생겨났나? 반드시 거치도록 붙들어 두는 장치가 어디에도 없었으니까.
물론 실제 사고가 이렇게 한 줄로 곧게 떨어지는 일은 드뭅니다. 원인은 대개 하나가 아니라, 작은 빈틈 여럿이 하필 같은 날 겹쳐 일어나니까요. 그래서 요즘은 ‘진짜 범인’ 하나를 콕 집으려 애쓰기보다 사고에 힘을 보탠 여러 조건을 함께 적어 둡니다. 그래도 향하는 곳은 같습니다.
처음엔 “누가”로 시작한 질문이 “왜”를 거듭할수록 “무엇이”로 옮겨 갑니다. 범인을 가리키던 손끝이 어느새 그 실수 하나를 걸러내지 못한 빈틈 쪽을 향하고 있는 것이지요.
그리고 사람과 달리 빈틈은 메울 수 있습니다. 포스트모템이 애써 원인의 바닥까지 내려가는 것은 결국 이 때문입니다. 누군가를 벌하기 위해서가 아니라, 같은 실수가 다시 나오더라도 그때는 사고로 번지지 않도록 그 틈을 메워 두기 위해서입니다. 포스트모템은 원인을 알아내는 데서 마치지 않고 “그래서 다음엔 무엇을 바꿀 것인가”라는 구체적인 약속으로 닫힙니다.
책임을 없애는 것이 아니다
오해하지 말아야 할 것이 있습니다. 비난을 걷어낸다는 것은 책임까지 없앤다는 뜻이 아닙니다. 비난(blame)과 책임(responsibility)은 다른 것입니다.
비난은 과거를 향해 사람을 겨눕니다. “네가 틀렸다.” 책임은 미래를 향해 일을 떠맡습니다. “이건 내가 맡아 고치겠다.” 그런데 거꾸로입니다. 비난이 사라져야 오히려 책임이 살아납니다. 탓하고 벌하는 분위기에서 사람들은 책임을 _회피_합니다. 자기가 한 일이라고 인정하는 순간 표적이 되니까요. 그러나 안심할 수 있을 때 사람들은 책임을 기꺼이 집니다. “제가 그랬습니다. 다시 그러지 않도록 이렇게 바꾸겠습니다.” 비난이 없을 때 비로소 책임이 두려움 없이 제 모습을 드러내는 것입니다.
그래서 포스트모템은 사람을 겨누지 않는 대신, 시스템을 겨눕니다. “그 사람이 부주의했다”가 아니라 “한 사람의 부주의만으로도 전체가 무너질 수 있는 구조였다”고 묻습니다. 개인을 탓하면 그 사람을 바꾸는 데서 끝나지만, 구조를 보면 다음 사람까지 지킬 수 있습니다. 우리 사회가 사고가 날 때마다 희생양을 찾고, 그 한 사람을 처벌하고 잊어버리는 동안 정작 같은 사고가 얼굴만 바꿔 되풀이되는 까닭이 여기 있는지도 모릅니다.
‘누가’에서 ‘무엇이’로
비난을 걷어내고 나면 사고를 마주하는 방식이 통째로 달라집니다. 무언가 크게 잘못됐을 때 우리 입에서 가장 먼저 나오는 말은 부엌에서든 회사에서든 대개 “누가 그랬어?”입니다. 범인을 찾는 편이 빠르고, 무엇보다 후련하기 때문입니다. 하지만 그 후련함은 우리를 한 걸음도 앞으로 데려가지 못합니다. 범인을 벌하고 돌아서는 순간, 정작 그 일을 불러온 빈틈은 손대지 않은 채 그대로 남기 때문입니다.
개발자들이 포스트모템에서 굳이 “누가”를 묻지 않기로 하는 것은, 아마 그래서일 겁니다. 손끝을 사람에게서 거두어 “무엇이 이 일을 가능하게 했는가”로 돌릴 때에야 비로소 그다음이 보이기 때문입니다. 그리고 사람을 겨누지 않는다는 것은 실수한 이를 벼랑으로 몰지 않고 다시 일어설 여지를 준다는 뜻이기도 합니다.
죽음을 들여다보는 일이 결국 산 사람을 위한 것이듯, 실패를 마주하는 일도 언제나 아직 오지 않은 날들을 향해 있습니다. 그러니 무언가 무너졌을 때 우리가 가장 먼저 건넬 말은 “누가 그랬어”가 아닐지도 모릅니다. 그 한마디를 잠깐 삼키고 무엇이 그 일을 가능하게 했는지, 그래서 다시 그런 일이 없으려면 무엇을 바꿀지를 먼저 물을 수 있다면 우리는 부엌에서도 서로의 실수 앞에서도 조금은 다르게 서 있을 수 있지 않을까요.
댓글 (0)
아직 댓글이 없습니다. 첫 번째 댓글을 남겨보세요.