현실과 해결책, CTO, 개발자? 외주? 노코드 개발 플랫폼?
과거 개발 외주를 여러번 맡아 진행한 적도 있고 기술자가 없는 스타트업 대표님들에게 개발팀 꾸리기, 개발 컨설팅도 다수 진행했었다. 이러한 이야기를 예전 글에서도 몇번 한 적 있어 외주, 컨설팅 문의가 오곤 했었지만 결론적으로 말하자면 우리 회사는 지금은 자체프로젝트에 집중하고 있어 외주를 전혀 진행하고 있지 않기 때문에 더 현실적이고 객관적으로 말해 줄 수 있다고 생각한다.
일일히 자세히 말하기는 힘들지만 대부분의 고객들은 아래와 같은 배경을 가지고 있었다.
창업자 중에 개발자가 없다.
개발자와 개발에 대한 이해가 거의 없다.
대략적인 개발 비용과 타임라인 설정이 힘들다.
투자금을 받아오긴 했지만 예산이 꽤나 빡빡하다.
개발을 빨리 하기를 원한다.
기술이 중요한 회사이다.
여러번 외주사 미팅을 해보았지만 믿을 수 있는지도 너무 파악하기 힘들다.
한마디로 말하자면 창업 멤버중에 개발지식이 있는 사람이 전혀 없고 적은 돈으로 빠르게 개발하고 싶은 기술이 중요한 회사이다.
너무나도 당연한 이야기이기만 위의 경우를 갖춘 경우 대표들 경력과 배경이 어떻든 간에 (보통 강조하는 아이비리그 출신, 월스트리트출신, 서울대 출신, 마이크로소프트 출신, 네카라쿠배 출신, 창업 경진대회 출신 등등.. ) 꽤나 많은 경우 소리소문 없이 사라지거나 정상적 영위가 힘든 결말을 맞이한다.
일단 결론부터 말하자면 자기 자신에게 엄청난 아이디어가 있지만 기술 지식을 1도 모르는 사람이라면, 지금 당신은 개발 외주사나 개발자를 뽑는게 문제가 아니다. 당장 개발자 출신 Co-Founder를 구해라. 그리고 급하면 CTO 관리 하 외주사를 선정하고 개발을 하라, 동시에 개발팀을 차근차근 꾸려서 코드를 넘겨 받을 준비를 끝내놓아라.
솔직히 말하자면 기술적인 문제가 발생했을때 제대로 조언해 줄 수 있는 사람이 1도 없는 기술 회사라면 회사의 존속이 조금 힘들다고 할 수 있다.
자기 자신이 개발자 출신인데 시간을 줄이기 위해 외주를 하는 것은 어느정도 이야기가 맞다.
적어도 외주사를 내가 위에서 내려다 보고 관리를 할 수 있기 때문이다.
대부분의 스타트업들은 바쁘고 시간도 없고 마음이 급하다. 투자자가 재촉하기까지 한다면 더 그렇다.
또한 스타트업의 경우 대부분 욕심이 많다. 자신들의 비전과 아이디어를 실현하고 싶어하는 욕구가 크기 때문이다. 이러한 욕심은 당연한 일이며, 비용과 시간이 충분하다면 그들의 욕심을 충족시키는 것은 가능하다.
하지만 대부분의 스타트업들은 비용과 시간이 매우 제한되어 있다. 그리고 외주사들이 자기들만큼 프로젝트에 열의를 가지고 임해주기를 바란다. 하지만 지분이 없는 외주사 입장에서는 "내가 왜?" 그럴 생각이 애초에 들지 않는 것이 그 문제의 시작이다.
시간이 촉박하고 예산이 제한적인 상황에서도 클라이언트는 '짧은 시간에', '최소의 비용으로', '최고의 프로덕트'를 원하는데. (이는 매우 자연스럽고 이해할 수 있는 감정임) 그러나 이러한 욕구를 계속해서 강요하거나 현실을 무시하며 프로젝트를 진행하면 문제가 시작된다.
기획이 계속 변경되고, 개발이 진행되는 도중에도 추가 요구가 생기는 경우가 있다.
특히나 기술적 배경이 없는 스타트업은 "겨우 이 기능 추가하는데 왜 무료로 안되나요?" "겨우 이 기능 넣는데 왜이렇게 비싸고 기간이 늘어나요?" 혹은 심하면 새로운 요구 사항을 기획서에 몰래 껴넣기도 한다.
기능은 추가하는데 마감기간은 늘어나지 않는다. 거기서 또 문제가 생긴다.
외주 개발사 입장에서는 추가 개발은 모두 추가 비용이 든다. 정당한 추가 비용을 청구하더라도 왜이렇게 비싸냐고 사기꾼 취급하는 일도 비일비재하다. 보통 클라이언트는 자기가 말하는 "겨우 이 기능"은 겨우가 아닐 수도 있음을 이해하지 못한다.
따라서 프로젝트를 성공적으로 완수하기 위해서는 클라이언트와 외주 개발사가 상호 협력하고 이해를 공유하는 것이 중요하다.
기획 단계에서 명확한 범위와 목표를 설정하고, 변경사항이 생길 경우에는 추가 비용과 시간을 충분히 고려해야 한다. 또한 의사소통은 항상 원활해야 한다. 클라이언트는 요구사항을 명확하게 전달하고, 외주 개발사는 현실적인 제안을 해야 한다.
클라이언트의 입장에서는 이 로직은 이렇게 되는게 당연한게 아니냐! 라고 말할 수 있다.
하지만 개발자에게 당연히 이것은 이래야 한다는 먹히지 않는다.
정확히 이 액션을 취했을땐 어느 결과가 기대되는지 반드시 명확히 정의해야한다.
비개발자 스타트업과 외주 개발사와의 트러블은 또 이렇게 시작된다.
개발자가 각 기능이 왜 필요한지, 어떻게 보여야하는지 등을 이해하지 못하는 경우 클라이언트는 "아 이 버튼을 누르면 당연히 여기로 가야되는걸 왜모르세요?" 라고 말하곤 한다.
하지만 개발자에게 당연한 것은 없다. 외주 개발자는 이 프로젝트만 맡는 것이 아니다.
어떤 회사는 이 버튼이 다른 기능을 하는 경우도 있었기 때문이다.
각 기능에 대한 정확한 의미와 액션을 아주 꼼꼼히 정확히 전달해야 한다.
아무튼 이러한 과정에 대한 아주 자세한 기획문서, 스토리보드 등 산출물이 정확히 정해져 있지 않으면 이러한 커뮤니케이션 문제가 끊이질 않으며 결국 개발의 실패로 이어지게 된다.
한 스타트업 클라이언트에 대한 이야기를 들었다. 분쟁을 해결하기 위해 중간에서 상황을 파악을 하였던 경험이 있다.
그 스타트업은 XX팬스와 비슷한 서비스를 제공하고자 하는 스타트업이었는데, 무조건 개발회사가 사기를 쳤다고 주장하고 사기죄로 외주 회사를 고발하겠다는 상황이였다.
더 깊게 들어가니 뭔가 이상했다. 스타트업의 기획자라는 사람이 뭔가 수상했다.
한번도 회사에 다녀본 적 없는 사람이었다.
당연히 기획 문서나 IT 기획 절차, UXUI가 무엇인지도 모르는 사람이었다.
평생 엑셀이라는 것을 써본 적이 없는 사람 같았다. 프로덕트에 대한 이해 또한 전혀 존재하지 않았다.
해당 스타트업에는 프로덕트 오너조차 존재하지 않았다. 이 기능이 무엇을 뜻하는 건지 아는 사람이 아무도 없었다. (그럼 외주 개발자가 알아야할까?)
개발 외주 회사한테 자기들이 원하는 것을 말로만, 그냥 스크린샷으로만 전달하였기 때문에
결과물이 당연히 자기들의 원 의도와 달랐다.
더 첩첩산중인 것은 회식, 파티 따위에 돈을 어마어마하게 낭비하고 있고 개발비는 아깝다며 지급을 미루고 있다는 사실이었다.
(보통 이러한 경우, 눈에 보이는 성과나 화려한 업무에만 쉽게 흥분감을 느끼지만, 코딩이나 개발과 같은 업무는 눈에 보이지 않기 때문에 그 가치를 과소평가하는 심리적 경향)
정말 대단한 스타트업 대표님/기획자분들도 많다. 기획 경력 하나 없는데 기획 산출물을 꼼꼼히 공부하고, IT 프로세스에 대해서 강의를 듣고 기가 막히게 스토리보드까지 제작해온다. 이런분들은 뭘 해도 될 것이라고 믿어 의심치않는다. 코딩을 공부하려고 물어보시는 분들까지 계셨다. 개발자와 더 소통하고 더 이해하고 싶어서랬다.
비전공자이고 기술을 모른다는 것은 문제가 되지 않는다.(나도 비전공자다) 하지만 적어도 함께 협업하려는 태도와 비즈니스 세계에서 어떠한 직책을 맡게 되었다면 주변 사람들을 위해 최소한의 지식을 쌓는 것은 미덕이자 도리라고 본다.
스타트업만 탓하는게 아니다. 개발 외주회사의 PM의 실수도 있다고 본다. 이렇게 클라이언트가 이해도가 낮은 상황이더라도 어느정도 중재를 한다거나 함께 기획 문서를 만들며 교육을 시킨다거나(힘들겠지만) 애초에 협업이 불가능하다고 판단을 내려 계약 자체를 만들지 않는 것이 좋다. 억지로 진행을 시키게 되면 당연히 안좋은 결과물이 초래된다. 개발자도 힘들도 클라이언트도 힘들다. 심하면 고소, 소송 상황이 온다.
많은 스타트업 대표님들이 찾아와서 한 말이 있다.
이미 외주에서 한번 실패한 경험이 있어서 어떻게 해야될지 모르겠다고.
이제는 자체 개발팀을 꾸리고 싶거나 CTO를 모셔오고 싶다고.
일단 만약 당신의 사업이 "기술"없이 돌아갈 수 없는 사업이라면 창업자중에 기술자가 없는 것이 말이 안된다는 생각을 해보아야 한다.
만약 당신의 사업이 개발외주 실패 때문에 망하는 프로젝트라면 애초에 개발자 창업자 없이는 장기적으로 돌아가지 않았을 프로젝트였을 가능성이 크다. (이건 외주사를 통해 개발을 완료해도 그 이후가 문제다.)
그 정도로 개발과 기술에 대한 의존도가 높은 사업이라면 창업자가 개발자가 아닌게 말이 안된다.
까놓고 말하면 지분도 없는 외주사, 프리랜서 개발자가 왜 당신의 사업을 책임져야 하는지 다시 한번 생각해보아야 한다. (막말로 마케팅 에이전시가 성과를 못냈다고 망할건 아니지 않는가?)
자 그렇다면 어떻게 해야할까?
가장 좋은 방법은 어떻게든 CTO를 모셔오는 것이다. 최근에 스타트업 팀원을 모집하는 사이트도 많아졌다고 들었다. 이용해 본 적은 없지만, 어떤 방법을 써서라도 믿음직한 CTO를 지분을 주고 참여시켜야 한다.
대부분 능력 있는 CTO는 이미 그런 제안을 많이 받아보았기 때문에 프로젝트의 내용이 그닥 매력적이지 않으면 잘 참여하려고 하지 않을 것이다. 하지만 내 비즈니스가 정말 잘 될 것 같고 가치 평가를 잘 받았다면 어떻게든 PR를 잘 해서 CTO를 유치하는 것이 좋을 것이다.
좋은 외주사도 많지만 염치가 없는 외주사도 많다. 특히나 클라이언트 중에 기술자가 없는 경우 더 그렇다. 어리버리한 창업자들은 그들의 타깃이 되기 딱이다.
CTO가 외주사의 모든 프로젝트를 빡빡히 관리하고 개발 상황을 체크해야 한다.
한 스타트업 대표님을 도와준 적이 있었다, 몇개월동안 산출물 하나 없이 당당하던 염치 없던 외주사의 업무를 CTO로서 넘겨 받을때, 15년 이상경력을 가진 개발자 출신 파트너가 미팅에 참여했다. 처음에 너무나 싫어하면서도 동시에 잘 협조하면서 업무를 넘겨주었다. 이게 바로 CTO의 필요성이다. 좋은 개발사를 만나면 좋은 시너지가 날 것이다. 하지만 그들의 능력은 나쁜 개발사를 만났을때 더욱 빛난다.
일단 스타트업은 크게 성공하지는 않더라도 적어도 개발 실패 때문에 자금을 다 써서 망하지는 않아야한다.
그 역할을 CTO가 해 줄 수 있다.
외주업체를 쓰고 있고 CTO가 프로젝트를 관리하고 있다면 슬슬 개발팀을 꾸려서 원활하게 넘겨받을 준비를 해야한다. 개발자들도 자기들을 이해해줄 수 없는 회사에 취업하기 싫다. 적어도 CTO가 있고, 개발 문화가 어느정도 정착된 회사를 들어가고 싶어한다. 자기들의 기술적 가치를 이해하고 인정해 줄 수 있는 곳을 가고싶다.
만약 개발자를 뽑아야 하는데 서버관리는 어떻게 하고 어떤 언어를 쓰는 개발자를 뽑아야할지도 모르겠고 채용 공고에 무엇을 적어야 할지도 모르겠면 당신은 무조건 CTO나 기술적 조언을 사심없이 해줄 기술자가 필요하다.
개발자, CTO도 뽑기 힘들고 개발 외주업체도 믿기 힘들다면 노코드 플랫폼이라는 옵션도 있다.
요새 많은 노코드 빌더 플랫폼이 나오고 또 활약하고 있는데 MVP용으로는 좋다고 생각한다.
하지만 결국 회사를 키울 것이고 커스텀을 하고 내부에서 유지보수를 하기 위해서는 CTO와 개발팀이 필요하다.
따라서 노코드 개발 플랫폼에 대해서는 너무 큰 기대는 하지 않고 스타트업 MVP용으로만 생각하는 것이 애초에 마음이 편할 것이다.