개발 외주는 왜 늘 늦어질까? 일정 지연의 진짜 원인과 예방법
계약할 때는 두 달이면 된다고 했는데, 석 달이 지나도 화면은 절반만 움직입니다. 물어보면 매번 거의 다 됐다는 답만 돌아옵니다. 개발 외주를 맡겨본 대표라면 한 번쯤 겪는 장면입니다.
일정 지연은 개발 외주에서 가장 흔하면서 가장 오해가 많은 사고입니다. 업체가 게을러서라고만 보면 업체를 바꿔도 반복됩니다. 실제로는 범위를 안 정하고 시작한 착수, 코드 짜는 시간만 계산한 추정, 외부 심사 대기, 중간 확인이 없는 소통이 겹쳐 생깁니다. 왜 밀리는지, 제때 끝나는 프로젝트는 무엇이 다른지, 발주자가 미리 준비하면 어디까지 당길 수 있는지를 실무 기준으로 정리했습니다.
개발 외주는 왜 늘 계획보다 늦어질까
일정 지연의 상당 부분은 실력이 아니라 구조에서 나옵니다. 좋은 개발자를 붙여도 아래 네 가지가 정리되지 않으면 일정은 밀립니다.
착수 시점에 범위가 안 정해져 있다
가장 큰 원인입니다. 만들면서 정하자로 시작한 프로젝트는 거의 예외 없이 늦습니다. 화면이 몇 개인지, 관리자에서 무엇을 할 수 있어야 하는지가 문서로 없으면 요구사항이 개발 중에 계속 늘어납니다. 처음엔 회원가입만 말했는데 소셜 로그인, 본인 인증, 등급별 권한이 하나씩 붙습니다. 하나하나는 작아도 합치면 다른 프로젝트가 됩니다.
추정이 코드 짜는 시간만 계산한다
많은 견적이 기능이 잘 풀리는 경로만 기준으로 잡힙니다. 그런데 실제 시간의 상당 부분은 예외 처리, 테스트, 수정, 배포 뒤에 나오는 버그를 잡는 데 들어갑니다. 결제가 중간에 끊겼을 때, 같은 버튼을 두 번 눌렀을 때까지 처리해야 서비스가 됩니다. 이 시간이 빠지면 일정은 처음부터 부족한 채로 출발합니다.
외부의 결정과 심사를 기다린다
의외로 많은 지연이 개발사 바깥에서 생깁니다. 결제대행사 심사, 앱스토어 심사, 디자인 최종 확정, 발주자의 의사결정 대기입니다. 개발은 끝났는데 심사가 일주일 밀리면 그 일주일이 통째로 일정에 더해집니다. 개발사도 통제하지 못하는 시간입니다.
중간 확인이 없어 마지막에 어긋난다
다 되면 보여드리겠다는 방식이 가장 위험합니다. 두 달을 말없이 개발한 뒤 공개했을 때 대표 생각과 다르면, 그 일부는 재작업이 됩니다. 어긋난 것을 늦게 발견할수록 되돌리는 비용이 커집니다.
일정 지연을 부르는 신호와 제때 끝나는 프로젝트의 차이
밀릴 프로젝트인지는 착수 첫 2주에 대개 드러납니다. 범위 문서, 진행 확인 주기, 외부 의존성 목록이 있는지만 봐도 예측됩니다.
| 구분 | 밀리는 프로젝트 | 제때 끝나는 프로젝트 |
|---|---|---|
| 범위 정의 | 만들면서 정하자로 시작 | 착수 전 화면 단위로 문서화 |
| 진행 확인 | 다 되면 보여준다 | 매주 또는 격주로 동작하는 화면 확인 |
| 외부 의존성 | 필요할 때 그때 챙김 | 심사, 발급, 결정 리드타임을 초반에 목록화 |
| 변경 처리 | 말로 추가하고 기록은 없음 | 변경은 따로 적고 일정에 반영 |
| 담당자 | 누가 짜는지 불투명 | 담당자와 연락 창구가 고정 |
개발 외주 일정, 어떻게 하면 지킬 수 있을까
결론부터 말하면 일정은 착수 전에 대부분 결정됩니다. 시작한 뒤 속도를 높이는 것보다 시작 전에 범위와 확인 주기를 고정하는 편이 훨씬 효과가 큽니다.
1. 착수 전에 화면 단위로 범위를 고정한다
화면 정의서로 무엇을 만들지 눈에 보이게 정합니다. 이 문서가 일정의 기준선이 됩니다. 이후 추가되는 요구는 변경으로 따로 관리하면 일정이 왜 늘었는지가 서로에게 투명해집니다.
2. 기능 단위로 쪼개 매주 실물을 확인한다
두 달 뒤 완성이 아니라 이번 주 로그인, 다음 주 상품 목록처럼 나눕니다. 짧은 주기로 동작하는 화면을 보면 방향이 어긋나도 하루 이틀 안에 잡습니다.
3. 외부 의존성을 초반에 목록으로 만든다
결제 심사, 앱스토어 심사, 도메인처럼 시간이 걸리는 항목을 시작과 동시에 신청합니다. 리드타임을 일정에 미리 넣으면 마지막에 심사 때문에 멈추는 일이 줄어듭니다.
4. 발주자가 결정할 것을 먼저 받아둔다
등급 정책, 정산 방식, 알림 문구처럼 개발사가 물어볼 것을 초반에 몰아서 정해두면 개발 중에 대기가 안 생깁니다. 지연의 상당 부분이 발주자 쪽 결정 대기에서 나옵니다.
5. 누가 짜는지, 창구가 고정인지 확인한다
위시켓이나 크몽, 나무숲 같은 매칭 플랫폼은 개발자를 빠르게 연결해 줍니다. 다만 연결 이후의 일정 관리와 진행 확인은 대개 발주자의 몫으로 남습니다. 붙은 사람이 다른 일과 병행하는지, 중간에 담당자가 바뀌지 않는지를 처음에 확인하는 것이 좋습니다. 리트머스나 그릿지처럼 팀 단위로 붙으면 연속성은 낫지만, 어느 쪽이든 진행을 확인할 창구가 하나로 고정됐는지가 관건입니다.
어니스트패밀리는 일정을 이렇게 관리합니다
어니스트패밀리는 2021년부터 스타트업부터 관공서까지 다양한 규모의 프로젝트를 맡아왔습니다. 일정에서 가장 신경 쓰는 것은 속도가 아니라 확인 주기입니다. 대표가 결과물을 두 달 뒤가 아니라 짧은 주기로 직접 보게 만들어 방향이 어긋나는 구간을 줄입니다. 풀스택 개발자 출신 대표가 상담과 검토에 직접 들어가, 무엇이 범위 안이고 무엇이 추가인지를 초반에 솔직하게 정리합니다.
대표적인 사례가 123타이어 쇼핑몰 리뉴얼입니다. 타이어는 차종, 연식, 사이즈, 장착점까지 맞아야 살 수 있어 일반 쇼핑몰보다 복잡한데, 운영 중인 데이터를 무중단으로 옮기는 작업까지 겹쳤습니다. 이런 프로젝트일수록 범위를 초반에 고정하고 단계로 쪼개지 않으면 오픈일이 기약 없이 밀립니다. 서비스가 멈추지 않도록 이전 순서를 미리 짜고 단계별로 확인하며 진행했습니다.
777타이어의 15개 지점 통합 ERP도 마찬가지였습니다. 정산, 재고, 매출, 판매상담, 문자를 한 화면에서 다루는 큰 범위였지만, 지점 운영이 멈추면 안 되기에 기능을 나눠 순차적으로 열었습니다. 범위가 클수록 한 번에 끝내려 하지 않고 쪼개서 확인하는 편이 결국 더 빠릅니다.
자주 묻는 질문
개발 일정이 자꾸 밀리는데 업체를 바꿔야 할까요?
바꾸기 전에 원인이 범위인지 실력인지부터 봐야 합니다. 범위 문서 없이 시작했다면 업체를 바꿔도 같은 지연이 반복됩니다. 화면 정의를 먼저 정리하고 그 기준으로 남은 일정을 다시 합의해 보는 것이 순서입니다. 그래도 진행 확인이 계속 불투명하면 그때 교체를 검토합니다.
계약서에 지연 배상 조항을 넣으면 일정이 지켜지나요?
지체상금 같은 조항은 최소한의 안전장치는 되지만 조항만으로 일정이 지켜지지는 않습니다. 배상 기준이 세지면 개발사가 범위를 보수적으로 잡아 견적과 기간이 오히려 늘기도 합니다. 조항보다 효과가 큰 것은 짧은 확인 주기와 명확한 범위 문서입니다.
발주자가 준비하면 일정을 얼마나 앞당길 수 있나요?
정해진 수치를 약속드리기는 어렵지만 결정 대기에서 빠지는 시간이 상당합니다. 등급 정책, 정산 방식, 알림 문구를 미리 정해두고 심사가 필요한 항목을 초반에 신청해두면 마지막에 멈추는 구간이 크게 줄어듭니다.
정직한 진단부터 받아보세요
개발 외주에서 일정 지연은 운이 아니라 구조의 문제입니다. 범위를 문서로 고정하고, 짧은 주기로 확인하고, 외부 의존성을 초반에 챙기는 것만으로도 많은 지연을 미리 막을 수 있습니다.
지금 맡긴 프로젝트가 자꾸 밀려 답답하거나, 새로 시작하는데 같은 일을 겪고 싶지 않다면, 어떤 구조가 맞을지 무료로 한번 진단받아 보세요. 지금 상황을 솔직하게 짚어드리겠습니다.
진행 중인 프로젝트나 지금 고민되는 문제를 편하게 들려주세요. 무엇을 만들지 아직 정해지지 않았어도 괜찮습니다.