개발 외주 계약서 필수 항목 10가지 (+ 무료 PDF 양식)

개발 외주 계약서에 빠지면 안 되는 필수 항목 10가지를 정리했습니다. 바로 쓸 수 있는 용역 계약서 양식 PDF도 무료로 제공합니다! 지금 바로 확인해보세요.

개발 외주 계약서 필수항목 10가지 알아보기
그릿지 뉴스레터 구독 신청
매주 유용한 IT 인사이트를 메일로 전달드려요!

개발 외주를 맡기고 나서 소스코드를 못 받았다는 얘기, 한 번쯤 들어보셨을 거예요. 납기가 두 달 넘게 밀렸는데 패널티를 청구할 근거가 없었다거나, 추가 기능을 요청했더니 별도 비용을 청구받았다는 경우도 많죠. 이런 분쟁의 공통점은 하나입니다. 계약서에 해당 내용이 없었던 거예요.

개발 외주 계약서는 프로젝트가 잘 될 때는 잘 안 보이는 문서예요. 문제가 생겼을 때 비로소 그 중요성이 드러나죠. 실제로 한국소비자원에 접수된 IT 용역 분쟁을 보면, 업무 범위 불명확과 대금 관련 문제가 반복적으로 주요 원인으로 꼽힙니다.

이 글에서는 외주 개발 계약서에 반드시 들어가야 할 필수 항목 10가지를 정리했어요. 실제 분쟁 사례에서 반복적으로 빠져 있던 조항들을 기준으로 골랐습니다. 글 하단에는 바로 사용할 수 있는 표준 용역계약서 양식 PDF도 무료로 제공하고 있으니, 항목을 확인한 뒤 다운로드해 활용해보세요!

📍목차


1. 개발 외주 계약서, 왜 구두 합의만으로는 안 될까?

 IT 아웃소싱 산업 내 계약서 작성 실태
소프트웨어정책연구소가 조사한 IT 아웃소싱 산업 내 계약서 작성 실태 (사진제공=프리모아, 이미지재구성=그릿지)

구두 합의는 분쟁이 생겼을 때 입증이 불가능합니다. 계약서는 납기·결과물 범위·저작권 귀속을 법적으로 확정하는 유일한 수단이에요.

카카오톡으로 다 얘기했으니 괜찮다고 생각하기 쉽지만, 실제 분쟁에서 메신저 대화는 증거력이 약합니다. 상대방이 맥락을 다르게 해석하면 입증이 어렵고, 법원은 공식 계약서를 우선 판단 기준으로 삼아요.

계약서가 없으면 아래 세 가지 상황에서 대응이 어렵습니다.

상황 계약서 없을 때 계약서 있을 때
납기 지연 패널티 청구 근거 없음 지체상금 조항으로 청구 가능
소스코드 미인도 법적 청구 근거 없음 저작권 귀속 조항으로 청구 가능
추가 기능 분쟁 "원래 포함" vs "추가" 다툼 업무 범위 문서로 즉시 판단

구두 합의만 믿고 진행했다가 소스코드를 넘겨받지 못한 사례는 외주 개발 업계에서 드물지 않아요.


2. 개발 외주 계약서에 반드시 들어가야 할 필수 항목 10가지는?

개발 외주 계약서 필수 항목 10가지

개발 외주 계약서의 필수 항목은 ①업무 범위 ②납기일 ③대금 지급 조건 ④소스코드 저작권 귀속 ⑤하자보수 기간 ⑥계약 해지 조건 ⑦NDA ⑧검수 기준 ⑨지연 패널티 ⑩분쟁 해결 방법입니다. 분쟁이 자주 발생하는 순서대로 정리했어요.

① 업무 범위(Scope of Work) — 어디까지 해주는 건가요?

업무 범위는 10가지 항목 중 분쟁 빈도가 가장 높은 항목이에요. "앱 개발 일체"처럼 포괄적으로 쓰면 나중에 "이 기능도 포함 아니었나요?"라는 다툼이 생깁니다.

권장 방식은 산출물 항목표를 계약서에 첨부하는 거예요. 단계별로 어떤 결과물이 나오는지 목록으로 명시하면, 범위 외 요청이 들어왔을 때 근거가 생깁니다.

단계 산출물 예시
1. 착수 계약서, NDA, WBS
2. 기획·디자인 서비스 기획서, 와이어프레임, 화면설계서
3. 개발 스토어 런칭 또는 사이트 배포 결과물
4. 완료 유저·관리자 화면 소스코드 전체

② 납기일 — 언제까지 완료해야 하나요?

납기일은 단순히 날짜만 쓰면 부족해요. 어떤 상태가 '완료'인지 기준도 함께 명시해야 합니다. "개발 완료"와 "검수 완료"는 다른 개념이기 때문이에요.

납기일 조항에 포함해야 할 내용은 세 가지예요. 최종 납품 예정일, 단계별 중간 납기일, 그리고 갑의 피드백 지연 시 납기 자동 연장 조건입니다. 특히 세 번째가 빠지면 클라이언트 측 지연으로 인한 납기 초과도 개발사 책임이 되는 상황이 생겨요.

③ 대금 지급 조건 — 언제, 얼마를 내야 하나요?

대금 지급 조건은 비율과 시점을 모두 명시해야 해요. 비율만 쓰고 지급 시점을 흐릿하게 두면 중도금을 언제 달라는 건지 해석이 갈립니다.

일반적으로 권장하는 비율은 아래와 같아요.

구분 비율 지급 시점
선금 30% 계약일 기준 7일 이내
중도금 40% 2단계 산출물 검수 완료 후 7일 이내
잔금 30% 최종 산출물 검수 완료 후 7일 이내

잔금 지급 전까지는 최종 소스코드를 전달받을 수 없다는 조건도 함께 명시하는 게 개발사 입장에서 필수예요. 잔금을 받지 못한 채 소스코드를 넘겼다가 회수하지 못한 사례가 실제로 있습니다.

④ 소스코드 저작권 귀속 — 개발이 끝나면 내 것이 되나요?

저작권법상 소프트웨어의 저작권은 원칙적으로 만든 사람, 즉 개발사에 귀속됩니다. 계약서에 명시하지 않으면 개발 완료 후에도 법적으로 소스코드가 개발사 소유가 될 수 있어요.

반드시 아래 문구를 명시하거나 이에 준하는 조항을 넣어야 합니다.

"본 계약으로 개발된 결과물의 저작권 및 지식재산권 일체는 잔금 지급 완료 시점에 갑에게 귀속된다."

단, 잔금 지급 완료를 조건으로 명시하는 게 포인트예요. 대금을 다 받기 전까지 저작권이 이전되지 않아야 개발사도 보호받을 수 있기 때문입니다.

⑤ 하자보수 기간 — 개발이 끝난 뒤 버그가 생기면 누가 고치나요?

하자보수(Warranty)란 개발 완료 후 개발사 과실로 발생한 버그를 무상으로 수정해주는 기간이에요. 이 기간이 계약서에 없으면 런칭 직후 발견된 버그도 유상 수정 요청을 받을 수 있어요.

통상적으로 최종 검수 완료일로부터 1~3개월을 하자보수 기간으로 설정합니다. 단, 하자보수 범위도 명확히 해야 해요. 개발사 과실로 인한 버그만 해당되고, 클라이언트의 추가 요청이나 운영 과실로 발생한 문제는 별도 유지보수 계약으로 처리하는 게 일반적입니다.

⑥ 계약 해지 조건 — 중간에 그만두고 싶으면 어떻게 하나요?

계약 해지 조항이 없으면 양측 모두 난감한 상황이 생겨요. 어느 한쪽이 의무를 이행하지 않아도 계약을 끊을 근거가 없기 때문입니다.

해지 조항에 반드시 포함해야 할 내용은 세 가지예요.

  • 해지 가능한 사유 (협력의무 위반 반복, 대금 미지급, 부도 등)
  • 해지 통보 방식 (서면 통지, 14일 이전 최고)
  • 해지 시 정산 방법 (공정진도 비율에 따른 대금 정산)

특히 세 번째가 중요해요. 중간에 계약이 끊겼을 때 진행된 만큼만 정산한다는 기준이 없으면 전액 환불 요구나 추가 청구 분쟁으로 이어집니다.

⑦ NDA(비밀유지계약) — 내 아이디어가 외부에 새지 않으려면?

NDA(Non-Disclosure Agreement)는 비밀유지계약으로, 개발 과정에서 공유되는 사업 아이디어·설계 내용·내부 데이터가 외부로 유출되지 않도록 막는 조항이에요.

계약서 본문에 포함하거나 별도 문서로 첨부할 수 있어요. 핵심은 비밀 정보의 범위, 유지 기간(통상 계약 종료 후 2~3년), 위반 시 손해배상 조건을 명시하는 것입니다. 포트폴리오 활용 동의 조항도 이 섹션에서 함께 다루는 게 효율적이에요. 개발사가 결과물을 마케팅 목적으로 공개할 수 있는지 여부를 미리 정해두는 거예요.

⑧ 검수 기준 — 어떤 상태여야 '완성'인가요?

검수 기준이 없으면 "완성이 아니다"와 "다 했다"가 끝없이 충돌해요. 어떤 기기, 어떤 환경에서 어떤 기준으로 통과해야 검수 완료인지 계약서에 명시해야 합니다.

구분 검수 기준 환경 예시
Android Galaxy S10 이상 / AOS 점유율 70% 이상 버전
iOS iPhone 12, SE2 / 최신 버전(-1)
PC Web Chrome 최신 버전 / 1920px
Mobile Web 375px, 360px

검수 기간도 명시해야 해요. 통상적으로 검수 요청일로부터 7일을 부여하고, 기간 내 피드백이 없으면 검수 완료로 간주하는 조건을 넣는 게 일반적입니다.

⑨ 지연 패널티 — 납기를 어기면 어떻게 되나요?

지연 패널티 조항은 개발사가 약정 납기를 지키지 못했을 때 적용되는 조항이에요. 이게 없으면 납기가 몇 달이 밀려도 클라이언트가 손해배상을 청구할 법적 근거가 없습니다.

일반적으로 지체상금은 지체일수 × 계약금액 × 1/1000 방식으로 산정해요. 단, 클라이언트 측 피드백 지연이나 추가 요청으로 인한 납기 초과는 지체일수에서 제외한다는 조건을 반드시 함께 명시해야 합니다. 그래야 양측 모두 공정한 기준이 적용돼요.

⑩ 분쟁 해결 방법 — 끝까지 싸우게 되면 어떻게 하나요?

분쟁 해결 조항은 협의가 안 됐을 때 어떤 절차를 밟을지 정해두는 항목이에요. 없으면 관할 법원 지정부터 싸워야 하는 상황이 생깁니다.

통상적으로 아래 순서로 명시해요.

  1. 협의를 통한 해결을 원칙으로 한다
  2. 협의 불성립 시 법원 판결에 따른다
  3. 제1심 관할 법원은 서울중앙지방법원으로 한다

관할 법원을 미리 지정해두는 이유는, 지방 소재 개발사와 서울 클라이언트가 분쟁 시 어느 법원에서 재판할지 다투는 상황을 막기 위해서예요.


3. 용역 계약서와 외주 개발 계약서, 뭐가 다르고 어떤 걸 써야 할까?

용역계약서와 외주개발계약서 차이

용역 계약서는 노무 제공 중심, 외주 개발 계약서는 결과물(소프트웨어) 납품 중심입니다. 프리랜서 1인 계약에는 용역 계약서, 개발사와의 계약에는 소프트웨어 개발 계약서를 사용하는 게 법적으로 유리해요.

두 계약서는 이름이 달라도 실무에서 혼용되는 경우가 많아요. 하지만 계약 상대방과 프로젝트 성격에 따라 어떤 문서를 쓰느냐가 분쟁 시 해석에 영향을 줍니다.

구분 용역 계약서 외주 개발 계약서
계약 중심 노무 제공 (일하는 행위) 결과물 납품 (소프트웨어)
적합 상대방 프리랜서 개발자 1인 개발사·에이전시
저작권 기본값 미명시 시 개발자 귀속 미명시 시 개발사 귀속
하자보수 별도 명시 필요 조항으로 통상 포함
분쟁 준거 민법 도급 규정 소프트웨어산업진흥법 참고

실무적으로는 두 계약서 모두 핵심 조항만 제대로 명시하면 법적 효력 차이는 크지 않아요. 다만 개발사와 계약할 때 용역 계약서만 쓰면 결과물 납품 기준이 모호해질 수 있으니, 소프트웨어 개발에 특화된 조항을 담은 계약서를 사용하는 걸 권장합니다.


4. 개발 외주 계약서 작성 시 가장 많이 하는 실수 5가지는?

개발 외주 계약서 작성 시 가장 많이 하는 실수 5가지

가장 흔한 실수는 ①업무 범위 모호하게 기재 ②소스코드 저작권 조항 누락 ③납기 지연 패널티 미기재 ④검수 기준 불명확 ⑤계약 해지 조건 미설정입니다. 이 다섯 가지가 빠진 계약서는 분쟁이 생겼을 때 사실상 보호막이 없는 것과 같아요.

실수 ① 업무 범위를 "일체"로 뭉뚱그린다

"앱 개발 일체", "웹사이트 제작 일체"처럼 범위를 포괄적으로 쓰는 게 가장 흔한 실수예요. 개발이 진행될수록 클라이언트는 기능을 추가하고 싶어지고, 개발사는 원래 범위가 아니라고 주장하면서 다툼이 생깁니다.

구분 NG 예시 OK 예시
업무 범위 "앱 개발 일체" 산출물 항목표 첨부 (단계별 결과물 명시)

실수 ② 저작권 귀속 조항을 빠뜨린다

앞서 설명했듯이 계약서에 명시하지 않으면 소스코드 저작권은 개발사에 남아요. 개발이 끝나고 나서야 이 사실을 알게 되는 경우가 적지 않습니다. 저작권 이전 시점(잔금 완납 후)까지 함께 명시해야 해요.

실수 ③ 납기 지연 패널티를 넣지 않는다

"늦으면 안 된다"는 말은 했지만 계약서에 패널티 조항이 없으면 법적으로 강제할 수 없어요. 지체상금 산정 방식(지체일수 × 계약금액 × 1/1000)과 함께 클라이언트 귀책으로 인한 지연은 제외한다는 조건도 반드시 함께 써야 합니다.

실수 ④ 검수 기준을 정하지 않는다

"완성도가 낮다", "기대와 다르다"는 이유로 검수를 거부하는 상황이 생길 수 있어요. 어떤 기기, 어떤 환경에서 어떤 기준을 충족해야 검수 완료인지, 검수 기간은 며칠인지를 계약서에 명시해두면 이런 분쟁을 막을 수 있습니다.

실수 ⑤ 계약 해지 조건을 비워둔다

해지 조항이 없으면 어느 쪽도 계약을 합법적으로 끊기 어려워요. 프로젝트가 파국으로 치달아도 계약이 유지되는 상황이 생깁니다. 해지 가능 사유, 통보 방식, 정산 기준을 명확히 써두는 것만으로도 최악의 상황을 방지할 수 있어요.


계약서 한 장이 프로젝트를 지킵니다

개발 외주에서 분쟁이 생기는 건 대부분 계약 초기에 결정됩니다. 납기가 밀리고, 소스코드를 못 받고, 추가 비용이 청구되는 상황 모두 계약서에 해당 조항이 있었다면 대부분 예방할 수 있었던 문제예요.

10가지 항목을 다 챙기기 어렵다면, 최소한 업무 범위·저작권 귀속·대금 지급 조건 세 가지만이라도 명확하게 쓰는 것부터 시작하세요. 계약서는 상대방을 불신해서 쓰는 문서가 아니라, 양측 모두를 보호하기 위한 문서입니다.

그릿지는 100건 이상의 외주 프로젝트를 운영하면서 계약 단계에서 반복적으로 발견된 문제들을 이 양식에 반영했어요. 아래 버튼에서 무료로 다운로드할 수 있습니다.

💌 개발 외주 계약서 무료 pdf 양식 다운로드 받기


혹시 개발 외주 자체를 어떻게 시작해야 할지 막막하다면, 그릿지의 무료 상담을 통해 프로젝트 범위 설정부터 계약까지 함께 점검해드릴 수 있어요.


자주 묻는 질문 (FAQ)

Q1. 프리랜서 개발자와 계약할 때도 계약서가 꼭 필요한가요?

네, 필수입니다. 프리랜서는 개발사보다 분쟁 시 법적 대응이 어렵고 잠적 위험도 있어요. 최소한 업무 범위, 납기일, 대금 조건, 저작권 귀속 조항 네 가지는 반드시 문서로 남겨야 합니다. 구두 합의는 분쟁 시 입증이 불가능해요.

Q2. 소스코드 저작권은 자동으로 의뢰인에게 귀속되나요?

아닙니다. 저작권법상 소프트웨어 저작권은 만든 사람에게 귀속되는 게 원칙이에요. 계약서에 "잔금 완납 시 저작권 일체가 갑에게 귀속된다"는 조항을 명시해야만 법적으로 의뢰인 소유가 됩니다.

Q3. 계약금 비율은 얼마가 적당하고, 잔금은 언제 주는 게 맞나요?

일반적으로 선금 30% / 중도금 40% / 잔금 30%를 권장합니다. 잔금은 반드시 최종 검수 완료 후 지급 조건으로 명시하세요. 잔금 지급 전까지 소스코드를 넘기지 않는 조건도 함께 써두는 게 개발사 입장에서 필수예요.

Q4. 하자보수 기간은 보통 얼마나 잡아야 하나요?

통상적으로 최종 검수 완료일로부터 1~3개월을 설정합니다. 하자보수는 개발사 과실로 발생한 버그에만 적용되고, 클라이언트의 추가 요청이나 운영 과실로 인한 문제는 별도 유지보수 계약으로 처리하는 게 일반적이에요.

Q5. 계약서 없이 시작한 프로젝트, 지금이라도 계약서를 쓸 수 있나요?

가능합니다. 프로젝트 중간이라도 양측이 합의하면 계약서를 작성할 수 있어요. 이 경우 지금까지 진행된 업무 범위와 기지급 대금을 계약서에 명시하고, 이후 일정과 잔여 대금 조건을 새로 정리하면 됩니다. 늦었다고 미루는 것보다 지금 쓰는 게 낫습니다.

Q6. 용역 계약서와 소프트웨어 개발 계약서 중 어떤 걸 써야 하나요?

프리랜서 1인과 계약할 때는 용역 계약서, 개발사·에이전시와 계약할 때는 소프트웨어 개발 계약서가 적합합니다. 두 계약서 모두 핵심 조항이 제대로 명시돼 있으면 법적 효력 차이는 크지 않아요.


그릿지 뉴스레터 구독 신청
매주 유용한 IT 인사이트를 메일로 전달드려요!