제품이나 사용자에게 영향을 미치는 인시던트로부터 교훈을 얻는 연습입니다. SRE 커뮤니티에서는 이 연습을 인시던트 회고라고 합니다.
단계
제안 시간
1시간
참가자
핵심 제공 팀, 이해관계자, 및 지원 팀
수행 이유
사후 검토는 부정적인 인시던트의 재발을 줄이는 데 도움이 됨
수행 시기
- 팀이 인시던트 또는 실수할 뻔한 사건에 대해 배울 점이 있다는 데 동의할 때
- 세션이 인시던트를 해결하는 데 방해가 되지 않는 한 인시던트 도중 또는 해결된 직후
- 이해관계자 또는 다른 팀(예: 지원 팀)이 사후 검토 세션을 요청함
필요한 물품
- 화이트보드 또는 Miro와 같은 디지털 버전
- 스티커 메모
- 마스킹 테이프
- 네임펜
이 방식을 활용하는 방법
먼저 인시던트를 정의하겠습니다.
- 라이브 제품에서 사용자와 제품 간 상호 작용을 중단하는 이벤트
- 개발 프로세스에 큰 영향을 미치는 예기치 못한 부정적인 이벤트
- 오류 예산 위반
샘플 안건 및 메시지
세션 전에 인시던트에 관한 정보를 최대한 많이 수집합니다. 예를 들어 관련 팀에 정보를 요청하는 설문조사를 보낼 수 있습니다. 팀에서 진행 중인 인시던트에 관해 메모한 경우 해당 메모도 수집합니다.
또한 세션 전에 타임라인을 만든 다음 사후 분석 세션을 진행하는 동안 검증하면 유용합니다.
타임라인 예시:
사후 분석 세션에 적합한 사람들을 초대하십시오. 예를 들면 다음과 같습니다.
- 핵심 팀: 제품 관리자, 엔지니어, 디자이너
- 관련 당사자로, 주요 역할을 수행하며 인시던트와 관련된 사람 예를 들면 다음과 같습니다.
- 플랫폼 팀 구성원
- 보안 팀 구성원
사후 분석의 목표 설명(5분)
다음과 같이 말할 수 있습니다.
“최근 인시던트의 원인은 무엇입니까? 어떻게 해결하셨습니까? 향후 이런 인시던트를 방지하기 위한 작업 항목을 정의하고 사후 분석 문서에 문서화하려고 합니다. 비난받을 사람을 찾으려는 것이 아닙니다.”
팁: 어떤 일이 발생했으며 향후 이러한 일이 일어나지 않도록 방지하기 위한 방법을 확인하고자 하므로 비난하지 않는 문화를 포용하십시오. 각 팀원이 심리적으로 편안하도록 하십시오.
인시던트 타임라인 제시(5분)
인시던트 타임라인을 표시하고 팀과 함께 확인합니다.
사후 분석 주제 브레인스토밍(5분)
팀에게 스티커 메모 또는 디지털 워크스페이스에 다음을 작성하도록 요청합니다.
- 잘못된 사항 - 최근 인시던트의 원인은 무엇입니까?
- 효과적인 사항 - 인시던트를 해결하는 데 효과적이었던 작업은 무엇입니까?
- 운이 좋았던 경우 - 도움이 된 이벤트/항목이 있습니까?
빠른 주제 클러스터링(5분)
팀에게 비슷한 주제를 기반으로 스티커 메모를 클러스터링하도록 요청합니다.
각 클러스터 논의(20분)
각 클러스터에 대해 논의할 시간을 충분히 줍니다. 특정 클러스터에 시간이 더 필요한 경우 해당 주제에 관한 후속 세션을 고려해 보십시오.
“잘못된 사항” 열에 있는 클러스터의 경우, “왜 이런 일이 발생했습니까?”와 “이런 일이 다시 발생하는 경우 어떻게 해야 영향을 줄일 수 있습니까?”도 질문합니다.
팁: “5 Whys” 방법을 사용해 보십시오. 개인을 비난하지 말고 프로세스로 인한 근본 원인에 집중하십시오.
작업 항목 논의(15분)
인시던트를 해결하고 향후에 발생하지 않도록 방지하기 위해 수행할 수 있는 작업은 무엇인지 팀과 논의합니다. 이러한 작업의 소유자를 정의합니다.
사후 분석 소유자 관련 합의(4분)
팀으로서 다음과 같은 책임을 담당하는 사후 분석 소유자를 결정합니다.
- 향후 참조를 위해 다음을 포함하는 사후 분석 문서 작성
- 인시던트 개요
- 인시던트를 해결하기 위한 작업 항목
- 근본 원인 분석
- 교훈 및 향후 인시던트 발생을 방지하기 위한 다음 단계
- 사후 분석 상태에 관하여 이해관계자와 커뮤니케이션
- 사후 분석 회의의 모든 작업 항목이 수행되었는지 확인하기 위한 검토 회의 계획
- 향후 참조를 위해 다음을 포함하는 사후 분석 문서 작성
후속 작업 스케줄링(1분)
작업을 검토하기 위해 후속 사후 분석 세션에 대해 팀과 합의합니다. 팀이 모든 사후 분석 작업을 완료할 때까지 인시던트를 종결해서는 안 됩니다.
성공/예상되는 성과
이 활동이 끝나면 팀은 인시던트가 무엇이었으며 어떻게 발생했는지 명확하게 이해할 수 있습니다. 또한 팀은 인시던트 재발을 방지하거나 그 영향을 줄이는 계획을 수립했을 것입니다.
진행자 메모 및 팁
사후 분석 문서 예시:
- Google의 사후 분석 예시: Shakespeare Sonnet++ Postmortem
- @dastergon의 사후 분석 템플릿
- 의
- Google GitHub의 “sredocs”
권장 자료
책: Life of a production system incident(출간 예정)