안녕하세요, 법무법인 청출 오승현 변호사입니다.
"개발비를 수억 원 지급했는데, 납기일이 지났습니다. 화면에는 띄워 주는데 기능이 제대로 동작하지 않습니다. 실제로 사용해보니 오류 투성이고, 경쟁 프로그램이 훨씬 낫다는 말이 나옵니다. 그런데 개발사는 자기들은 다 만들었다고 합니다." 최근 AI 프로그램·LLM 기반 서비스·업무 자동화 시스템 등 소프트웨어 외주 개발 계약이 급증하면서, 개발사가 계약에서 정한 사양(spec)을 충족하지 못한 채 대금만 수령하고 이행을 게을리하는 분쟁이 늘어나고 있습니다.
이런 사건에서 가장 먼저 부딪히는 질문이 두 가지입니다. 첫째, 개발사는 "우리가 만들었다"고 하는데 법적으로 ‘완성’이란 무엇인가. 둘째, 법원이 IT 전문가에게 감정을 맡기면 어떻게 되는가. 두 질문 모두, 답을 잘못 이해하면 수억 원을 날릴 수 있습니다.
소프트웨어 도급에서 "완성"이란 무엇인가
(1) 기능이 일부 동작한다고 완성이 아니다
민법상 도급 계약에서 수급인(개발사)이 완성한 목적물을 도급인(발주사)에게 인도해야 대금지급의무가 발생합니다. 소프트웨어 개발 계약에서 목적물의 "완성"은 계약서에서 정한 사양(정의서·요구명세서)을 충족하여 도급인이 목적한 용도에 실제로 사용할 수 있는 상태여야 합니다. 개발사가 서버를 운영하고 있고 화면을 보여줄 수 있다는 사실만으로는 완성이 아닙니다. 오류 없이 계약서상 모든 기능이 정상 동작해야 합니다.
(2) 대법원: 완성의 판단은 도급인의 검수 승인이 있어야
대법원은 2023년 판결에서 소프트웨어 도급 계약상 목적물의 "인도"는 단순히 파일이나 접근권한을 넘겨주는 물리적 행위로 끝나지 않는다고 명시했습니다. 도급인이 목적물을 검사한 후 계약 내용대로 완성되었음을 명시적 또는 묵시적으로 시인(승인)하는 것까지 포함한다는 것입니다(대법원 2023. 3. 30. 선고 2022다289174 판결). 달리 말하면, 발주사가 검수확인서에 서명하지 않았거나 납품에 이의를 제기한 상황에서는 인도가 완료되지 않은 것이고, 이행지체 상태가 지속되는 것입니다.
따라서 개발 계약서에 "발주사가 검수확인서에 서명·날인한 날을 검수완료일로 한다"는 조항이 있다면, 그 서명이 없는 한 완성 자체가 인정되지 않습니다. 개발사가 아무리 "기능이 구현됐다"고 주장해도, 발주사가 검수를 거부하거나 오류를 계속 지적하는 상황이라면 완성을 주장하기 어렵습니다.
계약 해제는 언제 가능한가
(1) 이행지체를 이유로 한 해제 — 납기 도과 후 최고 필요
계약서에 납기일(개발기한)이 명시된 경우, 그 기한이 지났는데도 개발사가 완성 납품을 하지 않으면 이행지체가 됩니다. 발주사는 상당한 기간을 정하여 이행을 최고(催告)하고, 그 기간 내에도 이행이 없으면 계약을 해제할 수 있습니다(민법 제544조). 실무적으로는 내용증명우편으로 "○○일 내에 사양을 충족하는 완성품을 납품하지 않으면 계약을 해제한다"는 최고를 보내는 방법이 일반적입니다.
(2) 이행거절을 이유로 한 해제 — 최고 없이 즉시 가능
개발사가 이행할 의사나 능력이 없음을 명백히 표시한 경우에는 별도의 최고 없이 즉시 계약을 해제할 수 있습니다(민법 제544조 단서 유추적용, 대법원 판례). 개발사가 분쟁조정기관에 "발주사가 대금을 지급하지 않는다"며 오히려 조정신청을 하는 행위, 발주사의 내용증명에 아무런 응답 없이 15일 이상을 도과하는 행위 등이 이행거절의 표시로 인정될 수 있습니다. 이행거절이 인정되면 발주사는 납기일 도과와 상관없이 바로 해제 통보를 할 수 있습니다.
IT 개발 분쟁에서 감정은 어떻게 이루어지는가
(1) 완성도 % 감정 — 함정을 주의해야 합니다
소프트웨어 개발 분쟁에서 법원이 IT 전문가 감정인에게 "이 프로그램의 완성도가 몇 %인가"를 물어보는 경우가 있습니다. 이 감정 방식에는 큰 함정이 있습니다. 개발사 측은 "완성도가 80%이니 그에 비례하여 일부 대금을 반환하면 된다"고 주장합니다. 하지만 이것은 잘못된 논리입니다. 소프트웨어는 공사처럼 물리적으로 기성(旣成) 부분을 분리할 수 없는 성격이 있고, 계약에서 정한 완성 기준에 미달한 이상 미완성 상태입니다. 미완성 소프트웨어는 발주사에게 인도된 것이 아닙니다.
(2) 핵심 판례: 완성도 61%에도 개발비 전액 반환 (서울중앙지법 2017가합560201)
이 점을 정면으로 다룬 중요한 판례가 있습니다. 서울중앙지방법원은 소프트웨어 개발 위탁 도급 사건에서 법원이 선임한 IT 감정인이 해당 프로그램의 완성도를 61%로 평가했음에도, 계약상 완성 요건인 발주사의 검사 및 승인이 이루어지지 않았다는 이유로 계약이 해제되고 수령한 개발비 전액 반환을 명했습니다(서울중앙지방법원 2019. 10. 18. 선고 2017가합560201 판결). 즉, 감정인이 61%를 만들었다고 평가해도, 그것이 계약상 완성 요건을 충족하지 못하면 발주사가 대금 전액을 돌려받을 수 있다는 것입니다. 완성도 %에 따른 비례 반환이 아니라 전액 반환입니다.
(3) 감정 대상 설정이 핵심 — 완성도보다 "동일성" 감정이 중요할 수 있다
개발사가 발주사의 프로그램을 무단으로 제3자에게 판매하거나 유사 서비스로 재사용한 정황이 있는 경우에는, "완성도 % 감정"보다 두 프로그램의 동일성 감정이 훨씬 중요해집니다. 발주사 의뢰로 개발한 프로그램의 소스코드·데이터베이스·핵심 알고리즘이 개발사의 다른 제품과 실질적으로 동일하다면, 이는 계약 위반이자 저작권 침해에 해당할 수 있습니다. 동일성 감정은 두 시스템의 소스코드와 형상관리 이력(Git 커밋 로그 등)을 비교하는 방식으로 이루어집니다.
(4) 감정 신청과 비용 부담은 누가 해야 하는가
완성 및 인도의 입증책임은 완성했다고 주장하는 개발사(수급인)에게 있습니다(대법원 2015. 6. 24. 선고 2014다36702·36719 판결). 따라서 법원에 IT 감정을 신청하고 감정료를 예납해야 하는 쪽은 원칙적으로 개발사입니다. 발주사가 먼저 감정을 신청할 의무나 실익은 없습니다. 특히 소스코드와 시스템이 개발사 서버 내부에만 있는 경우(발주사에게 인도된 산출물 자체가 없는 경우)에는, 발주사로서는 감정 대상물이 없어 감정을 신청할 수조차 없는 구조입니다. 이 경우 문서제출명령을 통해 법원이 소스코드·형상관리 이력 등의 제출을 명해야 감정이 비로소 가능해집니다.
문서제출명령 — 감정 전에 반드시 선행되어야 할 절차
개발사(피고)가 소스코드, 형상관리 저장소(Git·SVN 등), 버그 리포트, 시험 결과서 등을 제출하지 않는 경우, 발주사는 법원에 문서제출명령신청을 할 수 있습니다(민사소송법 제347조). 법원이 문서제출명령을 내렸는데 개발사가 이를 따르지 않으면, 법원은 발주사의 주장을 사실로 인정할 수 있습니다(민사소송법 제349조). 특히 형상관리 이력에는 각 소스코드 변경의 일시·작성자·내용이 담겨 있어, "개발기한 도과 당시 실제로 어느 수준까지 개발됐는가"를 객관적으로 확인할 수 있는 핵심 자료가 됩니다.
실무상 체크포인트
계약서에 "검수 완료일은 발주사가 검수확인서에 서명·날인한 날로 한다"는 조항이 있다면, 서명하지 않는 한 완성이 법적으로 인정되지 않습니다. 개발사가 "우리는 완성했다"고 아무리 주장해도 이 조항이 방패가 됩니다.
테스트 과정에서 발견한 오류·불량은 반드시 기록으로 남겨야 합니다. 카카오톡 채팅방, 이메일, 공식 피드백 시스템 등 어떤 형태든 날짜와 오류 내용이 남아있어야 나중에 증거로 사용할 수 있습니다. 구두로만 항의한 것은 입증이 어렵습니다.
개발사가 납기일을 지나도 완성품을 납품하지 않으면, 즉시 내용증명으로 "○일 내 납품하지 않으면 계약 해제"를 통보하세요. 감정이나 소송 단계에서 이 내용증명의 유무가 해제의 적법성을 좌우합니다.
"감정 결과 완성도가 61%이니 39%만 반환하면 된다"는 개발사의 주장을 조심하세요. 도급인의 검수 승인이 없는 한 미완성이고, 완성도 비율에 따라 비례 반환하는 것이 원칙이 아닙니다(서울중앙지방법원 2019. 10. 18. 선고 2017가합560201 판결).
개발사가 발주사 의뢰로 만든 프로그램을 제3자에게 몰래 판매하거나 유사 서비스로 재사용하는 정황이 있다면, 이는 계약 위반이자 저작권 침해로 별도 청구가 가능합니다. 이 경우 두 프로그램의 동일성 감정을 진행하고, 개발사 내부 계약서·영업 자료·통화 기록 등을 증거로 확보하세요.
개발사가 소스코드를 제출하지 않는다면 법원에 문서제출명령을 신청하세요. 개발사가 법원 명령을 이행하지 않으면 발주사 주장이 사실로 인정될 수 있습니다. 소스코드·형상관리 이력 제출 거부 자체가 불리한 추론의 근거가 됩니다.
AI·LLM 기반 소프트웨어는 기능 구현 여부 외에 데이터 학습 완성도, API 연동 정확성, 응답 정확률 등 계약서상 특수 기준이 있는 경우가 많습니다. 계약서의 정의서·요구명세서에 명시된 기준 하나하나를 체크리스트로 만들어 미충족 항목을 정리해 두면 소송에서 큰 도움이 됩니다.
"직접 보여드릴 수 있습니다. 로그인해 보시겠어요?" 개발사가 이렇게 말할 때, 화면만 뜨면 완성처럼 느껴집니다. 그러나 법은 다르게 봅니다. 발주사가 납득하고 서명한 검수확인서가 없다면, 화면이 열려도 완성이 아닙니다. 수억 원의 개발비를 지급했는데 계약에서 약속한 기능이 구현되지 않았다면, 감정 결과가 어떻게 나오든 전액 반환을 받을 수 있는 법적 구조가 있습니다.
법무법인 청출은 국내 5대 대형로펌인 김앤장, 광장, 태평양, 세종, 율촌과 검찰, 대기업 법무팀 출신의 변호사들로만 이루어져 있고, 한 명의 변호사가 아닌 사건과 관련된 분야의 전문 변호사들이 팀을 구성하여 대응합니다. 청출은 특정 쟁점만 해결하는 것을 넘어 사업 전반에 대한 종합 솔루션을 제공하여, 궁극적으로 고객이 원하는 바를 이루는 것에 초점을 맞추는 법률 컨설팅을 제공하고 있습니다. 목표 달성에 도움이 필요하시다면, 주저없이 청출에 문의주시기 바랍니다.
함께 보면 좋은 관련 업무 사례



