brunch

You can make anything
by writing

C.S.Lewis

by ym Jul 29. 2020

외주 업체와의 험난한 프로젝트

험난한 스타트업 개발자 생존기 

스타트업은 흔히들 하이리스크, 하이리턴이라고들 한다. 보통 스타트업은 남들이 해보지 않은 새로운 것을 시도하는 경우가 많기 때문에 어떤 위험요소가 있을지 알기 힘든 경우가 많고, 그 대신 성공하면 큰 보상을 받을 수 있기 때문에 그렇다고 생각한다.


스타트업이 굴러가는데 겪는 위험요소라고 하면 비즈니스 모델과 시장의 상황 등 사업적인 면에서 오는 것들도 많지만, 내부에서 일하는 방식에도 신경 써야 하는 위험요소들이 있다. 특히, 경험이 풍부하지 않은 사람들끼리 일을 하는 경우에는 예상치 못한 수많은 험난한 요소들이 있다. 이 글에서는 이러한 경험들에 대해 공유하고자 한다.


혼자서는 못해요

내가 한 스타트업에 개발자로 입사했을 당시 이 회사는 설립 이후 2년 차 정도에 얼마 전 막 억대의 투자금을 유치한 상태였으며, 구성원들은 모두 2개월 뒤 예정되어 있던 메인 서비스의 대규모 리뉴얼 작업을 향해 달려가고 있는 중이었다. 하지만 초기 스타트업이 그렇듯이 인력이 풍족하지는 않았다. 나를 제외하고는 총 6명의 구성원에 개발자는 2명이었고, 이들도 학생이었던 지라 경력이 길지 않았다. 그런데 메인 서비스의 리뉴얼 작업은 새로 제작해야 하는 웹페이지가 총 40~50장에 이르며, 검색 엔진 기능까지 새로 제작해야 하는 결코 작지 않은 프로젝트였다. 디자인만 완료된 상태에서 전문 퍼블리셔도, 프런트엔드만 전담하는 개발자도 없이 학생 개발자 2명, 아니 나까지 해서 3명이서 2개월 내로 이런 대형 프로젝트를 완수할 수 있을까?


지금 와서 생각해보면, 불가능하다고 생각한다.


당시 회사의 사람들 또한 불가능하다고 판단했고 이에 웹 개발 전문 외주업체와 컨택을 시작했다.  


협업은 쉽지 않다.

메인 서비스를 새로 개발하는 것을 외주 개발에 맡기는 선택지는 사실 좋은 선택지는 아니다. 하지만 제한된 인력과 빠른 결과물 구현이 중요한 초기 스타트업이 종종 택하는 선택지이기도 하다. 많은 사람들이 알다시피 외주 업체와 함께 진행하는 프로젝트를 성공시키기 위해서는 외주 작업자에게 정확한 요구사항을 전달해줘야 하고, 작업자에 대한 지속적인 타임라인 관리를 해줘야 하는 등 신경을 써줘야 하는 부분이 많다.


하지만 위에서 말했듯이, 우리는 경험이 풍부하지 않은 상황이었고, 슬프게도 이러한 부분을 잘 알지 못했다. 


외주 업체와의 만남

우리는 한 웹 개발 전문 업체와 컨택한 뒤 계약을 진행했고 곧바로 작업을 진행했다.


작업 예정 기간은 2개월, QA 기간 2주일 정도를 포함한 것이며 

QA가 끝나는 대로 서비스를 리뉴얼하여 오픈할 예정이었다.


우리 회사의 디자이너가 zeplin을 통해 업체의 개발자에게 디자인을 공유하고 

우리 회사의 git 저장소에서 작업을 진행하는 방식이었다.

이제, 여기서 본격적으로 본 프로젝트의 문제점이 드러나기 시작했다. 

여러 가지 복합적인 문제점이 있었지만, 크게 아래와 같이 3가지로 정리해보고자 한다.

1. 소통의 어려움

2. 중간점검의 미흡

3. 관리 경험의 부족


1. 소통의 어려움

왜 개발자들은 새벽에 개발해요?

웹페이지를 제작할 때는 기획과 디자인의 의도를 개발 가능한 선에서 최대한 살리기 위해 개발자와 기획자, 디자이너가 면밀하게 소통하며 작업을 진행해야 한다. 회사마다 사람마다 다르겠지만 우리는 보통 개발자에게 요청할 수정사항이 있을 때는 실시간으로 피드백을 주고받으면서 진행해왔다.

그런데 누구도 예상치 못한 변수가 있었다. 개발자가 해외에 있는 인력이라는 것이었다.

몇 년 전부터 해외 인력을 통한 외주 개발이 점진적으로 많아지고 있다고 하지만 우리 회사 같이 외주 개발을 맡겨 본 경험도 없고 프로젝트 관리 경험이 일천한지라 좋을 것이 없는 상황이었다.


게다가 해외도 일본 중국 이런 곳이 아니라 거의 지구 반대편에 있는 나라여서 시차가 12시간 가까이 났다.

그 말인즉슨 우리가 잘 때 그 사람들이 작업하고 우리는 그 작업물을 다음 날 오후에야 볼 수 있다는 이야기다. 이러면 개발자와의 실시간 소통은 고사하고 소통 자체가 힘들 판이었다.


실제로 새벽 3시에서 4시 사이에 외주 개발자 분들의 git commit 알림이 계속 날아오더라...

그래서 zeplin에 우리 쪽 사람이 댓글을 남기면 12시간 후에 개발자 분들이 답변을 달아 줬다. 

마찬가지로 개발자 분들이 댓글을 남기면 다음 날 오후 우리 쪽 사람이 댓글을 남겨주는 식이었고,

마치 우편함 앞에서 편지 기다리는 것처럼 말이다.

아, 외주 업체 개발자들은 해외 인력이라고 했었는데, 물론 한국어는 안 통했다. 이건 큰 문제는 아니었지만.


2. 중간점검의 미흡

방목형 프로젝트

원래 어떤 프로젝트를 진행할 때든 중간중간 진행사항을 체크하고 점검하며 프로젝트가 기획대로 잘 흘러가도록 잡는 시간을 가지지 않는가? 하지만 우리는 각자의 작업 또한 바빴기 때문에 서비스 리뉴얼 프로젝트의 큰 부분을 거의 전적으로 외주 업체에 일임하였다. 외주 업체에서 우리의 바람과 100퍼센트 맞는 작업물을 구현하여 아무 문제없이 넘겨줄 거라고 생각했기 때문에 그랬을까?

어쨌든 외주 업체에 개발을 맡긴 2개월의 기간 동안 사내 개발자들은 제대로 된 중간점검을 시행하지 못했다. 그냥 우리 쪽 디자이너가 업체 개발자랑 잘 피드백 주고받고 있나 보다 하고 말았었다. 사실 부끄럽지만 계획된 개발기간이 끝나고 QA단계로 넘어가기 전까지 작업물을 본 적도 없었다.


그때 짐작했어야 했다. 아, 이게 뭔가 잘못 흘러가고 있는 거구나 하고...


3. 관리 경험의 부족

그런 짓을 하지 말았어야 했는데 난 그 사실을 몰랐네~

애초에 우리가 비슷한 상황에서의 경험이 많았었다면 위에서 서술한 것과 같은 상황에서 뭔가 대처가 되거나 다른 결정을 할 수 있었겠지만 뭔가가 잘 못 되고 있다는 걸 미리 깨닫기에는 우리에게는 경험이 너무나도 부족했다. 


운명의 날은 온다.

어쨌거나 각자 바쁘게 일해오며 지나버린 2개월

어느덧 QA의 시간이 훌쩍 다가왔다.


업체의 한국인 담당 매니저로부터 개발이 완료되었다는 소식을 듣고

작업물을, 그러니까 리뉴얼된 사이트를 우리 회사의 개발 환경에서

띄워봤는데...



모두들 충격을 금치 못했다.

우리가 생각했던 것과 전혀 다른 결과물이 나왔었기 때문이다.

(그 당시에는) 전혀 예상치 못한 사태였고, 회사는 난리가 났다.


심지어 서비스에 필요한 몇몇 로직은 구현이 제대로 되어 있지 않은 상태였다. 


담당 매니저에게 이를 전달했고 기나긴 이야기 끝에 추가 개발을 요청하여 작업물 수정에 들어갔다.

외주 업체 측에서도 인력을 증설하여 수정사항을 반영시켜나갔지만 애당초 정해진 기간을 맞추기는 힘들었다.


결국 양해를 구하고 서로 합의하에 프로젝트를 중단시켰고

상황을 추스른 다음 프런트 전담 개발자를 채용하고 사이트 리뉴얼 작업을 다시 시작하여

정해진 기간보다 2달 정도 뒤에 리뉴얼된 사이트를 오픈할 수 있었다.


당시 프로젝트에서의 문제점을 다시 정리해보자면

1. 외주 개발자와 우리 쪽 담당자의 소통 체계가 불편하였고 이에 따라 소통이 부진하였으며

2. 프로젝트 중간중간 주기적으로 작업물을 체크해주는 담당자와 관련 절차가 부재하였으며

3. 일련의 이런 상황들이 잘못된 것이라고 알 수 있을 경험 또한 부족하였다.


너무나 "값진" 경험

이번 프로젝트를 통해 나를 비롯해 우리 회사에서는 외주 개발 업체와 협업할 때 중요한 사항들, 프로젝트 관리의 중요성 등 여러 점을 배울 수 있었다. 이러한 경험을 해보기 위해 크나큰 대가를 치르기는 했지만, 그래도 쓰러지지 않고 앞으로 나아갈 수 있었던 데에는 함께 했던 우리 회사 사람들의 덕이 크다고 생각한다. 다시 한번 그 당시에 함께 했던 동료들에게 감사를 표하고 싶다.


마지막으로 지금 이 순간에도 고생하고 있을 여러 스타트업 관계자들에게 도움이 되었으면 하는 마음으로 외주 개발 업체와 협업할 때 고려할 사항에 대해서 정리하고자 한다.


1. 실제 작업자에 대해 사전에 파악하자.

우리 회사의 경우 국내 플랫폼을 통해 국내 업체와 계약을 맺었기에 당연하게 국내의 인력과 협업하게 될 것이라고 생각했지만 그렇지 않았던 케이스다. 요즘은 국내에서 운영되는 외주 업체들도 해외 인력이 국내 업체에 연결되어 원격으로 작업을 하는 경우가 많다. 이런 경우 언어, 시차 등 고려해야 할 요소가 늘어나게 되므로 이에 대해 사전에 파악할 수 있으면 의사결정을 하는데 도움이 될 것이다.


2. 프로젝트 진행사항을 주기적으로 점검하자.

당연한 사항이지만 우리 회사의 경우에는 개발자가 해외 인력인 문제점과 맞물려 진행이 어려웠다. 외주 계약을 진행할 때 프로젝트 중간 점검을 어떤 방식으로 할지(오프라인 미팅, 원격 미팅 등등), 주기는 어떻게 할지, 어느 단위로 점검할지 모두 확실하게 협의가 되어 있어야 한다.


3. 여러 업체를 검토해보자

업체마다 같은 작업물 요청 건에 대해서도 가능한 옵션, 가격, 기간 등이 모두 다르다. 따라서 여러 업체를 살펴보면 좀 더 조건과 잘 맞는 업체와 함께 진행할 수 있을 것이다.


위에서 적어놓은 것들이 어찌 보면 당연할 이야기일 수도 있다. 하지만 스타트업과 같이 제한된 자원 내에서 개발뿐만 아니라 회사 운영 등 여러 일들을 모두 고려해야 하는 경우에는 이런 것들을 놓치는 경우를 종종 들어왔다.


외주 개발 업체와 협업하시는 모든 분들에게

돌다리도 두들겨 보자는 마음으로 신중하게 진행하여 좋은 결과가 있기를 바란다! 


 


작가의 이전글 검색엔진에도 오픈 소스가 있다?

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari