4만 6천 달러짜리 웹사이트 리디자인을 후회합니다
2년 전, 사업을 위해 웹사이트를 하나 만들었습니다. 형편없는 디자인 감각에 그럭저럭 괜찮아 보이는 템플릿을 결합해 그럭저럭 봐줄 만한 사이트를 만들었습니다. 사업이 궤도에 오르면 제대로 된 디자이너를 고용해 전문적으로 다듬어야겠다고 스스로 다짐했습니다.

TinyPilot 웹사이트, 디자인 개편 전
1년 뒤 사업은 월 4만 5천 달러의 매출을 올리고 있었지만, 웹사이트는 여전히 대학생의 취미 프로젝트처럼 보였습니다. 스스로에게 약속했던 전문적인 리디자인을 할 때가 된 것이었습니다.
제가 신경 쓰는 페이지는 세 개뿐이었기에 리디자인은 간단할 거라 생각했습니다. 길어야 몇 달, 비용은 1만 5천 달러 정도면 되겠지요.
리디자인이 끝난 뒤 사이트는 이렇게 바뀌었습니다.

TinyPilot 웹사이트, 디자인 개편 후
하지만 몇 달과 1만 5천 달러로 끝나지 않았습니다. 8개월과 4만 6천 달러, 그리고 엄청난 골칫거리가 들었습니다.
이제 프로젝트가 끝났으니 무엇이 잘못되어 일이 이토록 걷잡을 수 없이 커졌는지 되짚어보려 합니다.
무슨 생각을 하는지 압니다
웹사이트 세 페이지를 리디자인하는 데 4만 6천 달러를 썼다는 얘기를 들으면, 소프트웨어나 채용에 대해 아무것도 모르는 호구라고 생각하실 겁니다.
하지만 저는 이런 일을 처음 해보는 사람이 아닙니다! 저는 소프트웨어 개발자이며, 개발자, 아티스트, 작가, 편집자를 포함해 수십 명의 프리랜서를 고용해 본 경험이 있습니다.
이번 프로젝트에서도 실수를 했지만, 여러분이 예상하는 그런 뻔한 실수보다는 조금 더 흥미로운 이야기이길 바랍니다.
초기 견적: 4주와 7천 달러
여기서 에이전시를 비난하려는 것은 아니므로 그냥 DesignAgency라고 부르겠습니다. 미국에 기반을 둔 곳으로, Hacker News 월간 프리랜서 스레드를 통해 찾았습니다.
DesignAgency는 제가 인터뷰한 곳 중 가장 높은 견적을 제시했지만, 포트폴리오가 제가 원하는 스타일과 가장 잘 맞았습니다. 디자인, 커스텀 일러스트, 3D 이미징 등 다양한 분야의 인재를 사내에 보유하고 있었습니다.
DesignAgency의 CEO인 Isaac은 첫 통화에서 오히려 프로젝트 범위를 줄이자고 제안하며 제 신뢰를 얻었습니다. 자신에게는 수익이 줄어드는 일임에도, Isaac은 전면적인 리디자인 대신 리브랜딩을 제안했습니다. DesignAgency는 새로운 로고, 색상 체계, 폰트 같은 기본 요소에 집중하는 방식이었습니다.
리브랜딩을 마친 뒤에는 성과를 측정해 리디자인을 계속할 가치가 있는지 판단할 수 있을 것이었습니다. 설령 그렇지 않더라도 리브랜딩을 통해 디지털 마케팅 에이전시와 함께 마케팅 캠페인을 진행할 탄탄한 토대를 마련할 수 있었습니다.
현명한 생각처럼 들렸습니다!
DesignAgency는 리브랜딩에 2~4주 동안 30~40시간의 작업이 필요할 것으로 추산했습니다. 시간당 요율은 175달러였으니 새로운 로고와 브랜딩에 5천~7천 달러가 드는 셈이었습니다. 제 예산의 절반 수준이었으니 결정은 어렵지 않았습니다.
Isaac은 제가 다른 고객들에 비해 규모가 작다는 점을 미리 알려주었습니다. 대부분의 고객은 DesignAgency와 고액의 장기 리테이너 계약을 맺고 있었습니다. 이번 프로젝트는 범위가 매우 명확해서 시간제로 진행할 수 있었지만, 리테이너 고객에게 더 많은 시간이 필요할 경우 제 작업을 잠시 중단해야 할 수도 있다는 것이었습니다.
일이 바빠지면 1~2주 정도 프로젝트를 중단하는 것은 괜찮았습니다. 원래 2~3개월 정도 걸릴 것으로 예상했으니 몇 주가 더 늘어난다고 해도 큰 문제는 아니었습니다.
허니문 기간
프로젝트의 첫 달은 환상적이었습니다.
DesignAgency는 2주마다 리드 디자이너, 시니어 디자이너, 프로젝트 매니저, 그리고 Isaac이 함께하는 미팅에 저를 초대했습니다. 그들은 새로운 로고와 브랜딩 시안을 보여주었고 저는 피드백을 주었습니다. 다음 라운드에서는 조금 더 완성도에 가까워졌습니다.
6주 안에 우리 모두 마음에 드는 콘셉트로 좁혀졌습니다.




프로젝트 초반 몇 주 동안 DesignAgency가 보여준 TinyPilot 로고 시안의 변천 과정. 오래된 것부터 최신 순입니다.
첫 번째 위험 신호: 스코프 크립
초반 몇 번의 미팅에서 DesignAgency는 다양한 색상 옵션을 적용한 사이트 목업을 보여주었습니다.

처음에 디자인 에이전시는 다양한 색상 옵션이 기본적인 웹사이트 디자인에 어떻게 어울리는지 보여주었습니다.
프로젝트가 진행될수록 목업은 점점 더 정교해졌습니다. DesignAgency는 사이트에 들어갈 커스텀 이미지와 아이콘을 보여주기 시작했습니다.

디자인 에이전시는 브랜딩에 대한 관심이 줄어들고 전반적인 웹사이트 디자인에 집중하기 시작했습니다.
커스텀 일러스트에 대해서는 한 번도 논의한 적이 없었지만, 작업량이 적어 보여 그냥 넘어갔습니다.
몇 주 뒤 DesignAgency는 진행 상황을 공유한다며 미팅을 잡았지만, 로고나 브랜딩에서는 아무 진전이 없었습니다. 대신 미팅 내내 웹사이트 디자인 아이디어만 보여주었습니다.
“명확히 해두고 싶은데, 이 프로젝트는 여전히 리디자인이 아니라 리브랜딩이 맞죠?”라고 물었습니다.
“아, 네, 그럼요!” 리드 디자이너가 안심시켰습니다. “일부 브랜딩 요소는 기존 디자인 위에 얹으면 어울리지 않아서, 어떻게 보일지 빠르게 스케치해 본 것뿐입니다.”
그냥 로고나 끝내 주세요!
12월이 되자 프로젝트는 3개월째에 접어들었습니다. DesignAgency는 TinyPilot의 새 로고를 95% 완성한 상태였습니다. 제가 원한 것은 모서리 둥글기를 조금 바꾸고 테두리를 없애는 것뿐이었습니다. 몇 시간 정도면 될 작업이라 생각했습니다.
로고를 마무리하고 싶어 안달이 났던 이유는 그것이 프로젝트의 첫 번째 완성된 결과물이 될 것이기 때문이었습니다. 로고가 완성되면 웹사이트에 올리고, 제품의 웹 인터페이스에 적용하며, 기기 케이스에도 인쇄할 수 있었습니다.
필요한 것은 몇 시간의 작업뿐이었지만, 그 시간을 얻지 못했습니다.

DesignAgency가 최종 결과물을 전달하면 새 TinyPilot 로고를 적용할 수 있는 모든 위치.
대신 DesignAgency는 계속 웹사이트 리디자인을 이어갔습니다. 리드 디자이너는 로고 작업을 할 시간이 없었지만, 랜딩 페이지에 대한 이 새로운 디자인 아이디어는 어떻게 생각하냐고 물어왔습니다.
결정적인 순간은 DesignAgency가 사이트 블로그에 대한 새로운 디자인을 보여주기 시작했을 때였습니다. 처음부터 저는 세 페이지에만 관심이 있다고 분명히 말했습니다. 랜딩 페이지, 제품 페이지, 그리고 장바구니 페이지였습니다. 그 외의 모든 페이지는 명시적으로 범위 밖이었습니다.

블로그를 명시적으로 범위 밖으로 규정한 프로젝트 명세서 발췌.
저는 이 점을 DesignAgency에 지적했고, Isaac이 민망해하며 전화했습니다. 디자이너들이 단순한 스케치 수준을 넘어섰다는 것을 인정했습니다. 프로젝트에 너무 흥분한 나머지 열정이 과했다고 하면서, 블로그 리디자인에 쓴 시간은 청구에서 빼겠다고 했습니다.
두 달간의 연말 연휴 정체
12월 중순이 되자 DesignAgency가 모든 작업에서 진전을 멈췄다는 것을 알게 되었습니다.
그들은 저와 작업을 검토하는 미팅을 더 이상 잡지 않았고, 제가 디자인에 남긴 코멘트는 몇 주 동안 방치되었습니다.
연휴 때문이려니 생각했습니다. 12월에는 휴가를 떠나는 사람이 많으니 새해가 되면 다시 속도가 붙을 거라 여겼습니다.
새해가 시작되었지만 속도는 여전히 느렸을 뿐 아니라 작업의 질마저 떨어졌습니다. 프로젝트 초반의 쉽고 명확했던 소통은 사라졌습니다. 이제는 배경색에 대한 사소한 수정에도 세 번이나 의견을 주고받아야 했습니다.
“언제 시간을 낼 수 있을지 모르겠습니다”
2월 초, Isaac에게 무슨 일이 일어나고 있는지 묻는 이메일을 보냈습니다. 그는 전화로 프로젝트 진행 상황에 대해 사과하며, DesignAgency 내부 문제로 인해 제 프로젝트에 차질이 생겼다고 털어놓았습니다. 프로젝트 매니저가 11월에 퇴사했고, Isaac은 대체 인력을 찾는 동안 직접 그 역할을 메우느라 허둥대고 있었다고 했습니다.
Isaac은 제가 느낀 품질 저하가 착각이 아니라고 인정했습니다. DesignAgency는 더 큰 고객들의 작업으로 과부하 상태였습니다. 디자이너들은 짬이 날 때마다 제 작업을 끼워 넣고 있었지만, 아마도 시작할 때만큼 집중하지는 못하고 있었습니다.
TinyPilot이 그들에게는 작은 고객이라는 점은 이해했습니다. 다른 작업이 한가해질 때까지 몇 주 정도는 기꺼이 기다릴 수 있었지만, 남은 10~20시간은 12월과 1월에 봤던 허겁지겁 끼워 넣는 시간이 아니라 10월처럼 질 높은 시간으로 채워지길 바랐습니다.
“프로젝트는 반드시 끝내 드리겠습니다.” Isaac이 말했습니다. “다만 시간을 언제 낼 수 있을지는 모르겠습니다.” 향후 두 달 안에 시간을 낼 수 있겠냐고 묻자 그는 확신하지 못했습니다.
하지만 Isaac에게는 프로젝트를 앞당길 아이디어가 있었습니다.
해결책은 돈을 더 내라는 것
진짜 문제는 제가 유일한 시간제 고객이라는 점이라고 Isaac은 말했습니다. 장기 리테이너 고객에게 항상 밀릴 수밖에 없다는 것이었습니다. 그렇다면 리테이너 계약을 맺어 DesignAgency의 시간을 보장받는 것은 어떻겠냐고 제안했습니다. 리테이너는 월 40시간부터 시작하며 시간당 160달러였습니다.
속았다는 느낌, 조종당한다는 느낌이 들었습니다. DesignAgency는 모든 작업이 80% 완료된 상태이지만 아무것도 쓸 수 없도록 일을 구조화해 두었습니다. 다른 업체로 작업을 옮기려면 엄청난 재작업이 필요했습니다. 그런데 이제 마지막 20%를 볼모로 잡고 비싼 리테이너 계약에 서명하라고 하는 것 아닙니까?

가능한 한 외교적으로 Isaac에게 이 상황은 DesignAgency의 책임이라고 느꼈다고 말했습니다. 리테이너 계약이 모두에게 더 좋았다면 왜 몇 달 전에 제안하지 않았냐고 했습니다. 진작 제안했더라면 프로젝트는 이미 끝났을 것이었습니다.
Isaac은 상황이 저에게 불공평했음을 인정했습니다. 그는 12월과 1월 청구서를 제가 리테이너 계약을 맺은 것처럼 소급 적용해 차액을 환불하겠다고 약속했습니다. 그 제안은 제가 리테이너에 서명하는 것과는 무관한 것이었습니다.
하지만 한 달에 40시간을 어디에 쓰라는 말입니까? 프로젝트에는 20시간밖에 남지 않았습니다.
Isaac은 DesignAgency가 개발 작업까지 맡는 것을 제안했습니다. DesignAgency의 요율은 TinyPilot의 인하우스 개발자보다 높았지만, Isaac은 전체 비용은 오히려 줄어들 것이라고 예측했습니다. TinyPilot의 개발자들은 Python이나 JavaScript 같은 프로그래밍 언어에 특화되어 있는 반면, DesignAgency의 개발자들은 디자인 중심의 CSS 작업에 더 경험이 많다는 이유였습니다.
저는 리테이너에 서명했습니다. 60시간의 고품질 리테이너 시간이 3월부터 시작되기로 예정되었습니다.
개발이 시작되자… 자잘한 버그 수정?
리테이너 계약은 순조롭게 시작되었습니다. 첫 주 안에 DesignAgency는 남아 있던 디자인 작업을 거의 모두 마무리했습니다. 아직 다듬어야 할 부분이 조금 남아 있었지만, 세 페이지 중 두 페이지는 개발자에게 넘길 준비가 되었습니다.
그리고는, 감감무소식이었습니다.
2주 동안 개발팀으로부터 아무런 소식이 없었습니다. Isaac에게 무슨 일이냐고 묻자 그는 DesignAgency의 일정은 유동적이어서 매주 제 프로젝트를 작업하는 것은 아니라고 설명했습니다. 월말까지는 제가 결제한 나머지 48시간을 반드시 사용할 것이라고 장담했습니다.
월말이 되었을 때 DesignAgency는 웹사이트를 새 디자인에 전혀 가깝게 만들지 못했습니다. 대신 월말 며칠 동안 제 이슈 트래커에 있던 자잘한 버그들을 수정하는 데 시간을 썼습니다.

DesignAgency 개발자 중 한 명이 한 달 60시간 중 15시간을 작업 큐 맨 끝에 있던 자잘한 버그를 수정하는 데 사용했습니다.
DesignAgency가 왜 이런 사소한 버그들을 맡았는지 궁금하시다고요? DesignAgency는 각 리디자인 작업에 대해 GitHub 티켓을 만들어 달라고 요청했습니다. 사용하지 않은 시간은 환불도 이월도 되지 않는다고 경고하면서, 리디자인 외의 작업들로 일정을 초과 예약하도록 권장했습니다.
제가 예상하지 못했던 것은 DesignAgency가 티켓을 개발자들 사이에 어떻게 배분했는지였습니다. 개발자 A는 X 페이지를, 개발자 B는 Y 페이지를 맡을 거라 생각했습니다. 하지만 DesignAgency는 디자인 관련 티켓을 모두 개발자 A에게 몰아주고 나머지를 개발자 B에게 맡겼습니다. 그렇게 3월 개발 예산의 4분의 1이 자잘한 버그 수정에 쓰였습니다.
일주일짜리 작업이 5주가 되기까지
4월에는 새로운 문제가 생겼습니다.
TinyPilot 웹사이트는 Bootstrap CSS 프레임워크를 사용하며, 처음 사이트를 만들었을 때의 Bootstrap 테마를 그대로 쓰고 있었습니다.
DesignAgency는 전혀 다른 테마 위에 새로운 디자인을 얹는 것은 지저분해질 것이라고 지적했습니다. 그들은 기존 테마와 임시방편으로 만든 CSS를 커스텀 TinyPilot Bootstrap 테마로 교체하자고 제안했습니다. 개발자는 교체에 며칠이면 충분하고, 나머지 프로젝트도 더 빨라질 것이라고 추산했습니다.
괜찮은 생각처럼 들렸습니다.
며칠이 몇 주로 늘어났지만 새 테마에 대한 업데이트는 없었습니다. 작업이 예상보다 오래 걸리는 것일까, 아니면 3월처럼 월말 며칠에 모든 것을 몰아 넣으려는 것일까 궁금했습니다.
다음 달 청구서가 답을 알려주었습니다. Bootstrap 테마 교체라는 ‘일주일짜리’ 작업은 결국 5주와 38시간이 걸렸고 총 비용은 6,100달러였습니다.


5주와 6,100달러의 웹 개발 전후 비교
마지막 달
5월이 되자 원래 4주, 7천 달러짜리 리브랜딩이었던 프로젝트는 7개월과 4만 6천 달러가 투입된 상태였습니다. 매달 결승선이 몇 주 앞으로 다가온 것 같았지만, 매번 무언가가 튀어나와 DesignAgency가 제가 중요하게 여기는 작업을 마무리하지 못하게 했습니다.
이제 그만할 때가 되었습니다. 저는 계약 해지를 위해 요구되는 28일 전 통지를 DesignAgency에 전달했습니다.
DesignAgency는 매달 요금을 선불로 요구했기에 마지막 달 치 금액도 이미 받아둔 상태였습니다. 게다가 저는 계약을 해지했는데, 그들이 작업을 마무리할 동기가 무엇이 있겠습니까?
놀랍게도 계약을 해지한 뒤 개발 작업은 그 어느 때보다 순조로웠습니다. 마침내 프로젝트는 제가 처음에 기대했던 속도로 진행되었습니다. DesignAgency는 각 페이지를 7~10일 안에 코딩해 냈습니다.
여전히 문제는 있었지만 이번에는 대비하고 있었습니다. DesignAgency는 계속 디자인에 새로운 장식을 추가하자고 제안했습니다. 저는 모두 거절하고 승인한 디자인에 집중해 달라고 말했습니다. 그렇게 하길 잘했습니다. 그렇지 않았다면 아마 지금도 웹사이트 작업을 하고 있을 테니까요.
월말 마지막 날까지도 마지막 페이지는 완성되지 않았고, DesignAgency는 프로젝트 종료에 대해 아무런 연락도 하지 않았습니다.
계약이 공식적으로 종료된 다음 날인 6월 1일, 개발자는 Isaac이 남은 작업을 무료로 마무리하도록 승인했다고 전했습니다. 그는 이틀 안에 마지막 페이지를 완성했습니다.
그리고 마침내 끝났습니다! 이 프로젝트는 제가 처음 원했던 것보다 훨씬 커졌고, 끝없이 시간과 돈을 빨아들이는 일이 되어버렸습니다. 마침내 뒤로 할 수 있게 되어 엄청난 안도감을 느꼈습니다.
전후 비교
리디자인이 끝난 뒤 사이트는 이렇게 바뀌었습니다.


랜딩 페이지 리디자인 전후 비교


제품 페이지 리디자인 전후 비교


장바구니 페이지 리디자인 전후 비교
회고
프로젝트가 끝난 뒤 Isaac에게 통화를 요청해 각자 무엇을 달리했다면 결과를 개선할 수 있었을지 논의했습니다. 함께한 작업에서 얻은 교훈에 대해 블로그 글을 쓰고 있다고 설명했습니다.
Isaac은 프로젝트가 자신이 바랐던 만큼 순조롭게 진행되지 않았다고 솔직하게 말했습니다. 근본적인 문제는 DesignAgency가 TinyPilot의 예산에 맞춰 워크플로를 축소하는 데 어려움을 겪었다는 점이라고 했습니다. 그들의 일반적인 고객은 월 2만~4만 달러 규모의 리테이너를 맺습니다. TinyPilot은 월 40~60시간만 구매했는데, 이 정도 규모는 보통 신규 개발이 아니라 유지보수에 할당되는 수준이라고 했습니다.
저는 좀 더 빨리 쓸 수 있는 결과물을 받을 수 있도록 작업을 구조화했더라면 좋았을 거라고 Isaac에게 말했습니다. 로고를 먼저 받고, 그다음 새로운 내비게이션 바 디자인, 그다음 랜딩 페이지 디자인 식으로 진행했더라면 좋았을 것입니다. 그는 DesignAgency의 고객들은 보통 중간 산출물보다 최종 결과물에만 관심이 있지만, 점진적인 방식이 왜 저에게는 도움이 되었을지 이해한다고 했습니다.
DesignAgency가 프로젝트를 거의 관리하지 않은 점에 대해 놀랐다고 말했습니다. 프로젝트 매니저가 정기적으로 진행 상황을 공유하고 일정을 관리해 줄 것이라 기대했지만 아무도 그렇게 하지 않았습니다. Isaac은 그것이 자신의 실수였다고 말했습니다. DesignAgency는 프로젝트 관리를 청구 시간의 5% 미만으로 유지하려 합니다. 제 규모에서는 5%가 너무 적어 실질적인 도움이 되지 않으니 아예 프로젝트 관리를 없앴다는 것이었습니다. 돌아보니 그런 결정을 내릴 때 저와 상의해 제가 원하는 바가 맞는지 확인했어야 했다고 인정했습니다.
DesignAgency가 작업 시간을 너무 드문드문 공유하고 불규칙한 일정으로 일했기 때문에, 언제 작업이 제 예상을 넘어 부풀어 오르는지 전혀 알 수 없었습니다. 이 문제를 더 일찍 제기했더라면 좋았을 텐데, 알고 보니 요청하기만 하면 되는 일이었습니다. DesignAgency는 toggl로 작업 시간을 추적하며, Isaac은 기꺼이 대시보드 접근 권한을 주었을 것이라고 했습니다.
다시 한다면 달리할 점
만약 이 프로젝트를 다시 진행한다면 달리할 점들을 중요도 순으로 정리해 보았습니다.
에이전시 대신 개인 프리랜서를 고용한다
이번 한 번의 경험으로 에이전시 전체를 일반화하고 싶지는 않지만, 제 규모의 비즈니스에는 개인 프리랜서가 더 잘 맞았을 것이라 생각합니다.
많은 문제가 관리, 리소스 배분, 커뮤니케이션과 관련되어 있었습니다. 팀으로 일할 때 이런 문제들이 얼마나 어려워질지 크게 과소평가했습니다.
에이전시는 월 40~60시간을 제 프로젝트에 투입했는데, 이는 TinyPilot의 다른 프리랜서 개발자 한 명과 같은 수준이었습니다. 에이전시도 프리랜서 한 명과 비슷한 수준의 관리면 될 거라 생각했지만, 한 달에 총 40시간만 일하더라도 여러 명이 참여하면 더 많은 관리가 필요합니다.
순차적이고 점진적인 결과를 내도록 구조화한다
처음에는 에이전시가 가능한 한 병렬적으로 작업하도록 두는 것이 당연해 보였습니다. 그렇게 하면 리소스를 효율적으로 활용해 더 빠르고 저렴하게 결과를 얻을 수 있을 것 같았습니다.
하지만 이렇게 생각해 보십시오. 한 달씩 걸리는 여덟 개의 작업으로 이루어진 프로젝트가 있다면 어느 쪽을 선택하시겠습니까?
- 8개월 동안 매달 한 개씩 작업을 완성하는 방식
- 7개월 동안 아무것도 없다가 8개월째 마지막에 모든 것을 한꺼번에 받는 방식
한 번에 하나씩 완성하는 방식이 훨씬 가성비가 좋습니다. 첫 달이 끝나면 향후 7개월 동안 비즈니스에 가치를 제공하는 결과물 하나를 갖게 됩니다. 두 번째 달에는 더 많아지고, 이런 식으로 계속됩니다.
모든 것을 병렬로 진행하면 협상에서도 불리해집니다. 에이전시가 여덟 개 작업을 모두 80% 완성해 둔 상태라면, 프로젝트 범위를 줄이거나 업체를 바꾸는 데 큰 비용이 듭니다. 한 번에 두세 개 작업으로 제한하면 프로젝트가 잘못되더라도 위험에 처하는 것은 그 작업들뿐입니다.
마지막으로, 여덟 개의 하위 프로젝트를 동시에 관리하는 것은 정신적으로도 더 부담이 큽니다. 끝나지 않은 작업 하나하나가 머릿속을 차지합니다. 모든 것을 프로젝트 전체 기간에 걸쳐 질질 끄는 것보다 작은 단위로 하나씩 끝내는 것이 낫습니다.
프로젝트 범위를 좁힌다
디자인 단계에서 에이전시가 로고, 색상 체계, 폰트에만 집중해야 했음에도 웹사이트 리디자인을 너무 멀리까지 나가도록 내버려 두었습니다.
구현 단계에서는 새로운 디자인을 게시하는 작업을 마치기 전까지 자잘한 버그 수정에 손대지 못하도록 더 단호하게 막았어야 했습니다.
일정에 합의한다
DesignAgency 팀과의 첫 미팅에서 프로젝트가 얼마나 걸릴 것 같냐고 물었습니다. 리드 디자이너는 “끈의 길이는 얼마나 될까요?”라고 되물었습니다.
그건 저에게 달렸다는 설명이었습니다. 첫 시안을 마음에 들어 할 수도 있고, 몇 주 동안 모든 것을 거절할 수도 있다는 것이었습니다. 일리 있는 말이라 더 정확한 일정을 요구하지 않았습니다.
이런 느슨한 태도가 개발 작업까지 이어지도록 내버려 둔 것이 실수였습니다. 각 작업의 예상 소요 시간을 공유하도록 개발자들을 더 압박하고, 작업이 예상을 크게 벗어나 부풀어 오르면 범위를 재검토하자고 요청했어야 했습니다. 그랬다면 며칠이면 될 줄 알았던 작업이 5주짜리 리팩터링 여정이 되는 상황을 막을 수 있었을 것입니다.
청구 시간을 함께 볼 수 있는 수단을 요구한다
범위가 부풀어 오른 많은 문제는 DesignAgency의 느린 보고 피드백 루프 때문이었습니다.
DesignAgency의 프로세스는 한 달에 두 번 시간을 보고하는 것입니다. 15일에는 어떤 작업에 쓰였는지 상세 내역 없이 총 사용 시간만 공유합니다. 월말이 되어서야 작업별 상세 내역을 보내줍니다.


DesignAgency는 매월 15일에 단순 총 시간을 보고하고 월말에 상세 내역을 보고합니다.
반면 TinyPilot의 인하우스 개발자들은 각 작업 세션이 끝날 때마다 시간을 보고하므로 진행 상황을 훨씬 잘 파악할 수 있습니다. 10시간짜리 작업이 25시간짜리처럼 보이기 시작하면, 그 작업을 없애거나 범위를 줄일지 재검토합니다.

TinyPilot 인하우스 개발자들은 작업하는 즉시 시간을 보고합니다.
앞으로 디자인 에이전시와 일하게 된다면, TinyPilot의 기존 개발자들과 쓰는 것처럼 청구 시간이 발생하는 즉시 함께 볼 수 있는 툴을 반드시 요구할 것입니다.
가장 작은 고객이 되는 업체는 피한다
프로젝트를 시작할 때 DesignAgency는 대부분의 고객이 저보다 규모가 크지만 제 성장을 돕고 싶다고 말했습니다. 제한된 예산으로도 대기업만 누리는 서비스를 받을 수 있는 좋은 기회처럼 들렸습니다.

제가 기억하는 DesignAgency와의 첫 대화.
실제로는 더 큰 고객들과 같은 서비스를 받지 못했습니다. 시간제 고객이었을 때는 DesignAgency가 리테이너 고객을 우선하느라 제 일을 계속 미뤘습니다. 리테이너로 전환한 뒤에는 제 예산 안에서 효과적으로 일하는 데 어려움을 겪었습니다.
“왜 그냥… 하지 않았나요?”
이 이야기의 일부를 월간 회고에 공유했을 때, 왜 쉽고 당연한 방법으로 문제를 해결하지 않았냐는 질문을 받았습니다. 선의의 피드백이라고 생각하지만, 대부분 탁상공론하는 전문가나 에이전시와 크고 힘 있는 고객으로만 일해 본 사람들의 시각에서 나온 질문이라고 생각합니다.
아래에서 제가 받은 당연해 보이는 제안들이 왜 통하지 않았는지 설명하겠습니다.
왜 일이 끝날 때까지 비용 지급을 거부하지 않았나요?
DesignAgency는 선불 결제를 요구했습니다. 시간제 계약에서는 30시간 단위로 시간을 구매해야 했습니다. 월간 리테이너의 경우 매월 1일까지 그 달의 비용을 지불해야 했습니다. 프로젝트 완료를 강제할 재정적 지렛대가 없었습니다.
처음부터 마일스톤 기반 결제를 고집했다면 DesignAgency는 아마 프로젝트를 거절했을 것입니다. 그들은 저를 성장 가능성이 있는 작은 고객으로 보았지만, 대기업처럼 까다롭게 구는 작은 고객과 일하고 싶어 하는 곳은 없습니다.
왜 시간당 4달러짜리 저렴한 개발자를 찾지 않았나요?
제 경험상 저렴한 개발자가 쓸 만한 경우는 다음과 같습니다.
- 정확히 한 번만 작동하면 되는 일회용 코드가 필요한 경우
- 자신의 시간을 0으로 평가해, 프리랜서로부터 한 시간의 결과물을 받는 대가로 두 시간의 피드백을 주는 것을 개의치 않는 경우
저는 TinyPilot 웹사이트를 한동안 유지할 계획이므로 제가 직접 유지보수할 수 있는 코드가 필요합니다. 그러려면 명확한 코드를 작성할 수 있는 유능한 개발자가 필요합니다.
왜 그냥 해고하고 더 나은 사람을 고용하지 않았나요?
DesignAgency를 해고하고 대체 업체를 찾는 데 30~60시간의 관리 시간이 들었을 것입니다. 그리고 더 나은 곳을 찾을 수 있다는 보장도 없었습니다.
프로젝트의 대부분 기간 동안 저는 수많은 반쯤 완성된 작업을 안고 있었습니다. 반쯤 끝난 작업을 넘기고 새로운 업체를 투입하는 비용은 거의 처음부터 다시 시작하는 것과 마찬가지였을 것입니다.
왜 그냥 Shopify 템플릿을 쓰지 않았나요?
웹사이트를 처음 만들던 때로 돌아간다면 간단한 Shopify 스토어에 커스텀 테마를 입혔을 것입니다.
사이트를 처음 시작할 때는 Shopify에 종속되고 템플릿 시스템을 배울 필요가 없다고 생각했습니다. 그저 간단한 “구매” 버튼 하나만 있으면 됐기 때문입니다. 그래서 제가 잘 아는 프론트엔드 프레임워크를 사용해 사이트를 직접 코딩했습니다.
시간이 지나면서 TinyPilot의 구매 경험은 점점 더 복잡해졌습니다. 결국 Shopify 템플릿을 썼다면 무료로 쓸 수 있었을 기능들을 비싼 비용을 들여 다시 구현하게 되었습니다. 하지만 이 시점에서 모든 콘텐츠를 Shopify로 옮기는 것 자체가 또 하나의 대형 프로젝트가 되므로, 기존 사이트를 리디자인하는 쪽을 택했습니다.
결론
저는 DesignAgency가 이번 프로젝트에서 진심으로 최선을 다했다고 믿습니다. 그들이 저를 속이거나 돈을 더 뜯어내려 했다고 생각하지 않습니다. 그저 서로 맞지 않았을 뿐입니다. 저는 개인 프리랜서와 일하는 데 익숙했고, DesignAgency는 더 큰 고객들과 일하는 데 익숙했습니다.
다시 하라면 하지 않겠습니다. 하지만 모든 실수와 스트레스에도 불구하고 결과가 그 고통을 정당화할지도 모릅니다. 새 웹사이트로 매출이 10~20% 늘어날 것이라 기대했는데, 실제로는 40%에 가깝게 올랐습니다. 7월에는 TinyPilot 웹사이트 매출이 역대 최고인 7만 2,500달러를 기록하며 리디자인 전보다 66% 증가했습니다.
아직 단정하기는 이르지만, DesignAgency에 지불한 4만 6천 달러에 대해 긍정적인 수익을 낼 수 있을 것이라 낙관하고 있습니다.

지난 1년간 TinyPilot 웹사이트를 통한 매출
개집 일러스트: Loraine Yow.
Blogging for Devs Community 회원들에게 이 글에 대한 초기 피드백을 제공해 주셔서 감사드립니다.
글을 무작위로 읽기