문송천 카이스트 경영대학원 교수

정부가 운영하는 정보시스템에 접속했을 때 '서비스 수행 중 데이터베이스 오류가 발생했습니다. 관리자에게 문의하세요'라는 응답을 받았다고 가정해보자. 어떤 느낌이 들까. 여기가 도대체 어느 나라인가라는 생각이 들 것이다.

최근 개통한 차세대 사회보장정보시스템의 각종 복지급여 지급 업무에서 상상하기조차 어려운 오류가 대거 돌출했다. 한달 간 무려 10만건이 넘는 오류가 발생하면서 기초연금 아동수당 등 소외계층에 지급될 지원비가 정상 지급되지 않고 있다. 아동수당 신규 입력이 불가능하거나 수급자가 받아야 할 액수보다 적게 입금되는 경우, 해외 아동에게 돈이 지급되는 경우 등 오류유형도 여러가지다. 혈세 1900억원을 간단히 날려버린 대형참사다. 이런 걸 두고 밑 빠진 독에 물붓기라고 한다.

입금액이나 주거지는 데이터이지 컴퓨터 프로그램이나 하드웨어가 아니다. 문제 원인은 컴퓨터 성능이나 네트워크 성능과 무관한 데이터 오류로 드러난 것이다.

프로젝트에 3개사 연합으로 참여했으나 데이터는 전체통합 절차 없이 참여업체별로 부분통합을 시도한 것으로 드러났다. 새로운 시스템을 위한 데이터 종합 청사진이 애초 설계에서 제외됐다는 뜻이다.

그럼에도 불구하고 정부는 이 문제는 "일부의 문제로 곧 해결될 것"이라고 장담한다. 복지부가 장담하는 근거는 100명 중 1명에 해당하는 오류라는 것이다. 그러나 컴퓨터 세상에서는 1ppm(1 part per million) 이하 원칙이 준용된다. 100만건 중에 데이터 오류가 1건 정도로 매우 적어야 한다는 뜻이다. 그 이상이면 실패로 본다. 정부는 데이터 품질 기준조차 애초부터 엄격하게 정하지 않았으면서도 문제가 터지니까 적당히 땜질처리하고 넘어가겠다는 의중을 밝힌 것이나 다름없다.

1900억 혈세 낭비하고도 땜질처방 연연

3개사에 하청을 받은 중소기업 수는 놀랍게도 53개에 달한다. 절대 있을 수 없는 일이다. 개발인력의 거의 대부분에 해당하는 90%가 중도에 후보선수로 교체됐다는 사실도 밝혀졌다.

초반작업인 데이터설계 철학 정립에 필요한 인력은 없었으며 전원 코딩에만 몰두하도록 투입됐다. 뚜껑을 열어보니 5개 시스템을 하나로 완전통합한 데이터베이스 청사진은 아예 없었고 3개사가 서브시스템을 하나씩 맡아 총 3개의 별개 시스템으로 구성하고 그들을 단순 연계한 것으로 드러났다.

각종 수당이나 연금 등 3개 부처에 걸쳐 있던 복지업무를 통합하겠다고 했으나 무늬만 차세대 통합이지 전체통합이 전혀 되지 않아 품질이 오히려 종전에 못 미치는 실패작으로 결론이 났다. 제대로 통합했다면 민원인 중앙공무원 지자체공무원 가릴 것 없이 누구나 접속해 쓰게끔 하나의 완전체로 설계했어야 한다. 아무리 작은 건축물이라고 해도 설계도면이 따로따로 나와서는 안되며 전체 설계도면이 하나로 나온 후 진행해야 한다는 사실을 망각한 처사다.

이런 상황에서는 데이터설계 부분과 코딩 부분이 구분되지 못하고 얽히고 설켜 편법이 난무했을 것이다. 쉽게 이해하려면 이렇다. 전국 도로교통지도처럼 데이터지도가 하나로 통합되어 데이터들이 자동차처럼 도로를 주행할 수 있게 해야 하는데 그게 없어 엉뚱한 길로 들어서는 경우가 많았다는 얘기다.

이보다 큰 시스템도 개통 전 시험에는 보통 3개월이면 충분한데 잇단 테스트로 인해 공기가 예정보다 10개월 지연된 점은 결국 총체적 설계 부실의 또 다른 증거다. 따라서 유일한 해법은 이쯤에서 시스템을 전면 폐기하고 처음부터 데이터를 완전통합해 새로 설계하는 길뿐이다. 데이터설계 졸속으로 실패한 경우에는 땜질처방으로는 원천 해결이 불가능하기 때문이다.

언론에서는 일정 촉박을 가장 문제시했다. 그러나 3년도 짧단 말인가. 전사 데이터설계부터 제대로 한다면 이런 수준의 일은 1년 내에 끝내는 게 정상이다. 피상적 해석일 뿐으로 데이터설계 실패라는 핵심을 짚지 못했다.

설계기본 무시하면 대형사고 뒤따라

답은 언제나 정확해야 하고 반드시 3초 내에 결과가 나와야 한다는 점은 컴퓨터 세계에서는 기본 중에 기본에 속한다. 그게 지켜지려면 설계에 충실해야 한다. 그렇지 않을 경우 시스템 품질저하로 인해 대형사고가 터져 문제가 시스템 외부로 노출될 수밖에 없다. 이번처럼 치부가 적나라하게 드러난 건 불행 중 다행이다. 설계기본이 무시되면 대형참사가 뒤따른다는 사실을 가르쳐 줬기 때문이다.

국회를 통해 입수한 자료를 보니 애초부터 통합은 없었고 따라서 분절된 데이터설계로 출발했다는 결정적 증거가 무수했다. 그렇다면 의도적으로 통합을 제외시킨 걸까. 혹시 법령미비 등의 사소한 이유가 핑계라면 그건 범죄에 해당한다. 그렇다면 '차세대'라는 표제도 붙이지 말았어야 한다. 통합이 외면당한 바로 그 지점에서 대형사고는 시한폭탄처럼 터질 날을 기다리며 도사리고 있는 것이다.

문송천 카이스트 교수