자체 팀 구축? vs 외주개발? 어떻게 해야할까요?
- 인스피리오 주식회사
- 2024년 7월 9일
- 4분 분량

우리에게는 놀라운 아이디어가 있습니다! 이 아이디어는 시장에 나가면 분명 엄청난 파급력을 갖게될거에요! 자 이제, 보여드릴건데... 일단 개발먼저 하고..
많은 경우, 우리의 아이디어는 반드시 프로덕트화가 되어야 합니다. 마케팅과 세일즈로 돈을 번다고는 하지만 프로덕트가 없다면 애초에 시작도 할 수 없죠. 프로덕트에 확신이 있다면, 자금을 투자해서 어떻게든 만들어야 할텐데요, 그냥 전문가에게 맡기면 될까요?
사실 많은 시장의 도전자들이 프로덕트를 개발해서 시장에 선보이고 있지만 그 과정은 모두 순탄지 않았을거라 확신합니다. 프로덕트 개발은 생각보다 멋있는 과정은 아니거든요. 수 많은 검증과 재시도, 또 디버깅, 기획변경으로 인한 재개발, 기술부채의 해결 등등 순수 개발과정을 빼놓고도 해야할 절차들이 어마어마하게 많습니다. 그런데 만드는 과정에서는 심지어 아무 매출도 일으킬 수 없습니다. 이 과정은 정말로 죽음의 계곡 그 자체입니다.
그렇다면, 이 죽음의 계곡을 조금이라도 쉽게 건너기 위해서는 최대한 멋진 개발팀이 있어야 할겁니다. 하지만 우리 업계에서 '개발자'는 고액연봉의 대명사죠. 그러면 외주를 알아봐야할 것 같은데...
100만원이면 우리 프로덕트 만들 수 있겠죠? 라고 생각했는데 막상 견적 받고보니 5000만원이라네요.
그러면 IN-HOUSE 개발팀을 구축하는게 나을까요? 아니면 OUTSOURCE 외주를 맡기는게 나을까요? 그 장단점에 대해 오늘 얘기해볼까 합니다.
첫번째, IN-HOUSE, 우리만의 기술팀을 만들겠어요.
기술팀을 만든다는 것은 생각보다 쉬운 일은 아닙니다. 기술에 대해 전문지식이 없는 대표님들은 보통 이렇게 많이 생각하시더라고요.
앱 만들건데 앱 개발자 채용하면 되는거 아니에요?
네, 물론 아닙니다. 단순하게 생각해서 앱을 예쁘게 만들어야하니, 디자이너도 있어야할겁니다. 그러면 앱개발자와 디자이너만 있으면 되는 것인가? 당연히 아닙니다. 단순히 앱플랫폼을 하나 만든다고 했을 때, 아래 직군이 모두 필요합니다.
CTO (기술팀장)
앱개발자
UI/UX 디자이너
UI/UX 기획자
백엔드 개발자
인프라 엔지니어 (시스템 엔지니어)
위 케이스는 최소로 잡은 팀입니다. 실제로 더 완벽하게 하려면 서비스 기획자, QA, DBA, 각 파트별 PL 등 추가적인 기술인력이 필요합니다. 하지만 컴팩트하게 생각해서, 위 여섯 직군에 대해서만 이야기해 봅시다.
우선, 기술팀장이 있어야 합니다. 기술팀장은 단순히 기술적인 리딩 역할만을 하는 것이 아닙니다. 뛰어난 개발자를 데려오려면 개발자를 보는 안목이 있어야겠죠. 기술팀 구축 자체에 영향력을 끼쳐야 합니다. 우리 프로젝트에 어떤 스택이 필요한지 정확히 알고 있어야합니다. 기술팀을 구축하고, 우리 서비스의 아키텍처를 설계해야 합니다. 주먹구구식으로 개발하면 나중에 서비스 업그레이드 과정에서 전면 재개발을 해야하는 최악의 경우가 생깁니다. 그리고 모든 개발공정 절차를 이해하고, 프로젝트를 매니징해줄 인사이트가 있어야합니다. 이 모든 큰 그림과 팀을 구축해줄, 충성스럽고 능력있는 기술팀장은 반드시 필요합니다. 이들은 보통 10년차 이상의 개발자들입니다.
앱을 만들어야하니, 앱개발자가 있어야겠죠. 앱은 일반적으로 안드로이드와 아이폰 두 종류로 개발합니다. 그러면 앱 개발자도 두명이 있어야 합니다. 대안으로 하이브리드 앱으로 개발하겠다고 하면 양쪽 개발자 모두를 채용할 필요까진 없을 것 같습니다.
UI/UX 디자이너는 UI/UX 기획자가 그려놓은 레이아웃 위에 예쁜 디자인을 그려냅니다. 그렇다고 단순히 디자인만 하면 끝이 아닙니다. 서비스에는 '브랜드'라는 개념이 있습니다. 물론 이 영역은 브랜드 디자이너가 담당할 영역이지만, 우리에게는 조금 더 컴팩트한 팀이 필요하니 이 어려운 영역도 UI/UX 디자이너에게 요구한다고 가정합시다. 서비스의 톤 앤 매너, 그리고 사용자들에게 어떻게 보여지는지, 이런 모든 시각적인 요소들을 심도있게 고민해줄 사람은 반드시 있어야 합니다.
UI/UX 기획이 없는 상태로 시작한 프로젝트는 지도없이 떠난 항해와 같습니다. 기획은 모든 세부사항 하나하나를 정의합니다. 세부사항이 정해지지 않으면 팀원 간 이해가 달라서 우리 모두가 생각하지 않았던 프로덕트가 나오게 됩니다. 그 정해진 스펙으로 화면정의서 문서를 산출하고, 그 '기준'에 따라 디자이너와 개발자가 구축을 하고, 이후에 QA까지 진행할 수 있게 됩니다.
우리가 생각하는 대부분의 아이디어는 '서버'가 필요합니다. 단순히 정적인 정보를 제공하는 아이템으로 사업화하는 경우는 거의 없으니까요. 그러면 서버 프로그램을 개발할 백엔드 개발자가 필요하다는 의미입니다.
프로그램을 개발했다면, 어딘가에는 게시를 해야합니다. 그게 바로 우리의 서버가 됩니다. 서버 인프라는 또 개발과 다른 영역입니다. 서버를 최적화하고 항상 좋은 성능으로 모든 프로세스 또는 프로그램들이 러닝할 수 있도록 관리해줄 인프라 엔지니어는 꼭 필요합니다.
이 모든 인력을 채용하자면, 생각보다 고정비가 높게 나올겁니다. 특히 기술팀장의 경우는 기본적으로 억대연봉이 많고, 실제로 찾기도 쉽지 않죠. 그렇다면 프로덕트 개발 기간을 6개월로 잡았을 때, 억~수억 단위 지출은 예상을 해야합니다. (물론 프로덕트마다 다릅니다!)
그러면 이런 기술팀의 장단점은 뭐가 있을까요?
[장점]
프로젝트를 플렉서블하게 운용할 수 있습니다. MVP 단계부터 시장적합도를 평가하면서 한 목적으로 다함께 원하는 프로덕트를 향해 나아갑니다.
노하우가 축적됩니다. 팀원들이 계속 함께한다면 유지보수의 생산성이 높아집니다.
팀원들이 프로덕트에 애정을 갖고 참여합니다. 프로덕트가 더 잘 되고 회사를 함께 성장시키는 기쁨이 있습니다.
[단점]
고정비가 높습니다.
채용 리스크를 온전히 부담해야 합니다. (해고의 어려움 등)
팀 구축이 잘못된 경우, 프로덕트가 잘 산출되지 않으며, 상황을 돌이키기 쉽지 않습니다.
프로젝트 실패에 대한 책임은 100% 회사가 부담해야 합니다.
유휴인력이 발생합니다. 프로젝트 초반에는 개발자의 업무가 적고, 후반에는 기획자나 디자이너의 업무가 적습니다. 하지만 고정비는 동일하게 지출됩니다.
두번째, OUTSOURCE, 고민하지 말고 전문가한테 위임할게요.
기술팀을 구축하는 것은 리스크도 높고 너무 어려운 것 같아서 결국 외주를 알아보시는 분들이 많습니다. 하지만 외주라고 쉬운건 아닙니다. 외주는 프로젝트 시작 전, "요구사항정의서" 또는 "Request For Proposal"를 산출하여 개발 범위를 명확히 정해야 합니다. 이 문서는 이 프로젝트에서 무엇을 해야하는가에 대한 기준이 됩니다. 하지만 이 기준은 프로젝트 진행의 편의에서는 더할나위없이 중요하지만 비즈니스적인 측면에서는 오히려 독이 될 수 있습니다. 왜냐햐면, 계약서에 도장을 찍는 순간, 문서에서 정의한 내용만 개발해야 하거든요.
프로덕트 개발이란 것은 프로덕트를 만드는게 본질적인 목표가 아닙니다. 비즈니스의 중요한 하나의 과정일 뿐입니다. 네, 우리의 본질은 비즈니스입니다. 그러면 프로덕트는 시장에 가장 적합한 형태로 개발되어야 합니다. 하지만 우리의 서비스가 어떻게 생겼는지 아직 머릿속에만 있는데 프로젝트 시작 시점에 개발요건들을 모두 정의하고 바꿀 수 없다는 사실은 큰 독이 됩니다.
개발하다보니, 이 기능이 반드시 필요할 것 같은데 기능추가가 불가능합니다. 저 기능은 불필요한데 괜히 넣었습니다. 이런 일들은 실제로 빈번하게 발생합니다. 그렇다고 개발업체는 정직하게 잘 하고 있는데 전쟁을 벌일 수도 없고, 어쩔 수 없이 생각도 못 한 추가비용을 지불해서 변경하는 수 밖에는 없을겁니다.
하지만 위에 언급한 내용들은 정말 운이 좋은 케이스입니다. 왜냐면 실제로 외주 프로젝트에 문제가 발생하는 경우는 7할이 넘거든요. 그나마 운이 좋다면 일정이 지연정도로 끝나겠지만, 약속한 기능이 전혀 동작하지 않는다거나, 개발사 연락이 두절되어 소송까지 넘어가는 사례가 수도 없이 많습니다. 실제로 저희와 함께하는 G사는 X라는 외주업체에게 2억 예산의 프로젝트에서 1.2억의 선금을 지급하고 납품받았으나, 기능이 하나도 동작하지 않아 8천만원의 잔금 지급을 보류하고 소송 진행 중입니다.
실제로, 개발팀에 비해서 외주업체의 책임감은 낮을 수 밖에 없습니다. 외주업체의 목표는 납품과 잔금 수령이지, 프로덕트의 성공적인 출시일리가 없으니까요. 그러면 사소한 기능이라도 축소하고 납품하고 싶은게 당연한 사람의 심리가 아닐까요.
[장점]
고정비 지출이 아닌 단발성 지출
채용 리스크가 없으며 인력관리에 대한 책임이 없음
프로젝트 실패 시, 개발 외주업체에게 책임 요구 가능
우리 회사가 전문성이 없어도 상관이 없음
[단점]
직접 보유한 개발팀보다는 책임의식이 낮을 수 밖에 없음
프로젝트 운영이 요구사항정의서 기준에 맞추어지다보니, 비즈니스적 의견 반영이 추가되기 쉽지 않음
개발 외주업체 내부에서 인력 변동을 하거나, 업체가 바뀐 경우 노하우가 모두 사라짐
업체 선정을 잘못하면 다양한 문제가 발생할 수 있으며, 최악의 경우 소송 및 재판으로 넘어가 큰 영업손실을 입을 수 있음
프로덕트를 만들 때, 내부 기술 팀과 외주 개발 중 현재 상황에 맞는 가장 적합한 선택을 하는 것은 매우 중요합니다. 특히 초기 스타트업일수록 자본의 한계가 명확하기 때문에 현재 상황에 맞는 방법을 선택해야 하죠.
이러한 장단점들을 극복하기 위해서 주식회사 인스피리오는 '기술구독서비스'를 운영하고 있습니다. 기술구독서비스는 정해진 월 비용에 기술팀을 대여해주는 서비스인데요, 위 두 형태의 장점을 모두 갖추고 있는 서비스라고 봐주시면 될 것 같습니다.
Comments