[ET단상]SW 제값 받기, 공공SW 분할발주가 답이다

[ET단상]SW 제값 받기, 공공SW 분할발주가 답이다

우리나라 공공 소프트웨어(SW) 사업 성공률은 100%라고 한다. 미국이나 일본에서는 성공률이 30%대에 머물고 있어 한국에 그 비결을 가르쳐 달라고 한다. 실패한 프로젝트가 없으니 더 이상 문제될 것도 없고 개선할 필요도 없다. 그런데도 우리나라에서는 SW 제값을 받을 수 없어 SW업계가 고사 직전이라 한다. 무엇이 문제일까.

정부는 SW 제값 받기 문제 해결을 위해 지난 20여년 동안 200여개 SW 관련 법률, 규정, 가이드를 제·개정하는 등 혼신의 힘을 다했다. 그러나 SW업계에서는 변한 게 없다고 한다. 해묵은 잘못된 SW사업 수·발주 관행이 병이 돼 환자는 죽어가는데 예산 타령, 인력 부족, 시기상조, 한국의 현실 등 이유를 내세우며 치료에는 손을 대지 않는다.

문제 해결을 위해 미래창조과학부가 조달청과 함께 공공 SW 분할발주를 위한 소프트웨어산업법 개정을 추진한다. 늦은 감이 있지만 잘한 일이다. 그렇게도 염원하던 SW 제값 받기가 현실화 될 수 있기 때문이다.

모든 문제는 근본 원인을 제대로 파악해야 해결한다. SW 제값 받기가 정착되지 않는 이유는 SW가 무엇인지 제대로 정의조차 내리지 못한 채 발주가 이뤄지기 때문이다.

거래 대상 SW를 발주자와 개발자가 상호 이해하고 합의를 형성할 수 있는 수준까지 가시화하고 계량화해야 한다. SW는 안 보이는 것이 아니다. 보여 주는 기술이나 능력이 없는 것이다. SW를 가시화·계량화해 건축에서처럼 청사진이나 모델하우스 형태로 발주자에게 보여 줘야 한다.

요건 정의나 기본설계를 가시화·정량화할 수 없으면 해당 SW 개발 사업에 돈이 얼마나 들고 기간이 얼마나 필요한지를 모른다. 사업 내용을 모호하게 발주, 사업 범위를 `발주자가 이제 그만해도 된다고 할 때까지`로 여기는 경우가 많다. SW 개발자를 피눈물 나게 만든 원인이다.

SW산업의 생태계를 바로잡기 위해 모호한 요구 사항을 발주하던 방식에서 벗어나 설계(요건정의·기본설계)와 개발(상세설계·코딩·테스트)로 분할발주해야 한다. 요건 정의, 기본설계로 개발 대상 업무 기능별 일(태스크)과 돈이 일치되는 산출내역서를 작성해 계약 업무 범위를 명확히 한다.

산출내역서를 기본으로 하여 계약하고 개발 업무 추가·삭제 등 변경 관리를 하면 우리가 염원하는 SW 제값 받기가 이뤄진다. 분할발주로 행정 소요 일수가 다소 늘어날 수 있겠지만 가시화, 계량화된 요구 사항이 나오면 개발 일정은 대폭 단축되기 때문에 총 소요 일수는 줄게 된다. 정보시스템 개발은 어째서 실패하는가. 심하게 짧은 납기(개발 기간은 절반으로), 과도하게 저렴한 개발비(비용은 3분의 1로), 지나치게 사용하기 쉬운 시스템 개발이 원인이다.

SW 사업에 대기업, 중소기업을 구분할 것이 아니다. 설계는 건축사처럼 국가자격이 있는 전문가(기술사 등)가 맡고 개발은 개발 전문가가 수행하면 SW 기술자도 살고 SI도 산다.

요건정의서나 기본설계서에 국가기술 자격이 있는 기술사가 확인(서명)하지 않으면 개발하지 못하도록 하는 배타적 권리를 부여하고, 설계 문제가 생겼을 때는 책임을 묻도록 한다. 마찬가지로 개발(구현)에 문제가 있으면 개발자에게 책임을 지게 한다. 책임과 권한을 분명히 하면 고급인력이 SW산업으로 몰려들 것이고, 대학 SW 관련 학과에도 우수 학생이 넘치게 된다.

미국과 일본에서 SW(설계) 전문가 연봉과 직업 만족도가 최상위에 랭크되고 있다. SW산업도 한국 시장에서 벗어나 세계 시장에서 진정한 승부를 걸어야 한다. SW산업도 오늘부터 당장 기본으로 돌아가 기본설계서 작성 기법부터 배워야 한다. SW 중심사회에서 SW 문제로 야기되는 파급 영향은 다른 어떤 것보다 훨씬 클 수밖에 없다.

심기보 KAIST 교수 pmodosa@kaist.ac.kr