공공기관의 차세대 IT 프로젝트가 실패하는 이유

sig03
5 min readNov 12, 2022

--

몇 년전, 이전 회사에서 있었던 일이다. 갑자기 외근이 잡혔다. 공공 기관에 제품을 납품했는데 연동을 지원하는 일이었다. 외근 당일 근처에서 대기하다 기술팀 인원을 만나 같이 이동했다. 건물에 도착했는데 작업 장소가 지하 1층이란다. 쎄한 느낌이 들었다. 기술팀 인원의 설명을 들어보니 현재 해당 공공 기관의 차세대 시스템을 개발중이고 거기에 우리 제품이 들어가게 되었다. 대기업 SI 업체가 전체 프로젝트를 총괄하고 각종 하청 업체들이 시스템을 만들고 있었다. 웃긴건 차세대 시스템이라면서 1년째 개발을 하고 있다는 것이다. 지하 1층 작업장에 들어가니 끔찍한 광경이 펼쳐져 있었다.

인종의 도가니탕? 남녀노소 수많은 사람이 컴퓨터 앞에 앉아 작업을 하고 있었다. 지하라 환기가 안 돼 공기는 탁했고 분위기는 무겁게 축 쳐져 있었다. 소리없는 아비규환. 끔찍하다는 생각 뿐이었다. 내가 지원해야 할 작업은 간단했다. 그럼에도 완료하는데 30분 정도 걸렸다. 잠깐 앉아 있는데도 머리가 지끈거렸다. 지하에 산소가 부족한 것 같았다. 작업을 끝내자마자 1층 로비로 도망치듯 빠져 나왔다. 붉은색 LED로 물들어 애처롭게 돌아가던 LG 공기청정기가 프로젝트의 분위기를 말해주는 듯 했다.

아래 기사를 보자마자 그때가 떠 올랐다. 공공기관이 발주를 하고 대기업 SI 업체가 맡아서 구축하는 차세대 SI 시스템은 잘 될 수가 없다. 이유는 이렇다.

https://newsis.com/view/?id=NISX20221107_0002076665&cID=10201&pID=10200
https://zdnet.co.kr/view/?no=20221102183010

1.
기본적으로 SI 프로젝트는 하청에 하청이다. 대기업이 수주하지만 대기업 개발 인력은 별로 없고 관리가 주 업무다. 그들이 하위 SI 업체들에게 하청을 줘서 각 부분을 작업하게 만든다.
마치 건설 업체들이나 자동차 업체들이 하청에 하청을 주는 것과 똑같은 구조이다. 대기업의 개발 인력들이 처음부터 끝까지 만든다면 훨씬 잘 만들 것 이다. 그러나 하청에 하청은 퀄리티를 보장할 수 없는 잡종의 결과물을 만들어 낸다. 하청 업체들은 내 것을 만드는게 아니므로 좋은 소프트웨어를 만든다기 보다 문제 없게 보여지는 소프트웨어를 만드려고 한다. 그런 결과물들이 한 곳에 붙어서 동작하려고하니 잘 되지 않는다.

2.
건축이나 자동차 같은 업체들도 하청을 주지만 그들은 대부분 비슷한 제품을 만든다. 그러나 SW는 매번 다르다. 이전에 만들었던걸 그대로 쓸 수 없고 항상 새로운 걸 만들어야 한다. 큰 틀이야 비슷할 수 있지만 세부는 다르다. 만들때마다 요구사항이 달라지니 품질도 매번 달라진다. 이전에 만들었고 문제를 해결해서 안정된 제품을 그대로 쓰면 좋으련만 세상에 없는 새로운 걸 만들어야 하고 새로운 건 또 경험해보지 못한 장애를 생산하고…

3.
대형 SI 프로젝트는 갑질의 연속이다. 원청 업체가 대기업 SI에 갑질을 하고 대기업 SI가 하청 준 업체에 갑질하고 내리갑질의 연속이다. 무리한 요구, 빠듯한 일정, 최초 설계의 변경을 요구하는 내용들이 끊임없이 이어진다. 기사에도 343명중 300명이 퇴사했다는데 위에서 얼마나 개같이 굴렸을지 보지 않아도 알 수 있다.

4.
개발에서 최초 설계가 매우 중요하다. 최초 설계를 기반으로 살을 붙여 나가야 하는데 SI 개발은 설계 변경을 쉽게 생각한다. 보통 개발에 무지한 윗쪽 사람들이 설계 변경을 요구하는데 심하면 처음부터 다시 만들어야 하는 경우도 생긴다. 그러나 시키는대로 했다간 일정에 문제가 생기니 각종 꼼수로 일단 돌아가게 만든다. 그렇게 무리하게 만들어진 부분들이 서비스 오픈하면 장애로 빵빵 터지는 것이다.

5.
거대한 시스템을 한 번에 만들어서 한 번에 오픈하는 일은 네이버, 카카오 같은 IT 잘하는 회사들도 쉽지 않다. 눈에 보이지 않는 것을 만드는 것이라 어디가 문제가 되는지 잘 보이지 않는다. 사용하면서 문제를 찾아야 하는데 규모가 작은 시스템도 오류가 잦고 찾기 힘든데 크고 거대한 시스템이 아무 문제없이 잘 돌아가길 바라는 것 부터가 말이 안 된다.

6.
항상 저런 프로젝트에 차세대라는 단어가 붙는데 용어 부터가 문제다. 차세대가 붙으면 완전히 새로워야 할 것 같고 거대해야 할 것 같고 모든 기능이 다 붙어있어야 할 것 같은 느낌이 든다. 프로젝트의 용어부터 쉽지 않을 것 같다는 느낌을 주고 일하는 사람들도 그런 느낌을 받는다. 느낌처럼 실제도 쉽지 않게 흘러간다.

7.
유지 보수가 어렵다. 프로젝트 요소마다 개발사가 제각각이라 유지 보수 요청이나 지원이 일정치 않다. 또 어느 부분에서 문제가 생기면 책임 요소를 찾기가 어렵다. 개발사들은 서로 책임 떠넘기기에 바쁘다. 그래서 SW에 문제가 생기면 정상화 시키는데 오랜 시간이 소요된다.

8.
개발자들은 SI를 싫어한다. 위와 같은 이유 때문이다. 갑질, 낮은 연봉, 성장을 기대할 수 없는 분위기, 빡빡한 일정, 과도한 업무 등. 그래서 좋은 개발자들은 SI를 안가려 하고 좋은 개발자라면 SI에 남아있지 않는다. 좋은 개발자가 없는데 좋은 품질의 SW가 만들어질 수 없다.

9.
원청 업체의 SW에 대한 무지도 큰 역할을 한다. 건축을 모르고 자동차를 모르는 사람이 아파트는 이렇게 짓고 전기차는 이렇게 만들라고 지시하는 건 말이 안 된다고 생각한다. 그런데 IT에서 그런 일은 말이 안된다고 생각하지 않는다. 눈에 안 보이고 사람의 생명을 위협하는게 아니라서 그렇게들 생각하는건가? IT에 대해 아무것도 모르는 사람이 만들라고 지시하는 것 부터가 웃기는 일이고, 그런 무지한 사람이 공기도 안 통하는 지하 1층에 작업장을 마련하는 짓거리를 하는 것이다.

--

--

sig03
sig03

Responses (1)