I Regret My $46k Website Redesign

Michael Lynch

4만 6천 달러짜리 웹사이트 리디자인을 후회한다

원문은 Michael Lynch님이 에 게재했습니다. 이 블로그 구독하기

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는 내 사이트에 다양한 컬러 옵션을 적용한 목업을 보여줬다.

다양한 색상과 로고가 적용된 TinyPilot 웹사이트 기본 디자인

처음에는 디자인 에이전시가 서로 다른 기본 웹사이트 디자인에 다양한 컬러 옵션이 어떻게 보이는지 보여줬다.

프로젝트가 진행되면서 목업은 점점 더 정교해졌다. DesignAgency는 사이트를 위한 커스텀 이미지와 아이콘을 보여주기 시작했다.

다양한 색상과 로고가 적용된 TinyPilot 웹사이트 기본 디자인

디자인 에이전시는 브랜딩에는 점점 관심이 없어지고 전체 웹사이트 디자인에 집중하기 시작했다.

커스텀 일러스트에 대해 논의한 적은 없었지만 작업량이 많지 않아 보여 그냥 넘어갔다.

몇 주 뒤 DesignAgency는 업데이트를 공유한다며 미팅을 잡았지만 로고나 브랜딩에는 아무런 진전이 없었다. 대신 미팅 내내 웹사이트 디자인 아이디어만 보여줬다.

“명확히 해두자면, 지금 프로젝트는 여전히 리디자인이 아니라 리브랜딩이 맞죠?” 내가 물었다.

“아, 네, 맞아요!” 리드 디자이너가 나를 안심시켰다. “브랜딩 중에는 기존 디자인 위에 얹으면 어울리지 않는 것들이 있어서, 어떻게 보일지 빠르게 스케치해 본 것뿐이에요.”

그냥 로고나 끝내자!

12월이 되자 프로젝트는 3개월 차에 접어들었다. DesignAgency는 TinyPilot의 새 로고를 95% 완성한 상태였다. 내가 원한 건 모서리의 둥글기를 조금 바꾸고 테두리를 없애는 것뿐이었다. 두어 시간이면 끝날 작업이라고 생각했다.

나는 로고를 빨리 확정하고 싶었다. 이 프로젝트의 첫 번째 완성된 결과물이 될 것이기 때문이었다. 로고가 준비되면 웹사이트에 게시하고, 제품의 웹 인터페이스에 적용하며, 기기 케이스에도 인쇄할 수 있었다.

필요한 건 딱 두어 시간의 작업뿐이었다. 하지만 그 시간을 얻지 못했다.

기존 로고가 표시된 TinyPilot 웹사이트, 앱 인터페이스, 케이스 사진

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이 사소한 버그 수정에 쓰였다.

1주일짜리 작업이 5주가 걸리기까지

4월에는 새로운 문제가 생겼다.

TinyPilot 웹사이트는 Bootstrap CSS 프레임워크를 사용하고 있었고, 처음 론칭했을 때의 Bootstrap 테마를 그대로 쓰고 있었다.

DesignAgency는 전혀 다른 테마 위에 새로운 디자인을 덧씌우는 건 지저분해질 거라고 지적했다. 그들은 기존 테마와 임시방편으로 만든 CSS를 커스텀 TinyPilot Bootstrap 테마로 교체하자고 제안했다. 담당 개발자는 교체에 며칠만 걸릴 거라 예상했고, 그렇게 하면 나머지 프로젝트가 더 빨라질 것이라고 했다.

그래, 괜찮아 보였다.

며칠이 몇 주로 늘어졌지만 새로운 테마에 대한 업데이트는 없었다. 작업이 예상보다 오래 걸리는 걸까? 아니면 3월의 반복으로, 월말 며칠에 모든 걸 몰아넣으려는 걸까?

다음 달 청구서가 답을 줬다. Bootstrap 테마를 교체하는 “1주일짜리” 작업은 결국 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이 남은 작업을 무료로 마무리하도록 승인했다고 알려왔다. 그는 이틀 안에 마지막 페이지를 마무리했다.

그리고 마침내 끝났다! 이 프로젝트는 내가 처음 원했던 것보다 훨씬 커져버렸고, 끝없이 시간과 돈을 빨아들이는 존재가 되었다. 뒤로 하고 나니 엄청난 안도감이 들었다.

전과 후

리디자인 후 사이트는 이렇게 바뀌었다.

이전 랜딩 페이지 스크린샷새 랜딩 페이지 스크린샷

랜딩 페이지 리디자인 전과 후

이전 Voyager 2 제품 페이지 스크린샷새 Voyager 2 제품 페이지 스크린샷

제품 페이지 리디자인 전과 후

이전 장바구니 페이지 스크린샷새 장바구니 페이지 스크린샷

장바구니 페이지 리디자인 전과 후

회고

프로젝트가 끝난 뒤 나는 Isaac에게 전화를 제안해 우리 각자가 프로젝트 결과를 개선하기 위해 무엇을 할 수 있었는지 논의했다. 함께 작업하면서 얻은 교훈에 대해 블로그 글을 쓰고 있다고 설명했다.

Isaac은 프로젝트가 기대만큼 순조롭게 진행되지 않았다고 솔직하게 말했다. 근본적인 문제는 DesignAgency가 TinyPilot의 예산에 맞춰 워크플로를 축소하는 데 어려움을 겪었다는 점이라고 느꼈다. 그들의 일반적인 고객은 월 2만~4만 달러 규모의 리테이너를 맺는다. TinyPilot은 월 40~60시간만 구매했는데, 그들은 그 정도 규모를 보통 신규 개발이 아니라 유지보수에 배정한다.

나는 Isaac에게 쓸 수 있는 결과물을 더 빨리 받을 수 있도록 작업을 구조화했더라면 좋았을 거라고 말했다. 로고를 먼저 받고, 그다음 새로운 내비게이션 바 디자인, 그다음 랜딩 페이지 디자인 식으로 진행했으면 더 좋았을 것 같다고 했다. 그는 DesignAgency의 고객들은 보통 중간 결과물보다 최종 결과물에만 관심이 있지만, 점진적인 작업이 내게 왜 도움이 됐을지는 이해한다고 했다.

나는 DesignAgency가 프로젝트를 얼마나 적게 관리했는지에 대해 놀랐다고 말했다. 프로젝트 매니저가 정기적으로 현황을 업데이트하고 일정을 관리해주리라 기대했지만 아무도 그렇게 하지 않았다. Isaac은 그건 자신의 실수였다고 말했다. DesignAgency는 프로젝트 관리를 청구 시간의 5% 미만으로 유지하려 한다. 내 규모에서는 5%가 실질적인 도움이 되기엔 너무 적었기에 그는 프로젝트 관리를 아예 없애버렸다. 돌이켜보면 그 대화를 나를 포함해 진행했어야 했고, 그게 내가 원하는 바인지 확인했어야 했다고 인정했다.

DesignAgency가 시간을 너무 드물게 공유하고 불규칙한 일정으로 일했기 때문에 나는 작업이 언제 내 예상을 넘어 부풀어 오르는지 전혀 알 수 없었다. 이 문제를 더 일찍 제기했더라면 좋았을 텐데, 알고 보니 물어보기만 하면 되는 일이었다. DesignAgency는 청구 시간을 toggl로 추적하고 있었고, Isaac은 기꺼이 대시보드 접근 권한을 줬을 거라고 했다.

다르게 한다면

만약 이 프로젝트를 다시 진행한다면, 내가 다르게 할 일들을 중요도 순으로 정리하면 다음과 같다.

에이전시 대신 개인 프리랜서를 고용하기

이번 한 번의 경험으로 에이전시 전체를 일반화하고 싶지는 않지만, 내 규모 정도의 비즈니스에는 개인 프리랜서가 더 잘 맞았을 것 같다.

많은 문제가 관리, 리소스 배분, 커뮤니케이션과 관련된 것이었다. 한 명이 아니라 팀과 일할 때 이런 문제가 얼마나 어려워지는지를 나는 크게 과소평가했다.

에이전시는 TinyPilot의 다른 프리랜서 개발자들과 마찬가지로 월 40~60시간을 나와 함께 일했다. 한 명의 프리랜서와 비슷한 수준의 관리면 될 거라 생각했지만, 한 달에 합쳐서 40시간만 일하더라도 더 많은 사람이 참여하면 더 많은 관리가 필요하다.

순차적이고 점진적인 결과물 중심으로 구조화하기

처음에는 에이전시가 최대한 병렬로 작업하도록 두는 게 당연해 보였다. 그렇게 하면 그들이 리소스를 효율적으로 쓸 수 있어 더 빠르고 저렴하게 결과를 얻을 수 있을 것 같았다.

하지만 이렇게 생각해 보자. 한 달씩 걸리는 작업이 여덟 개 있는 프로젝트라면, 다음 중 어느 쪽을 원하겠는가?

  • 8개월 동안 매달 한 개씩 작업을 완성하기
  • 7개월 동안 아무것도 받지 못하고 8개월째 말에 모든 것을 한꺼번에 받기

한 번에 하나씩 완성하는 쪽이 돈 대비 가치가 더 높다. 첫 달이 끝나면 앞으로 7개월 동안 비즈니스에 가치를 더할 하나의 결과물을 갖게 된다. 두 번째 달에는 더 많아지고, 그런 식으로 계속된다.

모든 것을 병렬로 진행하면 협상에서도 불리해진다. 에이전시가 여덟 개 작업을 모두 80%씩 완성해 둔 상태라면 프로젝트 범위를 줄이거나 업체를 교체하는 데 큰 비용이 든다. 한 번에 두세 개 작업으로 제한하면 프로젝트가 잘못되더라도 위험에 처하는 건 그 작업들뿐이다.

마지막으로, 여덟 개 하위 프로젝트를 한꺼번에 감독하는 것은 정신적으로 더 큰 부담이다. 끝나지 않은 모든 작업이 머릿속 공간을 차지한다. 전체 프로젝트 기간 내내 모든 걸 질질 끌기보다 작은 묶음 단위로 하나씩 끝내는 편이 낫다.

프로젝트 범위 좁히기

디자인 단계에서 나는 에이전시가 로고, 컬러 시스템, 폰트에만 집중해야 하는데도 웹사이트 리디자인을 너무 멀리까지 하도록 내버려 뒀다.

구현 단계에서는 새로운 디자인을 게시하는 작업을 끝내기 전까지 사소한 버그 수정을 하지 못하도록 더 단호하게 막았어야 했다.

일정에 합의하기

DesignAgency 팀과의 첫 미팅에서 나는 프로젝트가 얼마나 걸릴 것으로 예상하냐고 물었다. 리드 디자이너는 “끈 길이가 얼마나 될까요?”라고 되물었다.

그가 설명하길, 그건 나에게 달렸다는 것이었다. 내가 첫 시안을 마음에 들어 할 수도 있고, 몇 주 동안 모든 걸 거절할 수도 있다는 것이었다. 그럴듯한 말이라 더 정확한 일정을 요구하지 않았다.

나는 그 느슨한 태도가 개발 작업까지 이어지도록 잘못 내버려 뒀다. 개발자들에게 각 작업의 예상 소요 시간을 공유하도록 압박하고, 작업이 예상을 훨씬 넘어 부풀면 범위를 재검토하자고 했어야 했다. 그랬다면 며칠이면 끝날 줄 알았던 5주짜리 리팩터링 같은 상황을 막을 수 있었을 것이다.

청구 시간에 대한 공유 뷰 요구하기

범위 부풀기의 많은 문제는 DesignAgency의 보고 체계에서 피드백 루프가 느렸기 때문에 발생했다.

DesignAgency의 프로세스는 한 달에 두 번 시간을 보고하는 것이다. 15일에는 어떤 작업에 시간이 쓰였는지 세부 내역 없이 총 사용 시간만 공유한다. 월말에야 작업별 세부 내역을 보낸다.

작업별 DesignAgency 청구 내역 스크린샷작업별 DesignAgency 청구 내역 스크린샷

DesignAgency는 매월 15일에 단순 총 시간을 보고하고 월말에 세부 내역을 제공한다.

반면 TinyPilot의 인하우스 개발자들은 각 작업 세션이 끝날 때마다 시간을 보고하므로 진행 상황을 더 잘 파악할 수 있다. 10시간짜리 작업이 25시간짜리처럼 보이기 시작하면, 그 작업을 없애거나 범위를 줄일지 재평가한다.

Deel에서의 TinyPilot 작업 시간 보고 스크린샷

TinyPilot의 인하우스 개발자들은 작업하는 즉시 시간을 보고한다.

앞으로 디자인 에이전시와 일하게 된다면 TinyPilot의 정규 개발자들과 쓰는 것과 유사하게 청구 시간이 발생하는 즉시 공유할 수 있는 툴을 반드시 요구할 것이다.

가장 작은 고객으로 업체를 고용하지 않기

프로젝트를 시작할 때 DesignAgency는 대부분의 고객이 나보다 규모가 크지만 내 성장을 돕고 싶다고 말했다. 제한된 예산으로도 대기업만 받는 서비스를 누릴 수 있는 좋은 기회처럼 들렸다.

Mad Men의 한 장면. Mohawk 항공이 Don Draper에게 말한다. ‘Sterling Cooper는 큰 항공사가 필요 없다고 했죠... 당신은 *우리를* 큰 항공사로 만들겠다고 했잖아요.’

내가 기억하는 DesignAgency와의 첫 대화.

현실에서는 더 큰 고객들과 같은 서비스를 받지 못했다. 시간제 고객일 때는 DesignAgency가 리테이너 고객을 우선하느라 계속 내 순위를 뒤로 미뤘다. 리테이너 플랜으로 업그레이드한 뒤에는 내 예산 안에서 효과적으로 일하는 데 어려움을 겪었다.

왜 그냥 …하지 않았나요?

나는 이 이야기의 일부를 월간 회고에 공유했고, 왜 쉽고 당연해 보이는 방법으로 문제를 해결하지 않았냐는 질문을 받았다. 이런 피드백은 선의에서 나온 것이라 생각하지만, 책상 앞 전문가들이나 에이전시와 크고 힘 있는 고객으로만 일해본 사람들의 시각에서 나온 것 같다.

아래에서 내가 받은 당연해 보이는 제안들이 왜 통하지 않았는지 설명하려 한다.

왜 일이 끝날 때까지 그냥 비용 지불을 거부하지 않았나요?

DesignAgency는 선불 결제를 요구했다. 시간제 계약의 경우 30시간 단위로 시간을 구매해야 했다. 월간 리테이너의 경우 매월 1일까지 그 달의 비용을 지불해야 했다. 프로젝트를 끝내도록 압박할 금전적 지렛대가 없었다.

처음부터 마일스톤 기반 결제를 고집했다면 DesignAgency는 아마 프로젝트를 거절했을 것이다. 그들은 나를 성장 가능성이 있는 작은 고객으로 봤지만, 대기업처럼 까다로운 작은 고객과 일하고 싶어 하는 곳은 없다.

왜 시간당 4달러 받는 싼 개발자를 찾지 않았나요?

내 경험상 싼 개발자가 쓸 만한 경우는 다음과 같다.

  1. 딱 한 번만 제대로 작동하면 되는 일회용 코드가 필요할 때
  2. 자신의 시간을 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 매출 그래프. 11월에 저가 제품을 단종하며 매출이 영구적으로 상승했고, 3월에 신제품으로 일시적으로 급등했으며, 새로운 웹사이트를 적용한 최근 두 달 동안 다시 상승했다.

지난 1년간 TinyPilot 웹사이트를 통한 매출


개집 일러스트: Loraine Yow.

Blogging for Devs Community 회원들에게 이 글에 초기 피드백을 제공해 주셔서 감사드립니다.

이 글은 muse-spark-1.2-contributor 모델을 사용해 번역했습니다.

댓글