메뉴

검색

[기고] 사우디 공공부문 소프트웨어 개발사업에 관하여

기사입력 : 2020-07-03 00:00

오승운 박사 사우디 정보통신부 전자정부프로그램



지난 기고(관련 기사 1)에 이어 사우디 공공부문 소프트웨어 개발사업의 한국과 차이점 및 유의사항에 대해 알아보고자 합니다.

SPRi 보고서(링크)에 따르면 2019년 기준 사우디 소프트웨어 시장 규모는 51억 달러입니다. 이는 세계 27위 수준이며, 한국의 40% 수준입니다. 그러나 MENA(중동 및 북아프리카) 지역에서 사우디는 독보적 1위이고, 가장 공격적으로 ICT 투자를 지속(링크)하고 있습니다. 이러한 상황에서 한국 공공부문 소프트웨어 개발사업 형태와 사우디의 차이점 및 유의사항을 소개하여 향후 우리 기업의 사우디 시장 진출에 도움을 드리고자 합니다.

1. 소프트웨어 개발사업에 필요한 설계도가 명확하지 않을 수 있습니다.

공공부문 정보화 사업절차가 체계적이지 않다는 것은 지난번 기고에서 설명했습니다. 그에 더해 개발사업에 필요한 요구사항 등 소프트웨어 개발에 필요한 설계도가 구체적이지 않을 수 있습니다. 즉, 한국의 공공부문 소프트웨어 개발사업처럼 정보화전략 컨설팅을 통한 명확한 설계도 및 세부 기능요구 사항이 사우디 공공부문 제안요청서에는 포함되지 않을 수 있다는 것입니다. 따라서 사우디에서는 소프트웨어 개발 본사업 이전에 벤더로부터 정보를 수집하는 활동이 공공연하게 시행됩니다. 또한 분명한 요구사항을 사업 이후에 확정짓는 일이 빈번하게 이루어집니다. 건설 및 플랜트 사업과 같은 사우디 정부 방식(관련 기사 2)이 소프트웨어 개발사업에서도 흔히 발생합니다. 사우디가 요구하는 것 이상으로 많은 정보를 제공해도 입찰 경쟁에서의 이점이 없을 수도 있습니다. 또한 제한요청서의 기능 및 비기능 요구사항이 불분명하기 때문에 사업시작 이후 변경된 업무에 대한 추가비용 요청이 매우 힘들고 오랜 시간이 소요됩니다.

2. 소프트웨어 개발사업에 필요한 공식적인 비용산정 방식이 없으며, 부대 비용이 많이 들어갈 수 있습니다.

한국의 공공부문 소프트웨어 개발사업 예산은 SW 사업 대가산정 가이드(링크)에 의해 기능점수 방식으로 산정이 되고 있습니다. 소프트웨어 기획단계의 비용도 표준화된 방식에 의해 계산이 됩니다. 하지만 이는 한국에서만 적용되는 방식이며, 사우디는 한국의 방식을 따르지 않습니다. 비용 산정 표준방식이 없기 때문에 한국방식, 또는 이와 유사한 방식으로 소프트웨어 개발비용을 산정한다면 사업 착수 이후 개발비용과 최초 사업비용의 차이가 클 가능성이 높습니다. 소프트웨어 개발에 필요한 부대비용, 예를 들어 개발 툴, 테스트 도구, 소스코드 보안점검, 형상관리 등에 많은 비용이 소요된다는 점을 사업예산 수립 전에 파악해야만 합니다.

한국의 공공부문에서는 상기 도구 대부분을 공개소프트웨어를 기반으로 사용하고, 테스트 및 보안점검도 사전에 정의된 가이드라인을 준수하면 거의 비용이 들어가지 않을 수도 있습니다.* 그러나 사우디에서는 테스트, 보안 및 성능점검을 위한 표준화된 가이드라인이 부재하고 보안점검의 경우 공공기관에 따라 보안컨설팅 수준의 결과물을 요구할 수도 있습니다. 가령 소프트웨어 개발과는 무관한 WEB, WAS, DBMS 설치 및 기술지원 등도 개발업체가 부담할 수 있으므로 사전에 제안서 및 계약서에 업무범위를 명확히 기술할 필요가 있습니다. 계약서상 업무 범위가 명확하지 않을 시 예상보다 많은 전문 인력, 시간 및 비용이 들어갈 수 있습니다.

* 대부분 전자정부개발 프레임워크 및 공개SW 기반의 이클립스, 형상 및 테스트 도구를 사용하여 비용절감 가능하지만 성능점검 및 보안 점검을 위해 상용도구를 사용할 경우 비용이 추가되기도 함.

3. 폭포수 모델(Waterfall)보다는 애자일(Agile) 개발 프로세스를 추천합니다.

우리나라 공공부문 소프트웨어 개발은 대부분 목포수 모델을 사용하여 요구사항 분석. 설계, 구현, 테스트 및 설치 순서입니다. 폭포수 모델은 결과물이 명확하고 관리가 효율적일 수 있으나, 앞서 언급한 바와 같이 요구사항이 불분명하고 변동이 잦은 상황에서는 위험성이 높습니다. 사우디에서는 요구사항 분석 및 설계 완성 이후 개발에 착수했을지라도 새로운 요구사항이 도출되거나, 심지어 테스트 단계에서 새로운 요구사항이 접수되어 설계 구조부터 바꾸어야 하는 경우가 자주 발생합니다. 요구사항 및 설계 문서를 단계별로 점검하고 수정을 요구하기보다 개발이 90% 이상 완료된 쯤 결과물을 검토하고 수정 및 추가 사항을 요구하는 경우 입니다. 이러한 문제점을 사전에 예방하기 위해서는 전체적인 계획을 수립하되 일정한 주기를 갖고 프로토타입을 만들어 내야 합니다. 따라서 필요할 때마다 요구사항을 더하고 수정해 나가는 애자일(Agile) 방식이 훨씬 더 효율적인 방식일 수 있습니다. 다만 애자일 방식은 기획자, 디자이너, 개발자, 발주기관의 상시 의사소통이 필수라는 점을 유의해야 합니다. 사업을 추진하는 개발자, 디자이너 및 기획자 모두가 스프린트마다 발주기관과 함께 개발 프로세스를 논의하고 수정해야 애자일 방식이 원활히 추진될 수 있습니다.

4. 업무부서에서 시작한 소프트웨어 개발사업이 기술부서와의 협조 부족으로 인해 어려움을 겪을 수 있습니다.

대부분의 소프트웨어 개발사업은 업무부서의 요청에 따라 사업이 시작되고, 그 결과인 개발 소프트웨어 및 이를 운용하기 위한 인프라 장비는 기술부서에서 협조를 받아 설치 및 운영이 이루어집니다. 한국 경우에도 개발 장비가 설치되는 국가정보관리원과 개발부처 인프라팀과의 협조가 어려울 때가 있습니다. 그러나 사우디는 부서 간, 조직 간 칸막이가 한국보다 훨씬 심하다는 점을 명심해야 합니다. 소프트웨어를 설치하기 위한 서버 준비(물리적 서버 설치 및 가상머신(VM)에 의한 자원할당 포함), 앞서 언급한 WEB, WAS, DB 설치 및 환경 세팅, 그리고 방화벽 포트 개방 및 외부 연결을 위한 VPN(가상 사설망) 연결 등 기술부서의 협조가 필수적이나 업무부서의 요청에 의한 기술부서의 대응은 매우 느립니다. 비용 청구에 대한 회신이 매우 느리고, 단계별로 필요한 패키지 소프트웨어 실치가 지연되어 전체 사업에 지연을 일으키는 경우도 있습니다. 경험에 의하면 발주처 제안요청서에 제안자가 제안한 특정 DBMS 설치를 약속했음에도 불구하고 개발부서의 거부로 인해 사업이 지연된 경우도 있었습니다. 또한 서버 준비 및 VPN/방화벽 개방 때문에 몇 개월의 시간이 소요된 경험도 있습니다. 따라서 사업 초기부터 기술부서의 참여를 요청하고, 사업부서와 더불어 기술부서와의 소통을 지속할 필요가 있습니다.

지금까지 4가지의 사우디 공공부문 소프트웨어 개발사업에 관한 한국과의 차이점 및 유의사항을 설명 드렸습니다. 사우디에서는 업무에 필요한 소프트웨어를 개발하기보다 그에 적합한 패키지 소프트웨어를 찾아서 사용하는 것이 더 적합할 수 있다는 점 다시 한번 말씀드립니다.

※ 이 원고는 외부 글로벌 지역전문가가 작성한 정보로 KOTRA의 공식 의견이 아님을 알려드립니다.

호주