[IT소송] 소프트웨어 유지보수 및 개발 용역 계약, 대금 정산 기준은?

Article posted in 2025-01-21 16:01:26 | VEAT

소프트웨어 유지보수 및 개발을 위한 용역 계약은 IT 산업에서 흔히 체결되지만, 계약상 투입하기로 한 인력이 근무일수를 미달하였다거나, 계약상 조건을 지키지 못한 경우 분쟁이 빈번히 발생하는 영역입니다. 특히 용역 계약의 대금 정산 기준과 관련하여 소프트웨어 유지보수 계약의 대가 지급 방식이 ‘기능점수 방식에 의한 산정인지’, ‘투입인력의 수와 기간에 의한 산정방법(이른바 M/M)인지’ 구체적 사실관계에 따라 분쟁의 양상이 달라질 수 있습니다.

소프트웨어 유지보수 용역대금 반환청구(서울고등법원 2015. 2. 6. 선고 2013나2028481 판결) 사건(이하 “본 사건”)에서 법원이 내린 판결은 소프트웨어 용역계약의 대가 산정과 관련하여 참고할 만한 내용을 다루고 있는 사례입니다. 이번 칼럼에서는 해당 판결 내용을 바탕으로 소프트웨어 유지보수 및 개발 용역 계약의 주요 쟁점과 분쟁 예방을 위한 유의사항까지 살펴보도록 하겠습니다.

▶소프트웨어 용역 계약의 대금 산정 방식
소프트웨어 용역 계약에서 대금 산정 방식은 크게 두 가지로 구분됩니다.
1. 기능점수 방식: 소프트웨어 개발규모를 기능점수로 측정하고 기능점수당 단가를 곱하여 비용을 산출하는 방식입니다.
2. 투입 인력의 수와 기간에 의한 산정 방식(이른바 M/M방식, Man/Month): 투입된 인력의 수와 작업 기간을 기준으로 대가를 산정하는 방식입니다.
기능점수 방식은 개발된 소프트웨어의 기능적 가치에 따라 유지보수 비용을 책정하는 데 유용하지만, 기능의 정의나 평가 기준에 대한 해석 차이로 분쟁이 발생할 수 있습니다. 투입 인력의 수와 기간에 의한 산정 방식은 사업의 계약금액을 산정하는 과정에서 예상되는 투입 인력의 수와 기간에 대한 계약 당사자간 의사 불합치로 인한 분쟁이 발생할 수 있습니다. 본 사건의 핵심 쟁점은 투입 인력의 수와 기간에 의한 산정 방식으로 계약된 소프트웨어 용역 계약에서 실제 근무일수를 기준으로 대금을 정산해야 하는지 여부였습니다.



▶ 사건의 배경: 근무일수 미달로 인한 대금 반환 요구
IT 기업(원고)은 소프트웨어 유지보수 계약을 통해 특정 기간 동안 용역을 제공받는 계약을 체결하였습니다. 계약 당시 투입공수 방식으로 계약금액이 산정되었고, 용역 대가는 매월 제공된 용역 내용을 검수한 후 지급되었습니다. 하지만 이후 원고는 피고가 투입한 인력 일부가 소프트웨어 기술자 월 평균 근무일수(한국 소프트웨어산업협회가 제시한 기준)에 미달하여 근무했다고 주장하며, 해당 미달 근무일수에 대한 용역대금을 반환하라는 청구를 제기했습니다.

▶법원의 판단: 법원은 원고의 반환 청구를 기각하며, 본 사건 계약은 계약체결 단계에서 투입공수 방식으로 대가를 산정한 것일 뿐, 실제 근무일수에 따라 사후 정산해야 한다는 약정이 포함되지 않았다고 보았습니다. 
또한, 계약서에 근무일수 미달 시 대금을 감액하거나 반환해야 한다는 규정이 없고, 소프트웨어 용역 업무는 결과물의 품질과 연속성이 중요한 전문적 작업으로, 단순히 근무일수를 기준으로 대금을 조정하는 것은 부적절하다고 판단했습니다. 
또한 피고가 매월 검수확인서를 통해 대금을 지급받아 왔고, 원고는 당시 근무일수 문제를 제기하지 않았으므로 사후적으로 이를 반환 사유로 삼을 근거가 없다고 보았습니다.
마지막으로, 소프트웨어산업 대가의 기준 및 소프트웨어사업 대가산정 가이드에서 정하는 투입공수 방식은 계약 금액 산정을 위한 도구로 활용될 뿐, 체결된 계약에 따라 용역을 제공하는 과정 또는 그에 따른 사후정산을 위해 마련된 것은 아니라고 판단하였습니다.

▶ 소프트웨어 유지보수 및 개발 용역 계약 시 주의사항
본 사건 판결은 IT 기업과 소프트웨어 개발업체 모두에게 계약 체결 시 약정 조건을 명확하게 규정하고 계약서에 반영하는 것이 얼마나 중요한지와 같은 구체적인 시사점을 제공하였습니다. 

  1. 계약 조건의 구체적 명시 : 계약서에는 투입 인력의 수, 근무일수, 업무 범위, 대가 산정 방식(기능점수 방식 또는 투입공수 방식)과 사후 정산 여부 등을 구체적으로 명시하여 분쟁 발생 가능성을 최소화할 필요가 있습니다. 
  2. 소프트웨어 용역 업무의 특성 고려 : 소프트웨어 유지보수는 단순히 근무시간이 아니라 시스템의 안정성 유지와 품질 보장이 중요하므로 해당 특성을 고려하여 계약 조건을 설정할 필요가 있습니다. 
  3. 페널티 및 보상 조항 추가 : 계약 조건 미준수 시 적용될 페널티나 손해배상 조항을 포함하여 책임 소재를 명확히 규정해야 합니다. 이를 통해 예상치 못한 상황에서도 신속하고 명확한 대응이 가능해집니다.
  4. 기록 및 소통의 중요성 : 계약 이행 과정에서 모든 의사소통과 작업 결과를 기록으로 남기고, 양측 간 협의를 정기적으로 확인하는 것이 필요합니다. 이러한 기록은 분쟁을 방지하는 강력한 도구가 될 수 있습니다.

소프트웨어개발소송

이와 같이 소프트웨어 유지보수와 개발 용역 계약은 기술적 이해와 법적 지식이 필수적이므로, 계약서 작성 단계부터 IT 관련 이해도가 높은 IT전문변호사의 검토를 바탕으로 계약 내용을 규정하시기를 권장드리며 만약 분쟁이 발생하였다면 신속하게 대응하실 필요가 있습니다.

법무법인 비트는 대한변호사협회 인증을 받은 IT전문변호사와 이공계 출신의 변호사들을 중심으로 ‘IT/기술’과 ‘법률’을 동시에 이해하는 차별화된 법률 서비스를 제공하고 있습니다. 소프트웨어 유지보수 및 개발 용역 계약서 작성 업무부터 관련 분쟁에 대한 법적대응까지 도움이 필요하신 분들은 언제든지 법무법인 비트로 문의하시기 바랍니다.

감사합니다.

법무법인 비트 드림