11월 30일(월)부터 12월 4일(금)까지 일주일간 서울 삼성동 코엑스에서 ‘2015년 소프트웨어(SW) 주간’ 행사가 계속되고 있다. 미래창조과학부는 정보통신산업진흥원(NIPA)과 더불어 ‘상상을 현실로, 소프트웨어가 미래다’라는 주제 아래 다채로운 프로그램을 준비했다.
둘째날인 1일에는 ‘SW 안전 국제 컨퍼런스 2015’가 오전 오후 내내 그랜드볼룸 103호에서 열렸다. SW안전 분야에서 활동하는 해외 석학과 국내 산·학·연 전문가를 초청해서 관련 정보를 전파하고 공유하기 위한 자리다.
기조강연은 로드니 제임스(Rodney J. Simmons) 국제시스템안전학회장이 맡았다. 제목은 ‘디자인을 통한 보건·안전·환경 구축과 시스템 안전(System Safety as an Engineering Culture of HSE Through Design)’으로, 공학 교수 출신으로서 산업 전반의 안전 개념을 통찰한 내용으로 채워졌다.
끔찍한 사고 후 공학적 시스템 안전 개념 시작돼
‘SW 안전’은 사고를 예방하거나 대처하기 위해 시스템 자체를 설계하고 개선하는 행위를 가리킨다. 지금은 SW 안전이라 하면 해킹 등의 보안 관련 사항을 주로 이야기하지만 그 출발점은 1940년대로 거슬러 올라간다.
그때까지 대부분의 미사일은 전투기 조종사가 직접 떨어뜨렸지만 무인 발사 방식이 개발되자 시스템을 바라보는 시각을 바꿔야 했다. 예상 못한 변수가 등장했을 때 사람이 타고 있지 않다면 컴퓨터 혼자 판단을 내려야 한다. 원하는 기능을 모두 발휘하려면 방해가 되는 요소를 미리 제거하고 대비하는 작업도 필요하다. 이러한 취지로 1963년 설립된 것이 국제시스템안전학회(ISSS)다.
당시 시스템 안전 분야에서 일하던 엔지니어들은 공대 출신이 아닌 디자이너가 대부분이었다. 인간이 사용하기 편리하도록 설계를 하는 일은 능숙하지만 문제가 발생했을 때 해결하는 능력이 부족했다.
1984년 인도 보팔에서 대형 사고가 터졌다. 당시 보팔에는 미국 기업 유니언 카바이드 인디아(Union Carbide India)가 운영하던 화학공장이 있었다. 12월 3일 공장 내 탱크가 폭발하면서 독성물질 메틸이소시안염(MIC) 36톤이 유출되었고 순식간에 2800명이 질식사했다. 직접적으로 부상을 입은 사람은 20만 명을 넘어섰고 피해보상 청구가 60만여 건에 달했다.
이후 시스템 안전 분야에 공학자들이 투입되었다. 미국 대학들은 매 학년마다 보건·안전·환경(HSE) 과목을 의무적으로 수강하도록 했다. 현재 미국 질병통제관리국(CDC) 산하 산업안전보건연구원(NIOSH)은 ‘시스템 설계와 디자인 단계부터 안전에 대비해야 한다’는 목표 아래 고등교육에서의 안전 교육을 지원하고 있다.
안전 중시한 기업의 주식 가치 5배 상승
3년 뒤 1987년에는 일반 기업에서 시스템 안전 문제가 화두가 되었다. 미국 재무장관까지 역임한 폴 오닐(Paul O’Neill)이 세계 최대 알미늄 제조회사 알코아(Alcoa)에 CEO로 취임했다. 그는 매출 실적에 대해 이야기하지 않고 오히려 “인명 사고율을 0으로 만들어 안전한 회사로 탈바꿈시키겠다”고 발표했다.
회견장에 모였던 기자들은 공중전화를 향해 뛰기 시작했다. 당시는 휴대전화가 없어서 공중전화로 속보를 보내곤 했는데 이들은 수화기에 대고 “이상한 사람이 CEO가 됐으니 주식을 팔아야 한다”고 기사 제목을 전달했다. 안전에 대해 이야기하던 기업이 없었다는 의미다.
오닐 CEO가 이후 13년 동안 근무하면서 알코아의 주식 가치는 5배로 상승했다. 매출보다 안전을 중시하는 혁명적인 접근법이 오히려 수익을 가져다준 것이다. 실제로 알코아의 직원 부상률은 일반 제조업의 20분의1 수준을 유지하고 있다. 만화가, 회계사, SW 개발자보다 낮은 수치다.
시먼스 학회장은 “이제는 많은 기업에서 안전을 성과와 연결시키고 있다”고 소개했다. 매출이 높아도 부상이나 인명사고가 발생하면 임원들이 인센티브를 받을 수 없다. 시스템 안전의 핵심이 되는 것이 SW 안전이다. 전체 구조가 복잡해지면서 사후 개선보다는 초기 설계부터 안전 개념을 심어두는 것이 더 큰 손해를 막는 비결로 자리했다.
사람과 SW가 협업하는 것이 해결책
그렇다면 시스템 개선으로 극복할 수 없는 인간의 실수는 어떻게 예방해야 할까. 오후 세션에서 발표한 류호경 한양대 교수가 해답을 제시했다. 류 교수는 ‘소프트웨어와 인적 오류의 적용과 문제점(Softwareᅠ& Human Errors: Its Applications and Implications)’이라는 주제로 인간과 SW의 협업을 분석했다.
시스템 자체의 오류를 줄이는 것도 중요하지만 인간의 저지르는 실수를 막는 장치도 필수적이다. 1977년 아프리카 북서부의 테네리페(Tenerife) 섬에서 발생한 비행기 사고가 대표적이다. 당시 로스 로데오스 공항 활주로에는 타 지역 공항 폐쇄로 임시 착륙한 항공기들이 많았다. 그중 팬아메리카 항공기와 네덜란드 항공기가 활주로 상에서 저속으로 이동 중에 충돌한 것이다.
원인은 시스템이 아닌 인간에게 있었다. 팬아메리카의 기장이 “이륙 위치에 있다(We are at taking off)”, “이륙하겠다(We are taking off)”고 요청하자 관제탑에서는 “이륙 대기하라(Standby for take off)”고 답변했다. 그러나 무선 상태가 불안해 일부 단어가 제대로 전달되지 않았다. 기장은 “이륙하라(Take off)”는 뜻으로 알아듣고 비행기를 출발시켰다.
인근에서 대기하던 네덜란드 항공기에서도 실수가 발생했다. 팬아메리카 항공기가 이륙을 마쳤을 것이라 생각한 기장이 이륙 지시를 내리자 부기장이 “아직 이륙 승인을 받지 못했다”고 대답했다. 그러나 관제탑과의 교신 지연을 참지 못한 기장은 독단적으로 이륙을 시작했다. 부기장은 “팬아메리카가 아직 활주로에 있다”고 제지했지만 기장은 무시했다. 당시 비행기 조종사 간에는 수직적 상하 관계가 뚜렷하게 존재해서 부하의 의견은 묵살당하기 일쑤였다.
결국 네덜란드 항공기는 아직 활주로를 이동 중이던 팬아메리카 항공기와 충돌했고 양측 탑승자 644명 중 583명이 활주로에서 목숨을 잃어야 했다. 시스템이 아닌 인적 오류 때문에 발생한 문제였다. 이후 “인간의 실수를 완벽하게 제거할 수는 없다”는 인식이 퍼졌고 중복 확인을 통해 인적 오류를 극복하는 시스템 설계가 도입되기 시작했다.
류 교수는 “시스템이 완벽해도 인적 오류가 발생하면 대형 사고로 이어지기 쉽다”고 지적했다. 결국 사람과 SW를 긴밀하게 연결하고 서로 보완해주는 체계를 구축하는 것이 중요하다. 사람은 시스템 SW를 완벽하게 만들도록 노력해야 하지만 스스로 반복훈련을 통해 숙련도를 높이고 오류를 줄이는 것도 필요하다. 한편 시스템 SW는 사람의 실수를 일종의 변수이자 시행착오로 간주하고 그에 대처해 오류를 최소화하는 대비를 해야 한다.
- 임동욱 객원기자
- im.dong.uk@gmail.com
- 저작권자 2015-12-03 ⓒ ScienceTimes
관련기사