[프라임경제] 플랫폼, 모바일 앱이나 ERP, CRM 같은 업무시스템, SaaS 솔루션에 이르기까지 소프트웨어는 기업 경쟁력의 중요한 요소이다. 그만큼 소프트웨어 개발 계약을 둘러싼 분쟁도 끊이지 않고, 분쟁 해결을 위한 고려 요소들도 다양하다.
우선 소프트웨어 개발 계약은 일반적으로 발주자의 요청사항이 반영된, 발주자 맞춤형 결과물을 산출해 내는 것을 목적으로 하므로 도급계약(민법 제664조)의 성질을 가진다고 봐야한다.
도급계약은 일방이 '일의 완성'을 약속하고, 상대방이 그 결과에 대해 보수를 지급하기로 하는 계약이다. 따라서 계약서 작성 단계에서 가장 핵심적인 사항은 산출물의 정의와 과업 범위를 얼마나 구체적으로 기재했는지 여부이다.
예를 들어 과업범위는 준비 단계, 발주자의 요청 분석 단계, 프로토타입 등의 설계 단계, 개발 및 활성화 단계, 데이터 설정 및 시스템 배포 등 구축 단계, 실제 운용을 준비하고 지원하는 활용 단계 등 업무수행 단계를 최대한 구체적으로 나누고 각 단계별로 수행해야 할 사항을 자세히 기술해 둘 필요가 있다.
수급인은 과업의 변경이나 추가사항이 있으면 이메일이나 서면으로 근거를 명확하게 해 두고, 작업 로그, 이슈 리포트, 테스트 결과나 관련 회의록 등 개발 업무 수행과 관련된 자료들도 전부 보관해두는 것이 적절하다.
산출물과 관련해서는 개발할 소프트웨어의 기능, 제약조건이나 성능 목표를 정확히 정의한 소프트웨어 요구사항 명세서(Software Requirements Specification, SRS) 등을 작성해 두는 것이 좋다. SRS는 이후 진행되는 소프트웨어 개발과 테스팅 완료 승인에 대한 기준으로도 사용되며, 포함되어야 할 사항에 관해는 국제적으로 널리 참조되는 IEEE 표준을 참고할 수 있다.
소프트웨어 개발계약 관련 분쟁은 개발 도중 발주자의 요구로 설계 확정이 지연되거나 개발 범위가 추가·변경되고, 이에 수급인이 애초 합의한 금액에 더해 추가 비용을 청구하면서 발생하는 경우가 많다.
따라서 계약서에서도 비용과 관련된 사항, 특히 추가 비용청구를 허용할 것인지, 어떠한 경우에 가능한지 등을 명확하게 기재해 놓아야 한다. 기간이 긴 경우 수급인도 각 과업 달성이나 검수 단계별로 대금을 지급받는 구조를 활용할 수 있다.
ERP 시스템 구축 등 시스템 통합(System Integration, SI) 사업의 경우 통상 Fit-gap 분석(현재 비즈니스 상태(as-is)와 발주자의 요구사항을 비교 분석해 시스템의 기본 사항만으로 요구사항이 충족되는 부분(Fit), 추가 개발 등이 필요한 부분(Gap)을 파악하는 과정)이 이루어지는데, 만약 개발비용 총액이 사전에 확정된 계약이라면 수급인으로서는 프로젝트의 공수(m/m) 산정을 위해 Fit-gap 분석을 통해 커스터마이징 및 개발 등이 필요한 발주자의 요청사항을 자세히 파악하고 합의할 필요가 있다.
이 외에도 산출물 지식재산권 관련 규정, 소스코드를 제공하는지 여부 등도 중요한 고려사항이고, 이는 프로젝트 수행 구조, 수급인이 기존 기술 자산을 어느정도 사용하는지, 소프트웨어 운영, 유지보수나 고도화 담당 주체는 누구인지 및 그 기간, 이에 필요한 기술이나 권리는 무엇인지 등 개별적인 프로젝트의 사정을 고려해 계약 체결 전 충분한 사전 협의가 필요한 사항이다.
소프트웨어 개발 계약과 관련된 분쟁은 어느 한쪽의 일방적인 승리로 끝나는 경우는 드물고, 특히 결과물이 무형물이므로 완성 여부나 진척도를 외부에서 파악하기도 어려워 분쟁의 해결 자체도 쉽지가 않다. 소프트웨어 개발은 단지 기술 프로젝트가 아닌, 개인정보나 영업비밀, 지식재산권 및 계약법 등 수많은 요소가 결합하는 업무라는 점을 염두해 두고 사전에 계약서 작성 과정에 면밀한 주의를 기울여야 한다.

강송욱 법무법인 디엘지 변호사
고려대학교 법학과 졸업 / 중앙대학교 법학전문대학원 졸업
--comment--
첫 번째 댓글을 작성해 보세요.
댓글 바로가기