Connecting

Postmortem 본문

인프라

Postmortem

팬도라 2021. 7. 12. 14:36
반응형

Postmortem 이란?

개인이든 집단이든 우리는 크고 작은 실수를 경험한다. 하지만 기업에서의 실수는 자칫 큰 영업손실을 발생할 수 있기 때문에 실수를 방지하고, 재발을 방지하는 행위가 매우 중요하다. 이는 한 사람의 실수일 수도 있고, 여러 사람들과 의논을 통해서 결정된 것이라도 천천히 문제가 발생할 수 있다.

포스트모템(Postmortem)의 원래 의미는 시체를 해부해서 사망원인을 알아내는 것으로 흔히 부검, 검시라는 뜻을 가지고 있다. 즉, 피해자가 사망에 이르기까지 원인을 직, 간접적으로 파악하기 위한 방법이다.

도입해야 하는 이유

IT 기업에서는 서비스가 안정적으로 운영하기 위한 '신뢰성'이 매우 중요하게 여겨진다. 따라서 예기치 못한 휴먼에러를 방지하기 위해 업무 협업툴, VCS, Dev/Ops, IaC 등과 같이 자동화를 통해 업무의 효율성을 증대시키고, 서비스 안정성을 도모한다.

하지만 이러한 노력에도 불구하고 다음과 같은 이유가 발생할 경우 신뢰성을 보장하기 어려워진다.

  • 첫 번째, 시스템 확장
    • 작은 규모의 서비스를 운영하던, 큰 서비스를 운영하던 이유에 상관없이 시스템이 확장된다는 것은 처리해야 하는 데이터 처리가 늘어나는 것을 의미한다. 그만큼 필요한 장비나 시스템의 종류 및 구성도가 복잡해지며, 숙련된 엔지니어라도 서비스 성장 속도만큼 빠르게 증가하기 어렵다.
    • 숙련된 엔지니어가 충분 하더라도, 시스템 규모가 확장될수록 복잡도는 상승하고 관리는 힘들어지기 때문에 효율성이 떨어진다.
  • 두 번째, 예측이 불가능한 사태
    • 재난, 사회, 경제, 문화적인 여러 이유로 인해서 갑잡스럽게 요청이 급증할 경우가 있다. 이런 경우에는 사전 예측이 불가능하며, 대응하기 상당히 까다롭다.

글로벌 시스템의 안전성과 같은 실수를 되풀이 하지 않기 위해서는 프로세스 진행과정에서 결정된 과정들이 타당한지에 대한 여부를 알기 위한 계기가 된다. 이를 통해 다른 부서에서 비슷한 상황이 발생할 시 우선적으로 대처할 수 있으며, 특정 책임자의 잘못으로 돌리는 것이 아닌 팀원 전체의 성장의 발판으로 나아갈 수 있다.

포스트모템(Postmortem)을 잘하기 위해서는?

실리콘밸리 기업들은 포스트모템을 통해 왜 문제가 일어났는지 분석하고 그 대책을 수립한다. 따라서 이러한 문화를 자리잡기 위해 각각의 중요 포인트를 서술한다.

  1. 모든 관계자를 초대하는 회의로, 관리자들만 모이거나 팀의 일부만 모일 경우 핵심적인 정보나 통찰을 놓칠 수 있다. 중요도가 높은 공식 미팅으로 일정을 잡되 가급적 사고 수습이 이루어진 직후에 한다.
  2. 시간 분석(timeline)으로, 사고가 일어난 과정과 그 대응 과정을 상세하게 기술하고, 언제 누가 어떤 정보를 접하고 어떤 결정을 내렸는지, 각 결정을 내리게 된 배경에 어떤 이유가 있었는지를 기술한다. 시간을 점차로 거슬러 올라가면 근원적 문제점(root cause)을 찾아내거나 복합적인 원인 분석을 하는 데 한발짝 더 가까이 다가가게 된다.
  3. 잘된 일과 잘못된 일 모두 중요하다. 잘된 일은 모범 사례(best practice)로, 잘못된 일은 보완해야 할 시스템의 약점을 찾아내는데 꼭 필요하다.
  4. 책임자를 문책하는 회의가 아니다. 만약 실수한 사람 또는 문제의 책임자에게 비난의 화살이 돌아간다면, 그 조직은 점점 책임을 회피하기 위해 정보를 각 부서(혹은 각 개인)의 입장에서 해석하게 돼 결국 진정한 원인 분석을 통한 다음 사고를 예방하거나 개선하는 일이 힘들게 된다.
  5. 개선책을 도출하는 것으로, 단순히 피상적인 개선책만 세운다면 다음 사고를 앉아서 기다리는 것과 같다. 근원적 문제점을 찾기 위해 '5 Why'라고 하는 비교적 간단한 기법을 쓰기도 하는데, 요는 계속해서 다시 묻는 것이다. '그렇다면 그것은 왜 일어났는가?' 껍질을 다섯 번 정도 벗기고 나면 우리는 양파의 속에 무엇이 있는지 알아볼 수 있다. 이렇게 해서 찾아낸 가장 근저에 있는 원인에 대한 개선책을 내는 것이다.
  6.  결과는 공개한다. 가능하다면 회사 전체와 공유하는 것이 좋다. 어떤 실수의 위험에 노출돼 있는지, 그를 예방하기 위해 어떤 노력을 하고 있는지, 여러 사람이 알수록 업무 프로세스나 시스템을 개선하는데 정보 공유나 협조를 구하기 쉽다. 실수를 조직 전체가 지성적인 방법으로 간접경험하는 그 자체로 그 값어치가 있다.
Comments