엔지니어로 일하면서 가장 두려운 질문은 언제나 이것이다.
“이 시스템은 완벽하게 안전합니까?”
이 질문에 “그렇다”라고 답할 수 있는 사람은 없다. 완벽한 안전은 존재하지 않는다. 모든 기술은 편익과 함께 위험을 품고 태어난다. 우리가 할 수 있는 일은 그 위험을 없애는 것이 아니라, 감당 가능한 수준까지 다듬는 것이다. 문제는 그 “감당 가능한 수준”이 어디인가 하는 점이다.
오래전 고등학교 수학시간에 선생님이 이런 질문을 던지셨다.
“문제를 틀렸을 때, 처음부터 다시 푸는 게 빠를까? 아니면 써 둔 수식에서 잘못된 부분만 고치는 게 빠를까?”
입시를 앞둔 우리는 당연히 후자를 선택했다. 이미 쌓아둔 풀이를 활용하면 시간도 절약되고 검산도 수월하다고 믿었다. 그런데 훗날 그와 유사한 사고방식이 수학자들조차 쉽게 풀지 못하는 난제와 닿아 있다는 이야기를 들었다. 어디서부터가 오류인지 모를 때, 부분 수정은 오히려 전체를 왜곡할 수도 있다는 것이다.
안전을 다루는 일도 이와 닮아 있다. 우리는 두 갈래의 길 앞에 선다.
법과 규격을 충족하면 충분하다고 판단할 것인가, 아니면 내가 할 수 있는 최선을 다해 위험을 더 낮추려다 일정과 비용, 심지어 동료들의 비난까지 감수할 것인가. 전자를 택하면 프로젝트는 부드럽게 흘러간다. 후자를 택하면 종종 “과도하다”는 말을 듣는다.
시스템 안전 분야에서 오래 일하다 보면 익숙한 문장을 반복해서 접하게 된다.
“위험을 ALARP 수준으로 낮췄습니다.”
보고서의 결론처럼 등장하는 문장이다. 그러나 그 문장을 쓰는 순간, 스스로에게 묻지 않으면 안 된다. 정말 충분히 낮췄는가? 더 낮출 수 있었지만 멈춘 것은 아닌가?
안전은 숫자의 문제가 아니다. 그것은 의사결정의 태도에 관한 문제다.
내가 할 수 있는 최대한을 다했는가를 묻는 관점이 있다면, 그것을 SFARP라 부를 수 있을 것이다. 그렇다면 ALARP는 무엇인가. ALARP(As Low As Reasonably Practicable)는 단순한 기준이 아니라, 유한한 자원 속에서 어디까지 위험을 낮춰야 하는지를 스스로에게 끊임없이 질문하게 만드는 원칙이다.
“합리적으로 실행 가능한 한 낮게.”
이 모호하지만 정교한 문장 속에는 엔지니어의 고뇌가 담겨 있다. 안전을 극단으로 밀어붙이면 시스템은 멈춘다. 그러나 타협을 쉽게 허용하면 사고는 언젠가 현실이 된다. ALARP는 그 사이에서 균형을 찾으려는 시도다.
ALARP(As Low As Reasonably Practicable)는 위험을 합리적으로 실행 가능한 범위 내에서 가능한 한 낮은 수준까지 줄여야 한다는 원칙이다. 이 개념은 영국의 안전 규제 체계 속에서 발전했으며, 특히 Health and Safety Executive의 법·규제 철학에서 핵심 기준으로 자리 잡았다.
ALARP는 안전을 0과 1로 나누지 않는다. “안전하다/위험하다”라는 단순한 구분 대신, 위험을 세 가지 영역으로 나누어 사고한다.
첫째, 허용 불가능 영역(Unacceptable Region)이다.
어떤 편익이 있더라도 수용될 수 없는 위험 수준이며, 설계 변경이나 기능 수정 등을 통해 반드시 제거해야 한다.
둘째, 광범위하게 수용 가능한 영역(Broadly Acceptable Region)이다.
사회적으로 통상 허용되는 낮은 수준의 위험으로, 추가적인 적극적 조치 없이도 관리·모니터링으로 충분한 상태를 의미한다.
셋째, 그리고 가장 중요한 ALARP 영역(Tolerable if ALARP)이다.
위험이 존재하지만 완전 제거는 현실적으로 어렵거나 과도한 부담을 수반하는 중간 지대다. 이 영역에서 핵심 질문이 등장한다.
이 위험을 더 낮출 수 있는 방법은 없는가?
그 조치를 시행하는 비용과 노력은 위험 감소 효과에 비해 터무니없이 큰가(Grossly Disproportionate)?
여기서 말하는 판단은 단순한 비용-편익 계산이 아니다. 비용·시간·기술적 난이도와 기대되는 위험 감소 효과를 종합적으로 비교하되, 추가 조치가 명백히 과도한 부담이 되지 않는 한 실행해야 한다는 방향성을 갖는다. 즉, 위험 저감 효과가 의미 있다면 일정 수준의 비용 증가는 감수해야 한다는 전제가 깔려 있다.
결국 ALARP는 “위험을 0으로 만들 수 없다”는 현실을 인정하면서도, 우리가 더 할 수 있었던 노력을 멈춘 것은 아닌지를 묻는 기준이다. 안전은 공짜가 아니며, 모든 위험 저감에는 자원이 필요하다. 그럼에도 불구하고, 인간의 생명과 사회적 신뢰를 지키기 위해 어디까지 감수할 것인가를 결정하는 것—그 지점에서 ALARP는 단순한 기술적 원칙을 넘어 윤리적 잣대로 작동한다.
ALARP는 선언으로 끝나는 문장이 아니다. 그것은 분석, 토론, 판단, 그리고 기록으로 완성되는 의사결정의 여정이다. “이 정도면 충분하다”는 직관은 아무런 의미가 없다. 우리는 그것을 입증해야 한다.
1. 위험 식별과 정량·정성 평가
출발점은 위험원(Hazard)의 식별이다. 시스템의 기능, 인터페이스, 운용 환경을 기반으로 잠재적 사고 시나리오를 도출한다. 이 과정에서 FTA, ETA, HAZOP 등 전통적 기법을 활용할 수 있으며, 복잡계 시스템이라면 상호작용 중심의 분석도 병행한다.
이후 발생 가능성과 결과 심각도를 평가하여 위험도를 수치화하거나 등급화한다. 중요한 것은 “현재 상태의 위험 수준(Baseline Risk)”을 명확히 정의하는 것이다. ALARP 논증은 항상 현재 위험에서 출발한다.
2. 위험 저감 대안 도출 – 통제는 어디에서 오는가
다음 단계는 가능한 모든 안전 조치(Safety Measures)를 체계적으로 도출하는 것이다. 통제는 우연히 떠오르는 아이디어가 아니라, 다음과 같은 근거에서 나온다.
관련 법규 및 규제 요구사항
산업 표준 및 Good Practice
과거 사고 사례와 교훈
유사 시스템의 설계 사례
내부 기술 검토 및 전문가 워크숍
이 과정에서 “우리가 이미 하고 있는 것”과 “추가적으로 고려 가능한 것”을 구분해야 한다. 설계 변경, 안전 기능 추가, 중복성 확보, 경보 체계 개선, 절차 강화, 교육 프로그램 등 기술적·관리적·운영적 통제를 모두 테이블 위에 올린다.
여기서 중요한 태도는 배제보다 나열이다.
먼저 충분히 펼쳐 놓고, 이후 합리적으로 걸러낸다.
3. 비용-편익 분석과 불균형성 판단
각 안전 조치에 대해 다음을 검토한다.
위험 감소 효과는 어느 정도인가?
구현 비용은 얼마인가?
기술적으로 실현 가능한가?
일정과 운영 복잡성에 어떤 영향을 주는가?
여기서 핵심은 단순한 CBA(Cost-Benefit Analysis)가 아니라 불균형성(Disproportionality) 판단이다. 위험 감소 효과에 비해 비용이 “터무니없이(Grossly) 크지 않다면” 해당 조치는 채택되어야 한다.
ALARP는 비용이 높다는 이유만으로 조치를 배제하지 않는다.
위험 감소 효과가 유의미하다면, 일정 수준의 비용 증가는 감수하는 것이 원칙이다.
4. 엔지니어링 판단 – 데이터 너머의 결정
모든 숫자가 정리된 이후에도 결정은 자동으로 내려지지 않는다.
과거 유사 사고는 무엇을 말해주는가?
최신 기술은 이미 해당 통제를 일반화하고 있는가?
사회적 기대 수준은 어디에 있는가?
정량적 데이터 위에 정성적 판단이 더해진다.
이 지점에서 ALARP는 계산이 아니라 책임의 문제로 바뀐다.
ALARP에 도달했음을 선언하는 문장은 단순해야 하지만, 그 뒤에는 치밀한 논증 구조가 존재해야 한다.
일반적인 ALARP Statement의 구조는 다음과 같다.
현재 위험 수준 명시
“해당 Hazard의 초기 위험도는 High(또는 1 ×10⁻⁵/yr)로 평가되었다.”
적용된 통제 조치 나열
- 설계적 통제 (예: 이중화, Fail-safe 구조)
- 보호 시스템 (예: 인터락, 감지 시스템)
- 절차적 통제 (예: 운영 매뉴얼, 교육)
추가 대안 검토 결과 제시
“추가적인 이중화 방안이 검토되었으나, 위험 감소 효과는 미미하며 시스템 복잡성을 과도하게 증가시키는 것으로 분석되었다.”
불균형성 판단 근거 제시
“추가 조치의 비용은 예상 위험 감소 효과에 비해 현저히 불균형적인 것으로 판단된다.”
최종 선언
“따라서 본 위험은 합리적으로 실행 가능한 범위 내에서 가능한 한 낮은 수준(ALARP)으로 감소되었다고 판단한다.”
중요한 것은 마지막 문장이 아니라, 그 앞에 축적된 논리다.
여기서 우리는 어떻게 “충분한 통제”를 입증하는 부분에 집중을 하게된다.
ALARP는 “충분하다”는 감정이 아니라, 다음 세 가지가 충족될 때 설득력을 갖는다.
모든 합리적 대안을 검토했음을 보여줄 것
검토하지 않은 조치는 존재해서는 안 된다.
통제의 출처가 명확할 것
법규, 표준, 사고 사례, 기술적 타당성 등 근거가 있어야 한다.
배제 사유가 논리적으로 설명될 것
단순히 “비싸다”가 아니라, 위험 감소 대비 과도하다는 점이 분석되어야 한다.
이 세 가지가 갖추어질 때, ALARP는 방어 논리가 아니라 설계 철학이 된다.
SFARP(So Far As Reasonably Practicable)는 문구상 ALARP와 매우 유사하다. 실제로 영국 법 체계에서는 SFARP가 법적 표현으로 사용된다. 차이는 미묘하지만 철학적이다.
ALARP는 위험을 “낮은 수준”까지 줄이는 상태를 강조한다.
SFARP는 위험 저감 행위를 “합리적으로 실행 가능한 한도까지 수행했는가”라는 질문에 초점을 둔다.
ALARP가 결과 중심적 표현이라면, SFARP는 행위 중심적 질문 (우리는 할 수 있는 것을 다 했는가?
)에 가깝다.
ALARP 보고서는 종종 위험 행렬과 잔여 위험 수치로 끝난다. 반면 SFARP 관점은 설계자의 결정 과정을 추적한다. 무엇을 고려했고, 왜 채택했으며, 왜 배제했는가를 묻는다. 결국 둘은 같은 뿌리를 공유하지만, ALARP가 “위험 수준”에 대한 프레임이라면, SFARP는 “의사결정의 정직성”에 대한 프레임이라 할 수 있다.
ALARP는 실무에서 매우 강력한 기준으로 작동하지만, 결코 만능은 아니다. 오히려 그 합리성과 실용성 때문에 간과되기 쉬운 구조적 한계를 품고 있다. 안전을 숫자와 논리로 설명할 수 있다는 믿음이 강해질수록, 그 그림자도 함께 짙어진다.
1. 정량화의 착시
위험을 수치로 표현하는 순간 우리는 그것을 객관적 사실처럼 받아들인다. 그러나 확률, 빈도, 피해 규모는 대부분 가정과 추정에 기반한다. 입력값이 불완전하면 결과 역시 불완전하다.
정교한 모델과 계산은 오히려 오류를 더 설득력 있게 보이게 만들 수 있다. 숫자가 주는 안정감은 때로 판단을 마비시킨다. ALARP 논증이 치밀할수록, 그 전제가 얼마나 취약한지 돌아볼 필요가 있다.
2. ‘합리성’의 주관성
ALARP의 핵심 개념은 “합리적으로 실행 가능한 범위”다. 문제는 그 합리성의 기준이 고정되어 있지 않다는 점이다. 무엇이 ‘터무니없이 큰 비용(Grossly Disproportionate)’인지에 대한 판단은 조직 문화, 산업 관행, 사회적 분위기에 따라 달라진다.
어제는 타당했던 결정이 오늘은 무책임으로 평가될 수 있다. 기술 발전으로 비용이 낮아지거나 사회적 기대 수준이 높아지면, 동일한 위험도 더 이상 수용되지 않는다. 결국 ALARP는 절대적 기준이 아니라, 시대적 맥락 위에서만 유효한 상대적 판단이다.
3. 비용 중심 사고로의 왜곡 가능성
“합리적 실행 가능성”은 쉽게 “예산 범위 내”라는 표현으로 축소될 위험이 있다. 일정과 비용 압박이 강한 조직에서는 ALARP가 안전을 위한 기준이 아니라, 안전 조치를 배제하기 위한 방어 논리로 사용될 수 있다.
본래 ALARP는 위험 감소 효과가 의미 있다면 일정 수준의 비용을 감수해야 한다는 방향성을 가진다. 그러나 현실에서는 그 균형이 뒤집히기 쉽다. 이 지점에서 ALARP는 철학이 아니라 타협의 도구로 전락할 수 있다.
4. 저빈도·대형사고의 문제
Low Frequency, High Consequence 사건은 ALARP의 가장 어려운 시험대다. 발생 확률은 극히 낮지만, 결과는 치명적이다. 단순한 비용-편익 분석으로는 이러한 위험에 대한 강력한 통제를 정당화하기 어려울 수 있다.
숫자는 희소한 사건을 작게 보이게 만든다. 그러나 한 번의 사고가 조직과 사회에 남기는 상흔은 확률로 환산하기 어렵다. 이 지점에서 ALARP는 계산과 윤리 사이의 긴장을 드러낸다.
5. 복잡계 시스템에서의 한계
현대 시스템은 상호작용, 피드백, 소프트웨어, 인간 요소가 얽힌 복잡계다. 위험은 개별 고장 확률의 합으로 설명되지 않는다. 예상치 못한 조합과 상황에서 사고가 발생한다.
ALARP는 본질적으로 특정 위험 시나리오를 정의하고 그 위험을 줄이는 방식으로 작동한다. 그러나 ‘알려지지 않은 위험(Unknown Unknowns)’ 앞에서는 이 접근이 충분하지 않을 수 있다. 우리가 인지하지 못한 위험은 ALARP 검토 대상조차 되지 않는다.
결국 ALARP의 한계는 하나의 질문으로 수렴된다. "우리는 모든 위험을 알고 있다고 가정하고 있지 않은가?"
ALARP는 합리적이고 체계적인 의사결정 틀을 제공한다. 그러나 그 틀은 인간의 인식 범위 안에서만 작동한다. 안전은 계산될 수 있지만, 완전히 계산되지는 않는다. 따라서 ALARP를 적용할 때 가장 필요한 것은 더 많은 숫자가 아니라, 겸손이다.
우리가 놓치고 있을 가능성을 인정하는 태도.
그 태도 없이는, 아무리 정교한 ALARP 논증도 결국 취약한 기반 위에 서게 된다.
ALARP는 숫자가 아니라 태도다.
우리가 위험을 얼마만큼 낮췄는지를 선언하는 일보다 더 중요한 것은, 왜 바로 그 지점에서 멈추었는지를 설명할 수 있는가에 있다. 위험 저감의 결과는 표로 정리될 수 있지만, 그 결정을 내린 이유는 태도로 드러난다. 그래서 시스템 안전은 사고를 “예측”하는 학문이라기보다, 우리의 선택을 “정당화”하는 과정에 가깝다. 어떤 위험을 끝까지 줄이려 했는지, 어떤 비용을 감수하기로 했는지, 그리고 무엇을 포기하기로 했는지에 대한 기록이 곧 안전의 본질이 된다.
시스템 안전 엔지니어로 일하며 배운 가장 큰 교훈은 이것이다. 안전은 고정된 상태가 아니라 끊임없이 움직이는 과정이라는 점이다. 한 번 “충분하다”고 결론 내렸다고 해서 그 판단이 영원히 유효한 것은 아니다. 기술은 발전하고, 사회적 기대는 높아지며, 우리가 감수할 수 있는 위험의 기준 또한 변한다. 그렇기에 ALARP는 완벽을 약속하지 않는다. 대신 완벽할 수 없다는 사실을 인정한 채, 그 순간 우리가 선택할 수 있는 최선을 치열하게 고민하라고 요구한다.
ALARP를 적용했다는 문장 하나로 안전이 보장되지는 않는다. 그러나 그 질문에 스스로 떳떳하게 답할 수 있다면, 그 설계는 최소한 윤리적이다. 안전은 단순히 사고가 없는 상태가 아니라, 위험을 대하는 우리의 정직함과 책임감의 총합이기 때문이다. 우리는 계산기 너머의 생명을 떠올리며, 합리성과 책임 사이에서 균형을 찾는다.
결국 모든 논의는 하나의 질문으로 돌아온다.
정말 여기까지밖에 할 수 없었는가?
그 질문 앞에서 머뭇거림이 없다면, 그리고 그 이유를 논리와 양심으로 설명할 수 있다면, 그때 비로소 ALARP는 형식이 아니라 철학이 된다.