
"계약서 없이 시작해도 되죠? 믿을 수 있는 분 같아서요."
외주개발을 처음 의뢰하는 분들이 가장 많이 하시는 실수입니다. 그리고 분쟁의 80%는 여기서 시작됩니다.
안녕하세요. 자체 서비스를 직접 운영하는 개발사, 에그코드 대표 최영준입니다. 고객 재계약률 90%, 납기 준수율 98%를 유지하고 있는 팀입니다.
저희에게 문의하시는 분들 중 상당수가 이전 외주 계약에서 피해를 입고 오신 분들입니다. 선금 800만원을 입금했는데 소스코드를 받지 못한 사례, 계약서에 없는 기능이라며 추가 비용을 요구받은 사례, 잠수 탄 업체한테 납기를 지나도록 연락이 안 된 사례까지.
이 글에서는 외주개발 계약서에 반드시 들어가야 할 필수항목 7가지와, 없을 경우 어떤 분쟁으로 이어지는지를 직접 경험한 사례 중심으로 공유드립니다.
외주개발 계약서 필수항목 7가지

① 과업 정의서 (개발 범위 명시)
계약서에서 가장 먼저, 가장 구체적으로 적어야 할 항목입니다.
"쇼핑몰 앱 개발"이라고만 적으면, 결제 기능은 포함인지 아닌지, 관리자 페이지는 있는지 없는지, iOS와 Android 중 어느 플랫폼인지를 두고 나중에 싸우게 됩니다.
과업 정의서에 반드시 포함되어야 할 것:
- 개발할 기능 목록 (스크린별, 기능별로 세분화)
- 개발 플랫폼 (iOS, Android, Web, 어드민 웹)
- 포함되지 않는 기능 (명시적 제외 항목)
- 산출물 형태 (소스코드, 실행파일, 설계문서 등)
과업 정의서가 없으면 "이건 원래 계약 범위 밖입니다"라는 말을 들었을 때 반박할 근거가 없습니다.
② 단계별 대금 지급 조건
전체 금액을 계약 시 한꺼번에 지급하면 안 됩니다. "착수금 50% 요구"는 위험 신호입니다.
마일스톤 기반 분할 지급이 원칙입니다.
| 지급 시점 | 비율 | 조건 |
|---|---|---|
| 계약금 | 전체의 20~30% | 계약 체결 시 착수 |
| 중도금 | 전체의 40~50% | 기획·디자인 완료 후 확인 |
| 잔금 | 전체의 20~30% | 검수 완료 및 배포 완료 후 |
단계별 결과물을 확인하고 다음 비용을 지급하는 구조여야 업체도 연락을 끊을 수 없게 됩니다.
③ 지식재산권 귀속 조항
이것이 없으면 법적으로 소스코드는 개발사 소유입니다.
대한민국 저작권법상, 외주 개발한 소프트웨어의 저작권은 특별한 합의가 없으면 만든 사람(개발사)에게 귀속됩니다. 돈을 지불한 발주자에게 자동으로 넘어오지 않습니다.
"본 계약을 통해 개발된 소프트웨어 및 관련 산출물(소스코드, 설계문서, 디자인 등)의 모든 지식재산권은 개발 완료 및 대금 완납 시 발주자에게 귀속된다."
이 조항이 없으면, 나중에 유지보수 업체를 바꾸려 할 때 소스코드를 제공받지 못하는 상황이 생깁니다.
④ 소스코드 제공 및 접근 조항
지식재산권 귀속과는 별도로, 언제, 어떤 형태로 소스코드를 받을 수 있는지를 명시해야 합니다.
- 개발 진행 중 Git 저장소를 통한 실시간 접근 가능 여부
- 완료 후 소스코드 납품 형태 (압축 파일 / Git 저장소 이관)
- 개발 환경 및 배포 설정 문서 포함 여부
소스코드를 못 받으면 다른 업체에서 유지보수를 받을 수 없습니다. 이것이 “소스코드 인질” 상황의 출발점입니다.
⑤ 하자보수(유지보수) 조항
배포 후 발생하는 버그와 오류는 언제나 있습니다. 문제는 누가, 언제까지, 얼마나 고쳐주느냐입니다.
계약서에 명시해야 할 내용:
- 무상 하자보수 기간 (통상 배포 후 1~3개월)
- 하자보수 범위 (계약 범위 내 기능의 버그에 한정)
- 유지보수 전환 조건 및 비용 (월 유지보수 계약 방식)
"AS는 알아서 해드립니다"는 계약서가 아닙니다. 기간과 범위를 수치로 명시해야 합니다.
⑥ 검수 기준 및 절차
"완성"의 기준이 발주자와 개발사 사이에 다르면 분쟁이 납니다.
검수 조항에 포함해야 할 것:
- 검수 요청 시 발주자의 확인 기간 (예: 검수 요청 후 7영업일 이내)
- 검수 통과 기준 (과업 정의서의 기능이 모두 동작할 것)
- 수정 요청 횟수 및 처리 기간
- 검수 기간 내 의견 없을 시 자동 완료 간주 여부
검수 기준이 없으면 발주자는 무한정 수정을 요구하고, 개발사는 "다 됐습니다"를 반복하는 교착 상태가 됩니다.
⑦ 계약 해지 조건 및 분쟁 해결 조항
가장 준비하기 싫은 항목이지만, 가장 필요한 항목입니다.
반드시 포함할 내용:
- 일방 해지 조건 (업무일 3일 이상 연락 두절, 납기 30일 초과 등)
- 해지 시 기 지급 대금 반환 기준
- 분쟁 발생 시 해결 방법 (중재 / 소송, 관할 법원)
"업무일 3일 이상 연락 두절 시 발주자는 즉시 계약을 해지하고 기 지급 대금의 전액 반환을 청구할 수 있다." — 이 한 줄이 수백만원을 지킵니다.
계약서 없이 시작했다가 분쟁이 나는 흔한 패턴 3가지

패턴 1: 개발 범위 분쟁 — "이건 계약 범위 밖입니다"
가장 흔한 분쟁 유형입니다.
발주자는 "당연히 포함인 줄 알았다"고 하고, 개발사는 "처음부터 얘기 안 했다"고 합니다. 과업 정의서 없이 구두나 카톡으로만 협의했을 때 생깁니다.
실제 패턴:
- 3개월 개발 후 결제 기능 없는 앱이 납품됨
- "결제는 별도 견적"이라는 개발사 주장
- 계약서에는 "쇼핑몰 앱 개발"이라고만 적혀 있음
- 추가 비용 500만원 요구 → 발주자 항의 → 분쟁
해결책: 기능 목록을 항목별로 나열하고, 포함/미포함을 명시한 과업 정의서를 계약서에 첨부합니다.
패턴 2: 소스코드 인질 — "유지보수는 저희만 가능합니다"
개발이 끝난 후 다른 업체로 유지보수를 바꾸려 했더니, 소스코드를 받을 수 없는 상황.
지식재산권 귀속 조항이 없었고, 개발사가 "소스코드는 자사 자산"이라고 주장하는 케이스입니다. 법적으로 다투면 이길 수 있지만, 시간과 비용이 너무 많이 듭니다.
결과: 기존 업체에 월 유지보수 비용을 계속 지불하거나, 처음부터 다시 개발하는 선택지밖에 없어집니다.
패턴 3: 잠수 후 선금 반환 거부 — "이미 작업 시작했습니다"
연락이 3주째 끊겼는데, 계약 해지 요청을 보내자 "이미 전체 작업의 70%를 완료했다"는 답변이 옵니다. 그 근거 자료는? 없습니다.
계약 해지 조항도, 기 작업물 인도 조항도 없었기 때문에 선금을 돌려받을 법적 근거가 부족합니다.
결과: 선금을 날리거나, 변호사 비용을 들여 소송을 진행하거나.
에그코드가 먼저 제안하는 계약 방식

저희 에그코드는 계약서에 앞서 과업정의서부터 확정합니다.
개발 전에 화면 단위 기능 목록, 포함/미포함 항목, 플랫폼별 산출물을 문서로 정리하고 양측이 서명합니다. 이것이 이후 모든 계약 조항의 기준이 됩니다.
에그코드 외주개발 계약서에 기본으로 포함되는 6가지 조항:
① 소스코드 실시간 공유 — Git 저장소를 통해 개발 시작부터 발주자가 접근 가능
② 지식재산권 발주자 귀속 — 잔금 완납 시 모든 산출물의 권리 이전. 먼저 제안합니다.
③ 응답 의무 조항 — 업무일 기준 2일 이상 연락 두절 시 계약 해지 및 선금 반환 청구 가능
④ 마일스톤 대금 지급 — 각 단계 완료 확인 후 다음 단계 비용 지급
⑤ 3개월 무상 하자보수 — 배포 완료 후 3개월간 계약 범위 내 버그 무상 수정
⑥ 주간 스프린트 리포트 — 매주 진행 현황과 다음 주 일정 공유
떳떳한 외주 개발사라면 이런 조항이 부담스럽지 않습니다. 오히려 먼저 제안하는 것이 당연합니다.
"소스코드 실시간 공유를 거부하는 외주 개발사와는 계약하지 마세요."
마무리하며

외주개발 계약서는 분쟁이 생겼을 때 꺼내는 문서가 아닙니다. 분쟁이 생기지 않도록 처음부터 구조를 만드는 도구입니다.
7가지 필수항목 중 하나라도 빠진 계약서는 계약서가 아닙니다. 계약서 한 장이 수천만원을 지키고, 6개월의 시간을 지킵니다.
저희 에그코드는 계약서를 먼저 제안하는 외주 개발사입니다. 과업정의서 확정, 소스코드 실시간 공유, 마일스톤 대금 지급, 응답 의무 조항 — 이 모든 것이 저희의 기본값입니다.
투명한 계약이 신뢰의 시작입니다.
외주개발 계약서 작성이나 검토가 필요하시다면 부담 없이 문의해주세요. 상담은 무료입니다.
외주개발 계약서 무료 상담 받기