최근 한 보험사에서 퇴근 시간에 즈음해 작은 실랑이가 있었다. 시스템 개발을 완료한 K정보통신과 보험사 J부장 사이에 벌어진 일이었다. K정보통신은 “시스템 구축이 끝나 인력을 철수시키겠다며 인사하러 왔다”고 하자 J부장은 “무슨 소리냐”며 “운영할 수 있는 상태가 돼야 구축이 완료된 것이다”며 한사코 인사 받기를 거부하고 있었다. 이날의 논란은 결국 시스템을 수정할 수 있는 인력 2명을 남겨놓고 철수한다는 선에서 합의가 이뤄졌다.
구축의 사전적인 의미는 ‘큰 구조물이나 진지를 쌓아올려 만듦’이다. 사전적인 의미에만 충실하면 프로그램을 쌓아올려 시스템의 형태를 만들었으니 구축이 완료된 것이라고 볼 수도 있다.
그러나 IT에서 시스템의 형태를 ‘구축’한 것은 그 자체로서는 아무런 의미가 없다. 사용자 입장에서 구축의 목적은 ‘사용’에 있다. 사용을 할 수 있는 형태로 시스템의 모습이 완료돼야 구축이 끝난 것이다.
사용자와 공급자 사이에 대한 구축에 대한 상이한 시각은 이미 오래된 논란이다. 지난해 말 ‘공공사업 대가 기준안 마련을 위한 공청회’에서는 구축과 유지·보수의 기준을 두고 30여 분간 치열한 설전이 벌어지기도 했다. 공청회에서는 사용할 수 있는 IT 시스템이 무엇인가를 정하기 위해 IT 업체와 공공기관 사용자들은 각자 나름의 입장을 주장했다. 어디까지가 구축이고 어디까지가 유지·보수인가에 대한 치열한 논란 끝에 내린 결론은 이후 ‘지속적인 연구’를 하기로 하고 마무리됐다.
IT 시스템에서는 사용 속에서만 구축이 의미를 갖는다. 그럼에도 불구하고 개발이 끝났으니 구축을 ‘완료’했다고 한다면 얼마나 설득력을 갖게 될까? 적어도 사용할 수 있어야 구축이 끝났다고 볼 수 있는 것이 아닐까?
IT 시스템은 씽크대나 가구와도 다르다. 씽크대나 가구는 설치가 끝나면 바로 사용할 수 있지만 시스템은 설치가 끝나도 사용하기까지 시간이 걸린다. 정보화 선진국이라고 불리는 국내에서 아직도 이런 일이 벌어진다는 것은 납득하기 어렵다.
SI업체는 어차피 개발이 끝난 시점에서 오류에 대한 책임은 고객의 몫이고, 제 때 비용만 지불된다면 가능한 빨리 일을 끝내는 것이 좋다고 여기고 있는 듯 하다.
선진 시스템을 들여와 사용해 ‘테스트베드’라고 불릴 정도고 SI 업체에 의한 아웃소싱 역사도 20년을 넘겼다. 적어도 구축에 대한 의미는 정확히 알아야 할 시점이다.
이번 달 말까지 시스템 안정화 작업을 끝내야하는 부장은 끝내 K정보통신 인력의 뒷모습을 씁쓸하게 바라볼 수밖에 없었다.
송주영 기자 jysong@fntimes.com