프로그램 외주 개발, 계약 전 알아야 할 진행 과정과 조항
우리비엔씨는 2011년부터 기업과 연구기관의 업무용 프로그램을 외주로 맡아 분석·설계·개발하고, 납품 뒤 하자보수와 유지보수까지 직접 맡아 온 소프트웨어 개발 업체입니다. 이 글은 프로그램 외주 개발을 맡기기로 마음먹은 분들을 위해, 상담부터 검수와 유지보수까지 실제 진행 과정과 계약서에 꼭 적어야 할 조항(소스코드, 검수, 하자보수, 유지보수)을 정리했습니다. 우리비엔씨가 실제로 어떤 기준으로 계약하는지도 숨기지 않고 함께 적었습니다.

삼성물산의 의뢰로 개발한 건축물 전과정평가(LCA) 프로그램의 종합 평가 결과 화면 (2023.11~2024.02, C#·SQLite / 샘플 데이터)
위 화면은 우리비엔씨가 삼성물산의 의뢰로 2023년 11월부터 2024년 2월까지 C#과 SQLite로 개발한 건축물 전과정평가(LCA) 프로그램입니다. 건축물의 생산·시공·운영·폐기 단계별로 자재 중량과 환경영향 기여도를 계산해 한 화면에 보여 줍니다. 이런 프로그램도 아래와 같은 과정을 거쳐 만들어집니다.
업체를 고르는 기준은 맞춤형 프로그램 개발 업체 추천받기 전 확인할 7가지에서 따로 다뤘습니다. 이 글은 그다음, 업체를 정한 뒤의 이야기입니다.
외주 개발은 이런 순서로 진행됩니다
프로젝트마다 기간과 규모는 다르지만, 큰 흐름은 거의 같습니다. 각 단계에서 의뢰하시는 분이 무엇을 확인하면 되는지 함께 적었습니다.
1단계. 상담과 자료 검토
지금 쓰고 계신 엑셀 파일, 출력물, 업무 순서를 보면서 무엇을 프로그램으로 옮길지 이야기합니다. 상담은 원격이나 방문으로 진행합니다. 이 단계에서는 “어떤 화면이 필요한가”보다 “지금 어떤 순서로 일하고 있는가”를 최대한 자세히 들려주시는 것이 가장 도움이 됩니다.
2단계. 개발 범위 정리와 견적
상담 내용을 바탕으로 기능 목록과 개발 기간을 정리하고, 그 범위를 기준으로 견적을 드립니다. 금액이 왜 그렇게 나오는지 설명을 들을 수 있어야 하고, 기능 목록은 계약서에 그대로 붙일 수 있을 만큼 구체적이어야 합니다. 견적이 어떻게 계산되는지는 SW기술자 임금으로 개발 비용을 계산하는 법을 참고하세요.
3단계. 계약과 착수
범위, 일정, 대금, 납품물, 검수, 하자보수를 계약서에 적고 착수금을 지급하면 개발이 시작됩니다. 아래 ‘계약서에 꼭 넣어야 할 조항’이 이 단계에서 쓰는 체크리스트입니다.
4단계. 분석·설계
업무 흐름을 데이터베이스 구조와 화면 구성으로 옮기는 단계입니다. 프로그램의 수명은 사실상 여기서 정해집니다. 의뢰하시는 분은 화면 구성안을 보면서 “우리 업무 순서와 맞는지”를 확인해 주시면 됩니다. 이 과정은 업무 통합관리 프로그램 개발, 건물 짓는 과정과 같습니다에 비유로 풀어 두었습니다.
5단계. 개발과 중간 확인
기능이 어느 정도 모양을 갖추면 실제 업무 자료를 넣어 보면서 중간 확인을 합니다. 기존 엑셀 자료를 올려 실제 데이터로 검증하고, 실무자 의견을 반영해 다듬습니다. 이때 나오는 의견이 많을수록 납품 후 고칠 일이 줄어듭니다.
6단계. 설치·교육과 검수
완성된 프로그램을 설치하고 사용 방법을 안내한 뒤, 계약서의 기능 목록을 기준으로 검수합니다. 검수가 끝나면 잔금을 정산하고, 이때부터 무상 하자보수 기간이 시작됩니다.
7단계. 하자보수와 유지보수
납품한 기능에서 생긴 오류는 하자보수 기간 동안 무상으로 고칩니다. 그 뒤에 생기는 수정이나 기능 추가는 유지보수로 진행합니다. 프로그램은 쓰면서 바뀌기 때문에, 이 단계가 사실상 가장 긴 단계입니다.
계약서에 꼭 넣어야 할 조항
외주 개발에서 생기는 갈등은 대부분 “그건 계약에 없었다”는 말에서 시작합니다. 아래 표의 왼쪽 두 칸은 어느 업체와 계약하든 확인하셔야 할 내용이고, 오른쪽 칸은 우리비엔씨의 기본 방식입니다.
| 조항 | 계약서에 적을 내용 | 우리비엔씨 기본 방식 |
|---|---|---|
| 개발 범위 | 기능 목록을 계약서에 첨부. 범위 밖 요청은 별도 협의로 명시 | 상담 후 기능 목록과 기간을 정리해 견적과 함께 설명 |
| 대금 지급 | 몇 회로 나누는지, 각 회차를 언제 지급하는지 | 착수금과 잔금, 2회로 나누어 받음 |
| 검수 | 무엇을 기준으로, 언제까지 검수하는지 | 계약서의 기능 목록을 기준으로 검수 |
| 납품물과 소스코드 | 설치파일, 소스코드, DB 설계서, 매뉴얼 중 무엇을 받는지 | 기본은 실행(설치)파일 납품. 소스코드는 우리비엔씨가 보유하고 유지보수로 지원하며, 필요하면 계약 때 별도 협의 |
| 하자보수 | 무상 오류 수정 기간과 범위 | 납품 후 1년 무상 |
| 유지보수 | 하자보수 이후 지원 방식과 비용 기준 | 필요할 때 건별로 요청받아 견적 후 진행 |
소스코드 소유권, 어떻게 정하면 좋을까
외주 개발 계약에서 가장 자주 질문받는 부분입니다. 정답이 하나로 정해져 있지는 않고, 계약서에 무엇을 적었느냐가 기준이 됩니다. 그래서 “당연히 우리 것 아닌가요?”라고 생각하고 넘어가기보다, 계약 전에 분명히 물어보시는 것이 좋습니다.
우리비엔씨는 기본적으로 실행파일(설치파일)을 납품하고, 소스코드는 회사가 보유한 채 유지보수로 지원합니다. 개발한 사람이 소스를 가지고 있으니 오류 수정이나 기능 추가 요청에 바로 대응할 수 있습니다. 사내 개발팀이 직접 고쳐 써야 하는 등 소스코드가 꼭 필요한 사정이 있다면, 계약할 때 범위와 조건을 별도로 협의합니다.
업체가 문을 닫으면 어떡하나 걱정되신다면, 공공기관이 운영하는 소프트웨어 임치 제도를 이용하는 방법도 있습니다. 소스코드를 제3의 기관에 맡겨 두고, 약속한 사유가 생기면 의뢰한 쪽이 받을 수 있게 하는 제도입니다.
검수, 이렇게 하면 다툼이 줄어듭니다
- 기준은 계약서의 기능 목록입니다. 목록에 있는 기능이 목록대로 동작하는지를 확인하는 것이 검수입니다. 목록에 없던 새 아이디어는 검수가 아니라 추가 요청으로 구분해 두시면 서로 편합니다.
- 실제 데이터로 확인하세요. 샘플 몇 건으로는 잘 돌아가도, 실제 업무 자료 수천 건을 넣으면 다른 결과가 나올 수 있습니다.
- 실제로 쓸 사람이 참여하세요. 검수를 관리자 혼자 하면, 현장 담당자가 매일 쓰는 화면의 불편함을 놓치기 쉽습니다.
- 검수 기간을 정해 두세요. 기간 없이 열려 있으면 의뢰하는 쪽도 개발하는 쪽도 마무리 시점을 잡기 어렵습니다.

씨젠의 의뢰로 개발한 실험실 워크플로우 시뮬레이션 프로그램(Workflow Ver. 1.0). 검수 때는 이런 결과값이 실제 업무 기준과 맞는지를 함께 확인합니다
하자보수와 유지보수는 다릅니다
두 말이 섞여 쓰이다 보니 오해가 생기기 쉽습니다. 하자보수는 납품한 기능이 약속대로 동작하지 않을 때 고치는 것이고, 유지보수는 쓰는 동안 바뀌는 업무에 맞춰 프로그램을 고치거나 기능을 더하는 것입니다.
| 구분 | 하자보수 | 유지보수·추가 개발 |
|---|---|---|
| 대상 | 납품한 기능의 오류 | 업무 변경에 따른 수정, 새 기능 |
| 우리비엔씨 기준 | 납품 후 1년 무상 | 건별 요청 후 견적, 진행 |
| 예시 | 조회 조건을 넣었는데 결과가 틀리게 나옴 | 새 거래처 유형이 생겨 입력 항목을 늘려야 함 |
실제로 한 번 만든 프로그램이 다음 프로젝트로 이어지는 경우가 많습니다. ㈜서연피앤씨는 2018년에 생산관리 시스템을 구축한 뒤 2024년에 모바일 시스템을 추가로 맡겨 주셨고, 진스랩은 진단키트 분석 뷰어를 만든 뒤 키트 두 종을 더하는 2차 개발을 별도로 의뢰했습니다. 사용량이 많은 고객사는 한국몰렉스처럼 유지보수 계약을 맺고 꾸준히 기능 개선을 이어 가기도 합니다.
자주 묻는 질문
Q. 외주 개발 프로그램의 소스코드는 꼭 받아야 하나요?
회사 사정에 따라 다릅니다. 같은 업체에 유지보수를 계속 맡길 계획이라면 실행파일만으로도 충분한 경우가 많습니다. 사내에서 직접 고쳐 써야 하거나 다른 업체로 옮길 가능성이 있다면 계약 전에 소스코드 제공 범위와 조건을 협의해 두세요.
Q. 개발 도중 요구사항이 바뀌면 어떻게 되나요?
작은 조정은 개발 중에 반영하는 경우가 많지만, 기능이 새로 늘어나는 변경은 범위와 비용을 다시 협의합니다. 그래서 계약서에 기능 목록을 붙여 두는 것이 중요합니다. 무엇이 원래 범위이고 무엇이 추가인지 서로 같은 기준으로 볼 수 있기 때문입니다.
Q. 무상 하자보수 기간에는 무엇이든 고쳐 주나요?
납품한 기능이 약속대로 동작하지 않는 오류는 1년 동안 무상으로 고칩니다. 새 기능 추가나 업무 방식 변경에 따른 수정은 하자보수가 아니라 유지보수로, 건별로 협의해 진행합니다.
Q. 하자보수 기간이 끝나면 유지보수 계약을 꼭 맺어야 하나요?
아닙니다. 우리비엔씨는 필요할 때 건별로 요청받아 견적을 드리고 진행하는 방식이 기본입니다. 수정 요청이 자주 있는 경우에는 따로 상의해 정할 수 있습니다.
함께 보면 좋은 개발 사례
- 맞춤형 프로그램 개발 업체 추천받기 전 확인할 7가지
- 프로그램 개발 비용, SW기술자 임금으로 계산하는 법
- 업무 통합관리 프로그램 개발, 건물 짓는 과정과 같습니다
- FMEA·CP 표준문서 관리시스템 – 한국몰렉스 (유지보수 중인 사례)
- PCR 진단키트 3종 통합 분석 뷰어 개발기 – 진스랩 (2차 개발 사례)
작성: 우리비엔씨 대표 이완종 (KOSA 특급기술자)
홈페이지: https://www.wooribnc.com
연락처: 070-4809-7769 // 0 1 0 - 5 1 7 7 - 8 0 5 5
이메일: admin@wooribnc.com // lwjvegas@gmail.com
* KOSA 소프트웨어사업자 등록업체
* KOSA 소프트웨어기술자경력 특급기술자, 정보처리기사
* 가천대학교 가족회사 협약업체
Tags: #프로그램외주개발 #외주개발계약 #소스코드소유권 #프로그램검수 #하자보수 #유지보수 #소프트웨어개발계약 #우리비엔씨


