“소프트웨어 개발업체가 계약기간 내에 프로그램을 완성하지 못해서 계약을 해제했는데, 이미 지급한 용역대금을 전부 돌려받을 수 있을까요?” 소프트웨어 개발계약 해제 분쟁
LMS(학습관리시스템) 프로그램 개발계약을 둘러싼 본소·반소 사건에서, 수급인의 채무불이행으로 계약이 적법하게 해제되었음에도 도급인의 원상회복청구를 기각하고 오히려 도급인에게 기성고에 따른 추가 용역대금 지급을 명하였습니다(서울남부지방법원 2025. 2. 13. 선고 2022가단290499(본소), 2024가단316548(반소) 판결). 계약 해제와 원상회복이라는 일반적인 도식이 이 사건에서 왜 다르게 적용되었는지, 지금부터 핵심 쟁점을 하나씩 살펴보겠습니다.
이 글을 끝까지 읽으시면 다음 정보를 얻으실 수 있습니다.
① 소프트웨어 개발계약이 수급인의 채무불이행으로 해제되더라도 도급인이 기지급한 용역대금 전액을 돌려받지 못하는 이유
② 건축도급계약의 미완성부분 해제 법리가 소프트웨어 개발공급계약에도 그대로 적용되는 근거
③ 완성도 감정 결과가 여러 개로 나올 때 법원이 어느 것을 채택하는 기준
④ 완성도와 기성고가 어떻게 연결되며, 기성고에 따른 용역대금은 어떻게 산정되는지
⑤ 지체상금 청구가 배척된 이유와 도급인의 협조의무 위반이 미치는 영향

1. 사실관계 요약 — 당사자가 직면한 위기
가. 사건의 경위
원고는 소프트웨어 개발업체인 피고와 2020. 12. 19. LMS 프로그램 개발을 위한 용역계약을 체결하였습니다. 계약금액은 200,000,000원(부가가치세 별도)이었고, 계약기간은 2020. 11. 2.부터 2021. 4. 30.까지였습니다. 원고는 계약 체결에 따라 선급금 66,000,000원과 중도금 66,000,000원, 합계 132,000,000원을 지급하였습니다.
그런데 피고가 계약기간 내에 발주품을 납품하지 못하자, 원고는 2022. 7. 29. 2022. 8. 30.까지 개발완료 및 공급을 최고하면서 이를 이행하지 않으면 계약을 해제하겠다는 내용증명우편을 발송하였습니다. 피고는 위 기한을 넘긴 2022. 8. 31.에야 산출물을 납품하였고, 원고는 2022. 10. 11. 채무불이행을 이유로 계약을 해제하고 원상회복으로 기지급 용역대금의 반환을 구하는 내용증명우편을 발송하였습니다. 이에 원고는 본소로 원상회복 및 지체상금을 청구하였고, 피고는 반소로 기성고에 따른 미지급 용역대금을 청구하였습니다.
나. 당사자들이 직면한 위기
| 구분 | 내용 |
|---|---|
| 원고의 위기 | 계약기간을 훨씬 초과하여 산출물이 납품되었고 하자도 다수 존재하는 상황에서, 계약을 해제하고 기지급한 132,000,000원 전액을 돌려받아야 하는 상황 |
| 피고의 위기 | 계약 해제를 통보받은 상태에서 이미 상당한 개발 작업을 완료하였음에도 그 대가를 전혀 인정받지 못하고 원상회복 의무만 부담할 위험에 처한 상황 |
| 핵심 쟁점 | 이 사건 계약이 적법하게 해제되었는지, 해제되었다면 미완성부분에 한하여만 실효되는 것인지, 이 사건 산출물의 완성도와 기성고는 얼마로 산정되는지, 지체상금 청구가 인정될 수 있는지 |
2. 핵심 쟁점 Q&A
Q1. 이 사건 계약은 적법하게 해제되었나요?
A. 그렇습니다. 법원은 원고가 2022. 7. 29.자 내용증명우편으로 2022. 8. 30.까지 이행을 최고하였음에도 피고가 이를 넘긴 2022. 8. 31.에야 산출물을 납품하였다는 점, 그리고 이 사건 산출물의 완성도가 76%에 불과하여 하자가 존재한다는 점을 근거로, 원고가 2022. 10. 11.자 내용증명우편을 통해 피고의 채무불이행을 이유로 한 계약 해제가 적법하게 이루어졌다고 판단하였습니다.
Q2. 계약이 채무불이행으로 해제되었다면 도급인은 기지급한 용역대금 전액을 돌려받을 수 있나요?
A. 그렇지 않습니다. 법원은 건축도급계약에 관한 확립된 법리를 소프트웨어 개발공급계약에도 그대로 적용하였습니다. 즉 미완성부분이 있는 경우라도 공사(작업)가 상당한 정도로 진척되어 그 원상회복이 중대한 사회적·경제적 손실을 초래하게 되고 완성된 부분이 도급인에게 이익이 되는 경우에는, 수급인의 채무불이행을 이유로 도급인이 도급계약을 해제하더라도 그 미완성부분에 대하여서만 도급계약이 실효된다고 보아야 합니다(대법원 1986. 9. 9. 선고 85다카1751 판결). 이 경우 수급인은 해제한 때의 상태 그대로 결과물을 도급인에게 인도하고, 도급인은 완성도 등을 참작하여 그에 상당한 보수를 지급할 의무가 있습니다. 이러한 법리는 소프트웨어의 개발공급계약의 경우에도 그대로 적용됩니다(대법원 1996. 7. 30. 선고 95다7932 판결).
법원은 이 사건 산출물의 완성도가 76%에 이르고, 소프트웨어는 그 성질상 완전무결한 상태를 상정하기 어려워 지속적인 보완·고도화 개발이 필수적인 점, 계약에서도 12개월의 무상하자보수기간을 두고 있는 점, 원고가 이 사건 산출물을 수령함으로써 주된 급부의 이행을 받아 실질적 이익을 얻은 점 등을 고려하여, 원고의 원상회복청구를 받아들이지 않고 미완성부분에 한하여만 계약이 실효된다고 판단하였습니다.

Q3. 완성부분이 도급인에게 ‘이익이 된다’고 판단한 구체적인 근거는 무엇인가요?
A. 법원은 여러 사정을 종합적으로 고려하였습니다. 피고가 2021. 10. 15. 원고 대표이사에게 수정·추가 요청사항을 반영한 프로그램을 시연하였고, 2021. 12. 29. 최종 개발소스를 원고 측 운영서버에 이관하였으며, 2022. 8. 31. 이 사건 산출물과 함께 인수인계 계획서, 요구사항 정의서 등의 자료를 전달한 점을 들었습니다.
또한 개발 및 수정에 약 10개월이 소요되었고 피고가 수차례 원고의 수정 요청을 반영한 점, 만약 계약이 전부 해제된다면 양측이 투입한 시간과 비용이 무용화된다는 점도 고려되었습니다. 나아가 원고가 이후 다른 업체인 C과 이 사건 프로그램 개발을 위하여 체결한 계약의 계약금액이 이 사건 계약금액의 절반 이하에 불과하였다는 사정도, 이 사건 산출물이 원고에게 실질적 이익이 된다는 판단을 뒷받침하는 근거로 작용하였습니다. 법원은 원고가 원용한 대법원 2014. 6. 12. 선고 2014다10014 판결은 수급인이 중요한 기능을 누락한 사안으로서 이 사건과는 사안이 다르다고 보아 그대로 원용하기에 적절하지 않다고 판시하였습니다.
Q4. 완성도 감정 결과가 여러 개로 나왔는데, 법원은 어떤 기준으로 하나를 선택하였나요?
A. 감정인은 이 사건 요구사항 정의서를 기준으로 한 완성도(원고 신청에 따른 완성도)와 이 사건 요구사항 목록을 기준으로 한 완성도(피고 신청에 따른 완성도)를 각각 산정하였고, 감정보완촉탁을 통해 특정 항목이 요구사항에서 제외된 것을 반영한 수치까지 제시하였습니다. 법원은 법원이 각 감정평가 중 어느 하나를 채용하거나 하나의 감정평가 중 일부만에 의거하여 사실을 인정하였다 하더라도, 그것이 논리나 경험의 법칙에 반하지 않는 한 위법하다고 할 수 없다는 법리(대법원 2014. 12. 11. 선고 2012두1570 판결)를 전제로 판단하였습니다.
법원은 원고 신청에 따른 완성도 감정의 목적물이 실제 원고가 납품받은 이 사건 산출물이라는 점, 그 결과가 원고 측 서버에 실제 설치된 산출물을 실행하여 도출된 값이라는 점, 감정인 스스로도 이 수치가 실제 납품 당시의 완성도에 가까운 결과일 것이라고 판단하였다는 점, 그리고 감정보완촉탁결과에는 원·피고 간 합의가 반영된 항목 조정까지 포함되어 있다는 점을 근거로, 이 감정보완촉탁결과 중 원고 신청에 따른 완성도인 76%를 채택하였습니다.
Q5. 피고가 감정결과를 다투었으나 받아들여지지 않은 이유는 무엇인가요?
A. 피고는 감정인이 하자·미완성으로 판단한 항목 중 내용이 중복되는 항목이 있고, 원고가 제공한 데이터 부재로 인한 항목까지 하자로 판단되었으며, 일부 항목은 요구사항에서 제외하거나 다른 방식으로 구현하기로 합의되었다고 주장하였습니다.
그러나 법원은 감정인의 감정결과는 그 감정 방법 등이 경험칙에 반하거나 합리성이 없는 등 현저한 잘못이 없는 한 존중되어야 한다는 법리(대법원 2013. 1. 24. 선고 2011다103199 판결)를 전제로, 요구사항 항목들이 기능적으로 일부 중복되더라도 계약에서 개별 항목으로 정한 이상 개별적으로 판단할 필요가 있다는 점, 요구사항 제외나 변경 구현에 관한 합의를 인정할 증거가 없다는 점, 감정인이 완성·하자·미완성·판단불가 4단계로 구분하여 가중치를 달리 적용하였다는 점을 근거로 피고의 주장을 받아들이지 않았습니다.
Q6. 완성도가 기성고와 동일하게 인정되었나요, 그리고 기성고에 따른 용역대금은 어떻게 산정되었나요?
A. 원고는 완성도와 기성고가 별개의 개념이고 이 사건 산출물이 이익이 되지 않으며 인수인계가 어려우므로 기성고가 인정될 여지가 없다고 주장하였으나, 법원은 이 사건 산출물의 완성도가 76%이고 그것이 원고에게 이익이 된다는 점, 감정인이 요구사항별 중요도와 개발 난이도를 고려하여 완성도를 산정한 점, 비기능적 요구사항이 기능적 요구사항보다 중요하게 평가되는 경우가 많아 감정인도 그 배점을 2배로 반영한 점, 피고가 정보구조도·시스템구성도·인수인계계획서 등 필요한 자료를 제공한 점 등을 종합하여, 이 사건 산출물의 완성도에 상응하는 기성고율이 인정된다고 판단하였습니다.
이에 따라 전체 기성고 상당액은 계약금액 220,000,000원(부가가치세 포함)에 기성고율 76%를 곱한 167,200,000원으로 산정되었고, 여기서 원고가 이미 지급한 132,000,000원을 공제한 35,200,000원이 미지급 용역대금으로 인정되었습니다.
Q7. 원고의 지체상금 청구는 왜 배척되었나요?
A. 원고는 계약상 납기일인 2021. 4. 30.을 기준으로 지체상금을 청구하였습니다. 그러나 법원은 이 사건 프로그램 개발 과정에서 원고의 수정 요청 등으로 이행 일정이 여러 차례 순연된 점, 피고가 2021. 12. 29. 최종 개발소스를 원고 측 운영서버에 이관한 점, 피고가 2022. 4. 1. 원고에게 외주업체 확보로 잔여이슈 정리가 마무리됨과 동시에 사업종료와 잔여금 정산을 완료하고 나머지는 유지보수로 넘기기로 한다는 취지의 이메일을 보내고 2022. 4. 6. 원고가 선정한 외주업체인 C과 도급 위탁 계약이 체결된 점 등을 근거로, 소프트웨어 제작·공급의무의 지체가 피고의 귀책사유로 인한 것이라고 보기 어렵다고 판단하였습니다. 결국 당초 계약상의 계약기간을 기준으로 지체상금 지급을 구할 수는 없다고 보아 원고의 지체상금 청구를 기각하였습니다.
Q8. 당사자들은 이 위기를 어떻게 해결하려 하였고, 그 결과는 어떠하였나요?
A. 원고는 계약을 해제하고 원상회복 및 지체상금이라는 두 갈래의 본소 청구를 통해 기지급한 용역대금 전액과 추가적인 지체상금까지 회수하려 하였습니다. 반면 피고는 반소로 대응하여, 비록 계약이 해제되더라도 상당한 정도로 진척된 개발 작업에 대한 정당한 대가를 인정받고자 기성고에 따른 용역대금 지급을 청구하였습니다.
법원은 완성도 감정이라는 객관적 증거방법을 통해 이 사건 산출물의 완성도를 76%로 확정하고, 이를 기초로 원고의 원상회복청구와 지체상금 청구는 모두 배척하면서도 피고의 기성고 상당 용역대금 청구는 일부 인용하는 방식으로 양측의 주장을 절충하였습니다. 결국 원고는 계약 해제라는 법적 목적은 달성하였으나 기지급 대금의 반환에는 실패하였고, 오히려 추가로 35,200,000원을 지급해야 하는 처지에 놓이게 되었습니다.

마치며
“그렇다면 소프트웨어 개발계약을 체결하는 도급인과 수급인은 각각 무엇을 유의해야 할까요?” 이 판결은 중요한 실무적 교훈을 남깁니다. 도급인 입장에서는 수급인의 채무불이행이 명백하더라도, 이미 상당한 정도로 개발이 진척되어 그 결과물이 실질적으로 이익이 되는 경우에는 계약을 해제하더라도 기지급 대금을 전액 반환받기 어려우며, 오히려 완성도에 상응하는 추가 대금을 지급해야 할 수도 있다는 점을 분명히 인식해야 합니다. 수급인 입장에서는 개발 지연의 원인이 도급인의 수정 요청이나 협조 지연에 있었다는 사정을 이메일 등 객관적 자료로 남겨두는 것이 지체상금 책임을 면하는 데 결정적으로 중요합니다. 아울러 완성도 감정에서는 감정 목적물의 정확성과 요구사항 항목의 개별성이 핵심적으로 다투어지므로, 계약 체결 시 요구사항을 명확하고 중복 없이 정의해두는 것이 향후 분쟁을 예방하는 데 큰 도움이 된다는 점을 이 판결은 잘 보여주고 있습니다.