시스템 안전(System Safety)을 깊이 들여다볼수록, 기술보다 먼저 마주하게 되는 것은 하나의 질문이다. 그것은 계산식으로도, 규정 문장으로도 쉽게 답할 수 없는 질문이다. 이 위험은, 도대체 어디까지 줄여야 충분한가. 이 질문은 단순히 위험의 크기를 묻는 것이 아니라, 우리가 안전을 어떻게 이해하고 있는지를 되묻는다.
우리는 모두 알고 있다. 세상에 무위험(Zero Risk)은 존재하지 않는다는 사실을. 그럼에도 불구하고 설계 검토 회의, 안전 분석 보고서, 인증 심사의 마지막 페이지에서는 늘 비슷한 문장이 반복된다.
“이 위험은 허용 가능하다.”
“충분히 낮아졌다.”
이 문장들은 익숙하지만, 동시에 불안하다. 왜냐하면 그 문장 속에는 왜 여기서 멈췄는지, 그리고 정말 더 할 수 있는 것은 없었는지에 대한 설명이 빠져 있기 때문이다.
시스템 안전 엔지니어로서 현장에서 가장 먼저 체감하는 현실은, 기술적 진보가 곧 위험의 소멸을 의미하지는 않는다는 점이다. 시스템은 점점 더 복잡해지고, 그 복잡성은 새로운 형태의 실패를 만들어낸다. 우리는 사고를 막기 위해 여러 겹의 방어벽을 쌓지만, 자원은 항상 한정되어 있고 모든 위험을 제거할 수는 없다. 결국 안전은 제거의 문제가 아니라, 선택의 문제로 귀결된다.
바로 이 지점에서 SFARP(So Far As Reasonably Practicable)는 단순한 규정이나 법적 문구를 넘어, 하나의 나침반으로 기능한다. SFARP는 위험이 ‘얼마나 낮은지’를 묻지 않는다. 대신, 주어진 기술적·운영상의 조건 속에서 인명을 보호하기 위해 우리가 할 수 있는 모든 합리적인 선택을 다 했는가를 묻는다. 이는 결과를 선언하는 언어가 아니라, 판단의 과정을 요구하는 질문이다.
SFARP는 감각이나 관행에 기대어 안전을 정의하지 않는다. 설계자의 판단을 드러내고, 조직의 책임을 명확히 남기며, “이 정도면 충분하다”는 말에 근거를 요구한다. 그래서 SFARP는 하나의 기법이기 이전에 태도에 가깝다. 이 글은 SFARP를 소개하기 위한 기술적 설명서가 아니라, 우리가 안전 앞에서 어떤 선택을 하고 있으며, 그 선택에 정말로 책임질 수 있는지를 묻기 위한 기록이다.
SFARP는 “합리적으로 실행 가능한 범위 내에서(So Far As is Reasonably Practicable)” 위험을 줄였는지를 묻는 개념이다. 이 문장은 겉보기에는 온건해 보이지만, 그 내포는 결코 가볍지 않다. SFARP는 “최선을 다했다”는 주관적 위안이나 도덕적 표현이 아니라, 위험을 제거하거나 저감하기 위해 반드시 거쳐야 하는 판단의 기준을 의미한다.
SFARP의 핵심은 결과가 아니라 과정에 있다. 일반적인 안전 논의가 “이 위험은 충분히 낮은가”라는 결과 중심의 질문에 머무는 반면, SFARP는 전혀 다른 질문을 던진다. 위험을 줄이기 위해 가능한 모든 합리적인 조치를 검토했고, 실제로 실행했는가. 이는 사고 발생 확률이 낮다는 주장보다, 더 이상 현실적으로 취할 수 있는 조치가 없다는 점을 입증하라는 요구에 가깝다.
이때 SFARP는 비용과 노력을 무시한 이상주의를 요구하지 않는다. 오히려 매우 현실적이다. 특정 위험을 줄이기 위해 투입되는 비용, 시간, 기술적 노력과 그로 인해 얻는 안전상의 이득을 비교하고, 그 비용이 이득에 비해 현저히 불균형(Grossly Disproportionate)하지 않다면, 해당 안전 조치는 반드시 이행되어야 한다. 다시 말해, 비용이 든다는 이유만으로 위험 저감을 포기하는 것은 SFARP의 논리에서 허용되지 않는다.
중요한 것은 여기서 말하는 ‘합리성(reasonable)’이 단순한 금전적 계산이 아니라는 점이다. 기술적으로 가능한지, 운영에 어떤 영향을 미치는지, 조직이 실제로 감당할 수 있는지, 그리고 사회와 규제 기관이 기대하는 안전 수준은 무엇인지가 함께 고려된다. SFARP는 엔지니어 개인의 판단을 넘어, 조직과 사회가 위험을 어떻게 받아들이는지를 반영하는 기준이다.
결국 SFARP는 “위험이 낮다”는 선언을 허용하지 않는다. 대신 “이 위험을 줄이기 위해 무엇을 했고, 무엇을 하지 않았으며, 왜 하지 않았는가”를 설명할 것을 요구한다. 그래서 SFARP는 하나의 수치나 표로 끝나는 개념이 아니라, 설계 결정과 안전 책임을 끝까지 따라가는 사고의 프레임워크다.
SFARP가 등장한 배경을 이해하려면, 제임스 리즌(James Reason)의 스위스 치즈 모델(Swiss Cheese Model)에서 출발하지 않을 수 없다. 이 모델은 사고가 단일한 실패의 결과가 아니라, 여러 방어 계층에 존재하던 결함들이 우연히 일렬로 정렬될 때 발생한다는 사실을 명확하게 보여주었다. 사고는 예외적인 사건이 아니라, 시스템이 가진 구조적 취약성이 드러나는 순간이라는 인식은 안전 공학의 관점을 근본적으로 바꾸어 놓았다.
그러나 이 모델이 던진 가장 불편한 질문은 따로 있었다.
“그렇다면 방어 계층은 몇 개면 충분한가?”
초기의 안전 접근은 이 질문에 정면으로 답하지 못했다. 대신 절차를 만들고, 교육을 실시하고, 경고와 규정을 추가하는 방식으로 방어 계층의 ‘존재’를 늘리는 데 집중했다. 치즈 슬라이스는 계속 추가되었고, 그 자체로 안전해졌다고 믿었다.
Note.
과거의 안전 관리는 사고가 터진 후 구멍을 메우는 '사후 처방' 중심이었다. 하지만 시스템이 복잡해지면서 모든 구멍을 완벽히 막는 것은 불가능해졌다.
하지만 대형 사고들은 이 믿음이 얼마나 취약한지 드러냈다. 방어는 분명 존재했지만, 충분하지 않았다. 더 중요한 문제는 각 방어 계층에 남아 있는 구멍들이 체계적으로 관리되지 않았다는 점이다. 그 구멍들은 종종 “현실적으로 어쩔 수 없다”는 말로 정당화되었고, 그렇게 방치된 결함들이 결국 사고의 경로를 열어주었다.
문제는 방어 계층의 개수가 아니라, 그 방어가 실제로 사고의 경로를 차단할 수 있었는가였다. 시스템이 복잡해질수록 모든 구멍을 완벽히 제거하는 것은 불가능해졌고, 사후적으로 구멍을 메우는 방식의 안전 관리는 한계에 도달했다. 바로 이 지점에서, 안전은 더 이상 “무엇을 추가할 것인가”의 문제가 아니라 “어디에, 왜, 얼마나 개입할 것인가”의 문제로 바뀌기 시작했다.
SFARP는 이러한 한계 인식 속에서 등장했다. SFARP는 단순히 방어 계층을 하나 더 추가했는지를 묻지 않는다. 대신 각 방어 계층의 구멍을 더 줄일 수 있었는지, 그리고 그 구멍을 줄이기 위해 합리적으로 가능한 선택을 다 했는지를 묻는다. 이는 사고 이후의 변명이나 보완이 아니라, 사고 이전에 이루어져야 할 판단을 구조화한 개념이다.
다시 말해 SFARP는 엔지니어에게 “어떤 치즈 슬라이스를 더 놓을 것인가”를 묻는 것이 아니다. 어떤 슬라이스가 사고의 경로를 가장 효과적으로 끊을 수 있는지, 그리고 그 선택이 합리적이었는지를 요구한다. SFARP는 방어의 양이 아니라 방어의 질, 그리고 그 질에 대한 책임을 묻기 위해 도입된 개념이다.
SFARP는 하나의 분석 기법이나 체크리스트가 아니다. 그것은 위험을 다루는 의사결정 프레임워크이며, 동시에 그 의사결정을 외부에 증명(Demonstration)하기 위한 구조다. 다시 말해 SFARP를 적용한다는 것은 단순히 위험을 평가했다는 의미가 아니라, “이 위험에 대해 우리는 어떤 선택을 했고, 그 선택을 끝까지 설명할 수 있다”는 상태에 도달했음을 의미한다.
위험 식별: 시스템 내 모든 잠재적 위해 요소를 파악한다.
이 과정의 출발점은 언제나 위험 식별이다. 여기서 SFARP는 위험을 매우 넓게 정의한다. 하드웨어와 소프트웨어의 기술적 고장뿐 아니라, 인간 오류, 운영 조건의 변화, 조직적 요인, 시스템 간 인터페이스에서 발생하는 상호작용까지 모두 포함된다. 위험을 좁게 정의하는 순간, 그 밖에서 발생하는 사고는 ‘예외’가 되어버리고, SFARP는 이미 실패할 가능성을 내포하게 된다.
통제 수단 검토: 최신 기술(Good Practice)과 표준을 바탕으로 가능한 모든 통제 방안을 나열한다.
위험이 식별되면 다음 단계는 가능한 모든 위험 저감 및 통제 수단을 열어두는 것이다. 이때 기준은 개인의 경험이나 조직의 관행이 아니다. 업계에서 받아들여지는 최신 기술 수준과 검증된 표준, 즉 Good Practice가 판단의 출발점이 된다. 설계 변경, 보호 장치 추가, 자동화, 경고 체계, 절차 개선 등 현실적으로 적용 가능한 모든 통제 수단이 검토 대상이 된다. 중요한 점은 몇 가지 대안을 빠르게 고르는 것이 아니라, 합리적으로 가능한 선택지를 빠짐없이 테이블 위에 올리는 것이다.
역전 가설(Reverse Onus): "왜 이 조치를 하지 않아도 되는가?"를 입증해야 합니다. 즉, 조치를 취하지 않으려면 그 비용이 안전 이득보다 현저히 크다는 것을 엔지니어가 직접 증명해야 한다.
SFARP를 SFARP답게 만드는 핵심은 그 다음 단계에서 드러난다. 바로 역전 가설(Reverse Onus)이다. 일반적인 위험 관리에서는 “왜 이 조치를 해야 하는가”를 설명하지만, SFARP에서는 질문이 뒤집힌다. “왜 이 조치를 하지 않아도 되는가?” 특정 위험 저감 조치를 적용하지 않기로 결정했다면, 그 이유는 명확해야 한다. 해당 조치에 소요되는 비용과 노력, 운영상의 부담이 그로 인해 얻을 수 있는 안전상의 이득에 비해 현저히 불균형(Grossly Disproportionate)하다는 점을 엔지니어가 직접 입증해야 한다. 단순히 “비싸다”거나 “복잡하다”는 이유만으로는 충분하지 않다.
문서화: 모든 의사결정 과정은 Safe Work Australia 등의 가이드라인에 따라 철저히 기록되어야 법적/기술적 정당성을 얻는다.
이 판단은 직관이나 회의실 합의로 끝날 수 없다. 각 통제 옵션에 대해 기술적 실현 가능성은 있는지, 실제로 위험을 얼마나 줄일 수 있는지, 일정과 운영에 어떤 영향을 미치는지를 비교하고, 그 결과를 명시적으로 문서화해야 한다. 무엇을 선택했는지뿐 아니라, 무엇을 선택하지 않았고 왜 제외했는지가 설명되지 않는 순간, 그 의사결정은 SFARP의 기준을 충족하지 못한다. 이 문서화는 형식이 아니라, 이후를 대비한 책임의 기록이다.
마지막으로 남는 것은 잔여 위험(Residual Risk)이다. SFARP는 잔여 위험의 존재를 부정하지 않는다. 대신 그 위험을 누구의 책임 하에 둘 것인지를 명확히 한다. 잔여 위험은 암묵적으로 방치되는 것이 아니라, 정의되고, 승인되며, 관리 전략과 함께 운영 조직에 인계된다. 이 승인 과정이 없다면, 그 위험은 여전히 설계 단계에 남아 있는 것이다.
결국 SFARP의 핵심은 하나로 수렴한다.
“하지 않은 것을 설명할 수 있는가.”
왜 더 강한 통제를 적용하지 않았는지, 왜 여기서 멈췄는지, 그리고 그 판단이 합리적이었는지를 말할 수 없다면, 그 위험은 SFARP로 관리되었다고 할 수 없다. SFARP는 위험을 줄이는 기술이 아니라, 결정을 숨기지 않게 만드는 구조다.
SFARP는 잔여 위험을 없애지 않는다. 대신 그 위험에 대한 책임의 위치를 명확히 이동시킨다. 모든 합리적인 조치를 취한 이후에도 위험이 남는다는 사실 자체는 실패가 아니다. 문제는 그 위험이 어디에, 어떤 상태로 남아 있는가다. SFARP에서 잔여 위험은 방치의 결과가 아니라, 의사결정의 결과로 남아야 한다.
SFARP 관점에서 위험은 먼저 설계 단계에서 최대한 제거된다. 설계자가 통제 가능한 위험은 설계로 제거하는 것이 원칙이다. 구조 변경, 보호 장치 추가, 자동화, 기능 분리 등 설계적 조치로 제거할 수 있는 위험을 운영 단계로 넘기는 것은 SFARP의 철학에 어긋난다. 설계로 제거할 수 있었던 위험이 잔여 위험으로 남아 있다면, 그 자체로 SFARP가 성립하지 않는다.
그럼에도 불구하고 설계로 제거할 수 없는 위험은 존재한다. 기술적 한계, 시스템 복잡성, 현실적인 운영 조건 속에서 더 이상의 설계적 저감이 불가능한 경우, 그 위험은 운영 조직으로 명시적으로 인계된다. 이때 중요한 점은 위험이 ‘넘어간다’는 표현이 아니라, 책임이 재정의된다는 것이다. 위험은 더 이상 설계 문제로 남아 있지 않으며, 운영과 관리의 영역으로 이동한다.
엔지니어는 이 위험을 무시하는 것이 아니라, 모니터링 체계 안에 둔다.
운영 단계에서 잔여 위험은 무시되지 않는다. 오히려 모니터링 체계 안에 명확히 위치한다. 운영자는 해당 위험의 성격과 한계를 인지해야 하며, 정상 운용뿐 아니라 비정상 상황에서 어떤 징후가 나타나는지 교육받아야 한다. 설계로 막지 못한 부분은 운영 통제, 절차, 교육, 그리고 지속적인 감시로 관리된다.
운영자에게 이 위험의 성격과 대응 절차를 교육하고, 긴급 상황 발생 시 피해를 최소화할 수 있는 비상 대응 계획(Emergency Plan)으로 보완한다. '설계'로 막지 못한 부분은 '운영'과 '관리'로 관리한다.
또한 잔여 위험은 비상 대응 계획(Emergency Plan)과 결합된다. 사고를 완전히 예방할 수 없다면, 피해를 최소화할 수 있어야 한다. 이는 SFARP가 위험을 회피하는 개념이 아니라, 사고의 영향을 관리하는 개념임을 보여준다. 잔여 위험은 ‘언젠가 발생할 수 있는 사건’이 아니라, 발생했을 때 어떻게 대응할 것인가가 이미 정의된 상태여야 한다.
SFARP에서 가장 중요한 원칙은, 잔여 위험이 결코 암묵적으로 남아서는 안 된다는 점이다. 모든 잔여 위험은 반드시 문서로 남아야 하며, 그 위험을 승인한 주체가 명확해야 하고, 어떤 방식으로 관리될 것인지가 정의되어야 한다. 이 세 가지 중 하나라도 빠진다면, 그 위험은 관리되고 있다고 말할 수 없다.
결국 잔여 위험은 타협의 산물이 아니다. 그것은 합리적인 판단을 거친 뒤 의도적으로 남겨진 위험이다. SFARP는 위험을 완전히 제거하겠다는 약속이 아니라, 남겨진 위험 앞에서 책임을 흐리지 않겠다는 선언에 가깝다. 잔여 위험을 어떻게 다루는지를 보면, 그 조직이 안전을 어떻게 이해하고 있는지가 드러난다.
SFARP는 새로운 분석 기법이 아니다. 위험 행렬도 아니고, 계산식도 아니다. 그것은 설계 문서의 한 장이 아니라, 설계자 앞에 놓이는 하나의 질문이다.
“정말 여기까지밖에 할 수 없었는가?”
SFARP를 적용했다는 문장은 중요하지 않다. 체크리스트를 채웠는지, 보고서에 해당 용어가 들어갔는지는 본질이 아니다. 중요한 것은 그 질문 앞에서 스스로 납득할 수 있는가다. 더 줄일 수 있는 위험이 있었는지, 더 나은 선택이 가능했는지, 그리고 왜 그 선택을 하지 않았는지를 설명할 수 있는지가 SFARP의 기준이다.
시스템 안전은 사고를 예측하는 기술이 아니다. 그것은 사고가 발생했을 때, 우리가 어떤 선택을 했는지 책임질 수 있는 상태에 이르는 과정이다. SFARP는 위험을 없애겠다는 약속이 아니라, 위험 앞에서 내린 판단을 숨기지 않겠다는 선언에 가깝다. 그래서 SFARP는 기술적 개념이면서 동시에 태도다.
SFARP는 법적 처벌을 피하기 위한 장치로 오해되기도 한다. 그러나 그 본질은 훨씬 깊다. 그것은 시스템을 설계하는 엔지니어가 사회와 맺는 윤리적 약속이다. 우리는 언제나 비용과 안전 사이에서 선택을 강요받지만, 그 저울의 무게중심은 결국 사람을 향해야 한다. 그렇지 않다면 그 선택은 아무리 합리적으로 보일지라도, 안전하다고 말할 수 없다.
결국 SFARP가 요구하는 질문은 단순하다.
“우리는 정말 할 수 있는 모든 것을 다 했는가?”
이 질문에 흔들림 없이 답할 수 있을 때, 비로소 시스템 안전은 문서를 넘어 현실이 된다. SFARP는 그 답을 가능하게 만드는, 가장 정직한 프레임워크다.