황인수 M&M솔루션 고문 insoohwg@naver.com
정보시스템이 구축되려면 보통 세 번의 사이클이 돌아야 한다. 처음은 사용자를 위한 논리적 모델을 만들기 위해 분석 사이클을 돌고, 다음은 개발자를 위한 시스템 사양을 만들기 위해 설계 사이클을 돌며, 최종은 실제 돌아가는 시스템을 만들기 위해 구축 사이클을 돈다. 각각을 우리는 분석, 설계, 구축으로 구분하고, 이를 합해 정보시스템 개발 생명주기라 부른다.
![[ET단상] 소프트웨어사업 분할발주 필요성](https://img.etnews.com/photonews/1204/261629_20120402195922_200_0001.jpg)
최종 시스템이 나오기까지 세 번의 사이클을 돌 필요가 있는가. 한 번만 돌고서도 시스템을 완성하려면 구축 사이클은 피할 수가 없을 것이다. 분석과 설계 사이클은 대충 돌아도 넘어갈 수 있으나, 아무리 짧은 납기에 쫓긴다 하더라도 구축 사이클만은 절대로 대충 넘어갈 수가 없다.
이것이 바로 개발자 부담이 가중될 수밖에 없는 이유이고, 단기간에 저가 개발로 고질화된 우리나라 소프트웨어(SW) 시장이 개발자를 죽일 수 밖에 없는 구조적 문제가 바로 여기에 있는 것이다.
개발자를 살리려면 최소한 설계자 역할이 살아나야 하고, 더 나아가 분석자 역할도 살아나야 한다. 분석자 역할이 살아나면 사용자 요구사항을 조기에 확정, 개발 중 요구사항 변경을 최소화 할 수 있고, 설계자의 역할이 살아나면 개발자의 시행착오와 개발 오류가 획기적으로 줄어들게 된다.
지금의 개발자가 지고 있는 부담을 분석자와 설계자가 이렇게 나누어 진다면, 소프트웨어 개발이 3D 업종이라는 누명에서 벗어날 수 있는 길이 열려 소프트웨어공학도 살아나게 될 것이다. 그렇다면 어떻게 해야 분석자와 설계자의 역할이 살아나게 할 수 있을까.
분석(기획)자와 설계자(엔지니어)의 역할이 살아나게 하는 방법은 그들의 산출물이 가치를 인정을 받을 수 있도록 수〃발주 제도를 바꾸는 수 밖에 없다. 지금의 정보화전략계획(ISP) 수립 사업 또는 입찰제안요청서(RFP) 사업에 이은 시스템 통합사업의 구도로는 요구사항 정의도 명확히 해주지 못하는 어설픈 컨설턴트와 불명확한 요구사항에 기초한 개발로 무한 반복 수정을 해야 하는 소모품에 불과한 개발자들만 양산할 뿐이다.
개발자 죽이기를 언제까지 계속할 것인가. 소프트웨어공학 살리기를 정말 포기할 것인가. 이렇게 된 데는 재벌대기업의 시장 독점과 이를 수수방관하거나 조장해 온 정부의 책임이 크다. 지금부터라도 시장에서 업종전문가로서의 분석자와 기술전문가로서의 설계자인 아키텍트를 필요로 하는 발주제도를 만들어야 한다.
현행의 제도로는 가치가 아닌 비용 취급을 받는 싸구려 컨설턴트와 최저임금을 지향하는 비정규직 개발 노무자들만 양산하게 되어, 정부의 고급 소프트웨어 인력 양성정책을 깡그리 무시하는 시장환경이 계속될 수밖에 없을 것이다.
그렇다고 최근에 의무화된 하드웨어나 패키지 솔루션을 별도로 발주하는 분리발주가 문제의 해답도 아니다. 문제의 해답은 분석자와 설계자에게 명확한 역할을 부여해 줄 수 있는 분할발주 제도의 도입에 있다. 분할발주야말로 대기업 참여제한이나 순환출자제한기업 참여 불가로 초래될 공공시장의 공백을 메워줄 수 있는 유일한 방법이 아닌가 생각한다.