결론부터 말합니다.
외주를 하되, Agile한 개발이 정답입니다. (Agile이란 지속적인 피봇[방향전환]을 의미합니다.)
내 아이디어를 실현할때, 선택지는 두 가지 있습니다.
개발자 채용 or 외주 개발
개발자 채용이 어려운 이유
중견기업 이상의 규모라면 개발자를 채용하는 것이 가능하겠지만, 소규모 기업이라면 이야기가 달라집니다.
- 개발자를 채용해도 본인 커리어에 도움될 만큼만 일하고 금방 이직합니다.
- 새로운 개발자를 채용하면 기존 코드에 적응하지 못하고 퇴사하는 경우가 많습니다.
- 개발 업무의 인수인계는 매우 어렵습니다.
- 회사에 개발 소스가 없으면 처음부터 개발자가 모든 것을 만들어야 하므로 개발기간이 예상보다 훨씬 오래 걸립니다.
기존 개발 방식이 실패하는 이유는?
고객(발주사)이 개발 후 변화를 고려하지 않기 때문입니다.
기존 개발 방식(워터폴 개발)의 문제점
고객이 아이디어를 문서화하여 개발사에 전달 개발 완료 후 결과물 전달, 피드백 반영 후 계약 종료
하지만 실제 운영을 시작하면 문제가 발생합니다.
- 기획 단계에서 철저히 준비했어도 불필요한 기능이 많고, 예상치 못한 중요한 기능이 누락되었다는 걸 깨닫게 됩니다.
- 시장 흐름이 변하면서 서비스 방향도 달라질 필요가 생깁니다.
- 그러나 개발사와 계약이 종료되었기 때문에 추가 개발이 어렵습니다.
이것이 전형적인 워터폴 개발의 부작용입니다.
해결책: Agile한 외주 개발
개발을 단계별로 나누어 진행하세요!
처음부터 한 번에 모든 기능을 개발하려 하지 말고, 중요한 순서대로 나누어 개발의뢰 하세요.
예시: 단계별 개발 진행
- 1차 개발: 필수 기능만 구현 (핵심 서비스 론칭)
- 2차 개발: 1차 운영 후 보완 및 개선 기능 추가
- 3차 개발: 실제 사용자 피드백 반영 및 확장 개발
이렇게 리스크를 분산하면, 1차 개발 결과가 기대에 미치지 못하더라도 다음 개발을 진행하면서 보완할 수 있습니다.
배달의 민족을 예를들어볼까요?
1차 개발(핵심기능만 개발)
사용자가 음식점을 선택하고 배달을 요청할 수 있도록 기본적인 주문 시스템 개발에만 집중
2차 개발 (운영 후 보완 및 개선 기능 추가)
음식점 리뷰 및 별점 기능 추가 신용카드 및 간편결제 도입 (처음에는 현금 결제 위주였음), 음식점들이 노출을 늘릴 수 있도록 광고 시스템도입
3차 개발(사용자 피드백 반영 및 확장 개발)
• 배달원 서비스 도입 (배민라이더스), 정기 구독 서비스 (배민오더, 배민페이 등), 데이터 기반 맞춤 추천 시스템
처음부터 모든 기능을 만들지 않고, 핵심 서비스 → 피드백 반영 → 기능 확장 방식으로 발전해왔습니다.
개발사와 지속적인 관계 유지하기
개발사에게 유지보수 비용을 지급하세요. (적절히 많이 주세요!)
지속적인 요구 반영을 약속받고, 새로운 계약 없이 빠르게 기능을 개선할 수 있는 Agile 개발 방식이 가능해집니다.
결론: 핵심은 지속적인 업데이트
10년간 수많은 프로젝트를 지켜봐오며, 의뢰인들의 불안한 심리를 이해하고 있습니다.
하지만 위에서 설명한 대로 개발을 단계화하고, Agile하게 접근한다면 절대 프로젝트가 망하지 않습니다.
어플리케이션과 웹사이트의 핵심은 지속적인 업데이트입니다. 이를 염두에 두고 외주개발을 진행하세요!
클라이언트를 넘어 파트너까지 Cubrix