복잡한 시스템에서 실패와 안전이 어떻게 발생하고 관리되는지 설명하는 18가지 원칙.
흥미로운 모든 시스템(예: 운송, 의료, 발전)은 그 성격상 본래 피할 수 없이 위험하다. 위험에 노출되는 빈도는 때때로 바꿀 수 있지만, 시스템에 관련된 과정 자체는 본질적으로 그리고 환원 불가능하게 위험하다. 이러한 시스템을 특징짓는 위험 방어책이 만들어지는 원동력은 바로 이러한 위험의 존재다.
실패가 초래하는 큰 결과는 시간이 지나면서 실패에 대비한 여러 겹의 방어층을 구축하게 한다. 이러한 방어에는 눈에 보이는 기술적 구성 요소(예: 백업 시스템, 장비의 ‘안전’ 기능)와 인적 구성 요소(예: 교육, 지식)뿐 아니라 다양한 조직적·제도적·규제적 방어책(예: 정책과 절차, 인증, 작업 규칙, 팀 교육)도 포함된다. 이러한 조치의 효과는 보통 운용을 사고로부터 다른 방향으로 돌려놓는 일련의 방패를 제공하는 데 있다.
방어 체계는 작동한다. 시스템 운용은 대체로 성공적이다. 겉으로 드러나는 파국적 실패는 작고 겉보기에 무해한 실패들이 결합해 시스템적 사고의 기회를 만들 때 발생한다. 이러한 작은 실패 하나하나는 파국을 일으키는 데 필요하지만, 그 조합만이 실패를 허용하기에 충분하다. 달리 말하면, 겉으로 드러나는 시스템 사고보다 실패 기회가 훨씬 더 많다. 초기 실패 궤적의 대부분은 설계된 시스템 안전 구성 요소가 차단한다. 운용 수준까지 도달한 궤적도 대부분, 대개는 실무자에 의해 차단된다.
이러한 시스템의 복잡성 때문에 여러 결함이 존재하지 않는 상태로 운용하는 것은 불가능하다. 개별 결함은 실패를 일으키기에 충분하지 않으므로 운용 중에는 사소한 요인으로 여겨진다. 모든 잠재 실패를 제거하는 일은 주로 경제적 비용 때문에 제한되지만, 사전에 그러한 실패가 사고에 어떻게 기여할지 파악하기 어렵다는 이유도 있다. 기술, 작업 조직, 실패를 근절하려는 노력이 변함에 따라 실패 역시 계속 변한다.
앞선 요점의 귀결은 복잡한 시스템이 고장 난 시스템처럼 운용된다는 것이다. 시스템은 수많은 중복 장치를 갖추고 있고 많은 결함이 있어도 사람들이 작동하게 만들 수 있기 때문에 계속 기능한다. 사고 검토에서는 시스템에 파국을 일으킬 뻔한 이전의 ‘준사고’ 이력이 있었다는 점이 거의 언제나 지적된다. 이러한 성능 저하 상태를 명백한 사고 이전에 인지했어야 했다는 주장은 대개 시스템 성능에 관한 순진한 관념에 근거한다. 시스템 운용은 역동적이며, 구성 요소(조직적·인적·기술적)는 계속 실패하고 교체된다.
복잡한 시스템은 파국적 실패의 가능성을 지닌다. 인간 실무자는 거의 언제나 이러한 잠재적 실패와 물리적으로도 시간적으로도 아주 가까이 있다. 재난은 언제든 거의 어느 곳에서나 일어날 수 있다. 파국적 결과의 가능성은 복잡한 시스템의 특징이다. 그러한 파국적 실패의 가능성을 없애는 것은 불가능하다. 그러한 실패의 가능성은 시스템 자체의 성격상 언제나 존재한다.
겉으로 드러나는 실패에는 여러 결함이 필요하므로 사고에 고립된 하나의 ‘원인’은 없다. 사고에는 여러 기여 요인이 있다. 이들 각각은 그 자체로 사고를 일으키기에 반드시 불충분하다. 이러한 원인들이 함께할 때만 사고를 일으키기에 충분해진다. 실제로 사고에 필요한 상황을 만드는 것은 이러한 원인들이 연결되는 과정이다. 따라서 사고의 ‘근본 원인’을 분리해 내는 것은 불가능하다. ‘근본 원인’과 같은 추론에 근거한 평가는 실패의 본질에 관한 기술적 이해를 반영하는 것이 아니라, 결과에 대해 특정하고 국지적인 힘이나 사건을 탓하려는 사회적·문화적 필요를 반영한다. 1
1 인류학적 현지 연구는 ‘원인’이라는 관념이 사회적으로 구성된다는 사실을 가장 명확하게 보여 준다(참조: Goldman L (1993), The Culture of Coincidence: accident and absolute liability in Huli, New York: Clarendon Press; 또한 Tasca L (1990), The Social Construction of Human Error, Unpublished doctoral dissertation, Department of Sociology, State University of New York at Stonybrook)
결과를 알고 있으면, 그 결과로 이어진 사건들이 실제 당시보다 실무자에게 더 두드러져 보였어야 했던 것처럼 느껴진다. 이는 인간 수행에 대한 사후 사고 분석이 부정확하다는 뜻이다. 결과에 관한 지식은 사고 후 관찰자가 동일한 요인들에 대해 사고 전 실무자가 가졌던 관점을 재구성하는 능력을 훼손한다. 실무자들이 그 요인들이 사고로 “필연적으로” 이어질 것임을 “알았어야 했다”는 듯이 보인다. 2사후 판단 편향은 사고 조사, 특히 숙련된 인간 수행이 관련된 경우에 여전히 가장 큰 장애물이다.
2 이는 의학적 판단이나 기술적 판단의 특징이 아니라, 과거 사건과 그 원인에 관한 모든 인간 인지의 특징이다.
시스템 실무자는 원하는 산출물을 생산하기 위해 시스템을 운용하는 동시에 사고를 막기 위해 일한다. 생산 요구와 발생 초기의 실패 가능성 사이에서 균형을 맞추는 이러한 역동적 시스템 운용의 특성은 피할 수 없다. 외부인은 이 역할의 이중성을 거의 인정하지 않는다. 사고가 없는 시기에는 생산 역할이 강조된다. 사고 후에는 실패에 맞서는 방어 역할이 강조된다. 어느 때든 외부인의 관점은 운용자가 두 역할에 지속적으로 동시에 관여한다는 사실을 오해한다.
사고 후에는 겉으로 드러난 실패가 흔히 불가피했던 것으로, 실무자의 행동은 실수나 확실히 닥칠 실패를 고의로 무시한 행위로 보인다. 그러나 모든 실무자 행동은 실제로 도박, 즉 결과가 불확실한 상황에서 이루어지는 행위다. 불확실성의 정도는 순간순간 달라질 수 있다. 실무자 행동이 도박이라는 점은 사고 후 명확해 보이며, 일반적으로 사후 분석은 이러한 도박을 좋지 않은 선택으로 본다. 그러나 성공적인 결과 역시 도박의 결과라는 반대의 사실은 널리 인식되지 않는다.
조직은 생산 목표, 자원의 효율적 사용, 운용의 경제성과 비용, 그리고 결과가 작거나 큰 사고에 대해 수용 가능한 위험 사이의 관계를 두고, 흔히 의도적으로 모호하게 행동한다. 모든 모호성은 시스템 최전선에 있는 실무자의 행동으로 해소된다. 사고 후 실무자의 행동은 ‘오류’ 또는 ‘위반’으로 간주될 수 있지만, 이러한 평가는 사후 판단에 크게 편향되어 있으며 다른 추진 요인, 특히 생산 압력을 무시한다.
실무자와 일선 관리자는 생산을 극대화하고 사고를 최소화하기 위해 시스템을 능동적으로 조정한다. 이러한 조정은 흔히 순간순간 이루어진다. 조정에는 다음과 같은 것들이 포함된다. (1) 취약한 부분이 실패에 노출되는 일을 줄이기 위해 시스템을 재구성한다. (2) 예상되는 높은 수요가 있는 영역에 핵심 자원을 집중한다. (3) 예상된 결함과 예상치 못한 결함으로부터 후퇴하거나 회복할 경로를 제공한다. (4) 생산을 원활하게 축소하거나 회복력을 높이는 다른 수단을 마련할 수 있도록, 변화한 시스템 성능을 조기에 탐지하는 방법을 수립한다.
복잡한 시스템의 운용과 관리에는 상당한 인간 전문성이 필요하다. 이러한 전문성은 기술이 변하면서 성격이 달라지고, 떠나는 전문가를 대체해야 하기 때문에도 변한다. 모든 경우에 교육과 기술 및 전문성의 연마는 시스템 자체 기능의 한 부분이다. 그러므로 어느 순간이든 특정 복잡한 시스템에는 서로 다른 수준의 전문성을 갖춘 실무자와 훈련생이 존재한다. 전문성과 관련된 핵심 문제는 (1) 가장 어렵거나 까다로운 생산 요구에 희소한 전문성을 자원으로 활용해야 한다는 필요와 (2) 미래에 사용할 전문성을 개발해야 한다는 필요에서 발생한다.
신뢰할 수 있는 시스템에서 겉으로 드러나는 사고의 발생률이 낮다는 점은, 특히 결과는 작지만 빈도는 높은 실패의 수를 줄이기 위한 신기술 사용과 같은 변화를 부추길 수 있다. 이러한 변화는 실제로 빈도는 낮지만 결과는 큰 새로운 실패의 기회를 만들 수 있다. 잘 이해된 시스템 실패를 제거하거나 고정밀 성능을 얻기 위해 새로운 기술을 사용할 때, 그 기술은 흔히 대규모 파국적 실패로 이어지는 새로운 경로를 도입한다. 드물지 않게 이러한 새롭고 희귀한 파국은 신기술로 제거된 실패보다 더 큰 영향을 미친다. 이러한 새로운 실패 형태는 사전에 파악하기 어렵다. 관심은 주로 변화가 지닌 것으로 여겨지는 유익한 특성에 쏠린다. 이러한 결과 큰 새로운 사고는 낮은 빈도로 발생하므로, 사고가 일어나기 전에 여러 시스템 변화가 일어날 수 있으며, 이로 인해 기술이 실패에 기여한 바를 알아보기 어렵다.
“인적 오류”에 대한 사고 후 개선책은 보통 사고를 “일으킬” 수 있는 활동을 막는 데 전제되어 있다. 이러한 사슬의 끝단 조치는 추가 사고의 가능성을 낮추는 데 거의 도움이 되지 않는다. 실제로 동일한 사고가 일어날 가능성은 잠재 실패의 양상이 계속 변하기 때문에 이미 극히 낮다. 사고 후 개선책은 안전을 높이는 대신 대개 시스템의 결합도와 복잡성을 높인다. 이는 잠재 실패의 수를 늘리고 사고 궤적을 탐지하고 차단하는 일도 더 어렵게 만든다.
안전은 시스템에서 발현되는 속성이다. 그것은 조직이나 시스템의 개인, 장치 또는 부서에 존재하지 않는다. 안전은 구매하거나 제조할 수 없으며, 시스템의 다른 구성 요소와 분리된 특성이 아니다. 이는 안전을 원료나 원자재처럼 조작할 수 없다는 뜻이다. 어떤 시스템에서든 안전 상태는 언제나 역동적이다. 지속적인 시스템 변화는 위험과 그 관리가 계속 변하도록 보장한다.
실패 없는 운용은 시스템을 허용 가능한 성능의 경계 안에 유지하기 위해 일하는 사람들의 활동에서 비롯된다. 이러한 활동은 대체로 정상 운용의 일부이며 겉보기에는 단순명료하다. 그러나 시스템 운용에는 결코 문제가 없지 않으므로, 변화하는 조건에 대한 인간 실무자의 조정이 실제로 순간순간 안전을 만들어 낸다. 이러한 조정은 흔히 이용 가능한 대응책의 저장고에서 충분히 연습된 일과를 선택하는 것에 불과하다. 하지만 때로는 새로운 조합이거나 새로운 접근법을 처음부터 만들어 내는 일이기도 하다.
위험을 인식하고 시스템 운용을 성공적으로 조정하여 허용 가능한 성능 경계 안에 머물려면 실패와 밀접하게 접해야 한다. 운용자가 “운용 한계의 경계”를 식별할 수 있는 시스템에서 더 견고한 시스템 성능이 나타날 가능성이 크다. 이 지점은 시스템 성능이 저하되기 시작하거나 예측하기 어려워지거나 쉽게 회복할 수 없게 되는 곳이다. 본질적으로 위험한 시스템에서 운용자는 전반적으로 바람직한 성능으로 이어지는 방식으로 위험을 마주하고 이해할 것이 기대된다. 안전을 개선하려면 운용자에게 위험에 대한 보정된 관점을 제공해야 한다. 또한 운용자의 행동이 시스템 성능을 운용 한계의 경계 쪽으로 또는 그 반대 방향으로 어떻게 움직이는지에 관한 보정 정보도 제공해야 한다.