4개월간 배운 게 많다.
작년 10월, 회사에 돈이 떨어졌다는 걸 깨달았다. 하지만 우리는 팀을 살리고 싶어했고 외주 프로젝트를 받기 시작했다. 하지만 나는 외주 개발 회사를 운영해본 경험이 없었다. 감사한 분들이 일을 맡겨 주신 덕분에 몇십만원짜리 프로젝트부터 몇천만원짜리 프로젝트까지 하면서 살아남고 있다. 근근이 우리의 제품도 만들고.
내 이전 직장인 디스콰이엇에서 팀원으로서 5명 규모의 제품팀이 돌아가는 걸 보았고, 그리다에서도 제품을 만들기도 했고, 작년 가을 즈음부터는 외주 프로젝트도 하고 있다. 그 중에는 과정과 결과물에 있어 성공적인 것도 있었고 내 기준에 아쉬운 것도 있었다. 외주 개발과 내부 제품 팀은 어떻게 다른가? 외주 프로젝트는 어떻게 진행해야 좋은가? 배우는 점들이 있어 글로 남겨놓는다.
외주 개발과 내부 제품팀의 차이점
내부 제품팀의 경우: 개발팀의 시간이 비용이다. 따라서 개발팀의 시간을 낭비하지 않기 위해서는 린 개발 방식을 적용해야 한다. 조금 만들고 배포하고 데이터 보면서 조금씩 업데이트해 나간다.
외주 개발의 경우: 완성된 하나의 프로덕트를 한번에 만들어야 한다. 오류 수정 정도는 가능하나 계약 종료 이후 기능을 추가하려면 추가로 비용을 지불하고 개발해야 하기 때문에, 기간 내에 기능을 다 때려박아서 개발하길 원한다. 따라서 완성된 앱을 먼저 기획하고 디자인한 다음 개발하는 워터폴 방식을 적용할 수밖에 없다.
위와 같은 차이점 때문에 아래에서 설명할 합의된 좋은 기획에 대한 공유된 이해가 필요하다.
그리다 팀의 독특한 개발 방식
그리다 팀에는 ‘기획자’가 존재하지 않는다. 내가 생각하는 프로덕트 제일 잘 만드는 팀인 디스콰이엇도 이 점은 똑같다. 우리는 머릿속에서 화면을 그리는 것보다 피그마에서 실제 그림을 그려 보는 편이다. UI에 대한 높은 이해도를 바탕으로 매우 빠르게 그릴 수 있기 때문에 가능한 것이기도 하다. 피그마의 프로토타입 기능을 적극적으로 활용하는데, 와이어프레임(스케치)이 아닌 꽤 높은 퀄리티의 디자인을 먼저 해놓고, 버튼과 페이지들을 프로토타입 기능을 통해 연결해 둔다. 그러면 버튼을 눌러 페이지를 이동시키거나 간단한 모션을 볼 수 있다. 직접 만져 봐야 디자인도 기획도 잘 할 수 있다고 믿는게 우리 철학이다.
이런 방식이 가능한 이유는 팀이 워낙 작아서(개발-디자인-기획 커버하는 대표 1명, 기획까지 커버하는 디자이너 1명, 그리고 잡부인 나까지 셋) 긴밀하게 소통할 수 있고, 셋 다 어느정도 영역이 걸쳐있기 때문이다. 셋 모두 데이터 구조에 대한 기본적인 이해가 있고, 나는 간간히 퍼블리싱(화면을 코드로 옮기는 것)도 한다. 그리다 대표인 우주는 빠르게 이해하고 정리하는 능력과 웬만한 개발자 3명 몫은 하는 개발실력이 있고, 디자이너 정현이는 화면을 겁나 빠르고 예쁘게 그릴 줄 안다.
나의 실수
나의 실수는 일을 맡겨준 것에 대해 고마운 마음이 앞선 나머지 무리해서 요청을 들어주려 했던 것이다. 연애에 서투를 때 싫은 소리 안 듣고 싶고 잘해주려는 마음이 앞서서 물심양면으로 무리하는 것과 비슷하다. 외주 개발 경험이 없던 나는 고객사와 외주 개발팀인 우리 팀의 소통을 맡은 입장에서 고객사에게 무조건 잘해주고 싶은 마음이 컸다. 우리 팀을 푸시해서 꼭 만들어주면 좋겠다고 설득하고 부탁하는 일이 잦았다. 이렇게 했을 때 시간이 지날수록 만들어야 할 기능들이 계속 늘어났다.
물론 표준을 벗어난 화려한 UI라던가, 10%의 경험 향상을 위해 몇 배의 개발 공수를 들여야하는 요청은 정중히 설득했지만, 내가 생각했을 때 비즈니스 임팩트가 크지 않은데 추가하거나 수정해야 하는 요청들에 대해 단호하게 선을 긋지 못했다.
결국 시간이 지날수록 만들어야 할 기능들이 계속 늘어나고, 제품은 불안정해지며, 팀과 고객 모두 지치게 되었다. 프로젝트에 착수한 시간이 흐를수록 불확실성이 늘어나는 것이 아니라 줄어드는 방향으로 소통하며 프로젝트를 관리해야 한다.
어떤 프로젝트를 작업해야 하는가?
그렇다면 어떤 외주 프로젝트가 작업하기 좋은 프로젝트인가?
첫번째는 만드려고 하는 프로젝트에 대한 기획을 전달받고 이해했을 때 비즈니스적으로, 또 디자인에 있어서 말이 된다(make sense)고 생각하는 걸 하는 게 중요하다. 공감이 되지 않으면 그 프로젝트를 잡으면 안 된다. 그런 프로젝트여야 소통이 잘 되고, 또 애정을 가지고 개발할 수 있다.
두번째는 우리의 디자인 무드에 공감할 수 있을 것 같은 팀이랑 하는게 좋다. 그래야 우리가 만들면서 신난다. 그래야 칭찬을 많이 받을 수 있다. 그래야 팀이 뿌듯해하고 자신감을 가진다. 이런 이유에서 정기적으로 포트폴리오를 업데이트하는 것이 중요하다. 지금 만들고 있는 제품이 릴리즈되면 얼른 그리다 스튜디오 포트폴리오에 추가해야지..
세번째는 컬쳐핏 잘 맞는 팀이랑 일하는 것이 좋다. 컬쳐핏이라는 개념이 꽤나 모호한데, 여기에서는 커뮤니케이션 방식과 의사결정 방식 등을 의미한다. 컬쳐핏이 좋으면 프로젝트가 마무리되어도 좋은 파트너 관계가 유지될 가능성이 높다(당연한 얘기). 예를 들어 우리는 피그마를 업무에 사용하고 있는 고객사와 함께 일하는 걸 좋아한다.
어떻게 외주 프로젝트 일을 해야 하는가?
고객사가 만드려고 하는 프로덕트와 비즈니스에 대해 깊이 이해해야 한다. 나는 그래서 질문을 많이 한다. 질문 많이 해서 이해도를 높일 수 있는 것도, 디스콰이엇 팀원 시절부터 여러 메이커들을 만나고 그들의 비즈니스에 대해 물어봤기 때문이다. 어떻게 물어봐야 할지, 대략 어떤 그림을 그리고 있는지 알고 있다. (이건 자랑이다. 와하핫!) 경험에서 미루어 보아, 거의 컨설팅이라고 생각하고 꼼꼼히 고민해서 프로젝트에 착수해야 좋은 과정과 결과물이 나오는 것 같다.
초반부터 질문과 답변을 통해 ‘좋은’ 공유된 기획을 가져가는 게 중요하다. 아무리 깔끔한 기획이 나왔다고 해도, 제품을 만들다보면 고객사에서는 새로운 수정 아이디어가 떠오를 수 있다(대부분 그렇다). 그래서 초반부터 팀 내부적으로 고객사의 문제를 해결하기 위한 여러 아이디어들을 발산해보고 수렴을 거쳐서 화면을 그려놓아야 한다. 우리는 그려놓은 화면을 피그마 링크로 공유해 드린 후, 1-2주 정도의 시간을 가지고 서로 피드백한다.
개발 중에는 소통에서 기능 추가나 수정에 대해 선을 잘 그어야 한다. 위의 ‘실수’에서 언급했던 것처럼 고객사가 실망하는 것이 두려워 많은 요청을 반영하려 했을 때 오히려 결과물의 퀄리티와 만족도가 떨어진다. 좋은 과정과 결과는 성실한 이해와 솔직한 커뮤니케이션에서 나온다.
고객으로서 혹은 외주사로서 좋은 외주 프로젝트를 해낼 수 있는 방법에 대해 대화해보고 싶은 분은 han@grida.co 로 연락 주세요! 같이 얘기해봐요 :)