"리소스가 부족해서요."
"우선순위가 낮아서요."
어느 회사 어느 부서에서나 협업할 때 가장 많이 나오는 말 아닐까요? 지금 있는 인원으로 주어진 일 정을 소화하기에도 바쁘므로 당신의 요청은 당장 들어주기 어렵다는 의미이지요. 한정된 인원이 규칙적인 릴리스 사이클을 지켜가면서 기술 부채도 최소화하며 좋은 프로덕트를 만드는 것은 꽤 어려운 일입니다.
플랫폼 서비스를 만들면 엔드 유저가 둘 이상이기에 각 엔드 유저의 만족도를 올리면서 엔드 유저 경험 사이의 균형을 맞춰야 하는 등 복잡도가 부쩍 올라갑니다. 서비스가 잘 되기 시작하면 파트너들로부터 요구 사항이 몰려오며, 거절하기 힘든 큰 비즈니스 기회로 빠르게 대응해야 할 일이 갑자기 들어오기도 합니다.
사업부나 영업부는 서로 자신들의 요구가 가장 중요하다고 말하고, 그 사이 CEO가 갑자기 그날 떠오른 생각을 메신저로 덜렁 보낼 때도 있습니다. 프로덕트 팀 내에서도 하나의 컴포넌트 팀이 다른 팀의 컴포넌트에 의존해서 원활히 진행이 안되는 경우도 있습니다.
큰일입니다. 서론만 썼는데도 머리가 아파옵니다. 읽는 분들도 마찬가지일 것입니다.
우선순위의 등장
이런 첨예한 상황에 둘러싸이면 우선순위와 그 판단 기준이 중요해집니다. 경영진뿐 아니라 사업, 영업, 운영, CS, 프로덕트 팀 등 모든 이해관계자가 납득할 만한 우선순위의 기준이 있을까요? 프로덕트 책임자에게 우선순위의 결정 권한이 있으니 마음대로 결정하면 되는 것일까요? 우선순위가 높은 것과 낮은 것의 이유는 무엇이며 둘 사이에는 얼마나 차이가 있는 것일까요?
저 역시도 일본의 최대 규모 배달 서비스 '데마에칸(Demaecan, 出前館)'의 쇄신을 진행하면서 450여 명의 프로덕트 팀원들과 수천 명의 관계 부서 분들에게 우선순위를 설정하고 설명해야 하는 상황을 겪었습니 다. 시달리는 느낌을 받을 때도 있었습니다.
어느 날 선배 한 분이 조언을 주었습니다. "양식을 하나 만들고 우선순위를 기계적으로 설정해 봐. 아무리 급한 요청이 와도 어떤 양식에 따라 '당신의 우선순위는 22번째입니다'라고 대응하는 프로덕트 팀도 있더라"라는 조언을 들었습니다. 그 양식을 제가 보지는 못했지만요.
며칠 후 우선순위를 논의하는 회의는 또 찾아왔고, 너무나 도망치고 싶던 그날 새벽에 제가 이 회사에 입사한 원인이었던 머신 러닝(OCR 기술로 다니던 스타트업이 피인수됨)이 떠올랐습니다. 머신 러닝에서 힌트를 얻었다지만 실은 통계학을 활용한 것인데요. 진행 중인 프로젝트 몇 가지를 Excel에 넣고 수식화해 보니 만족스러운 결과가 나왔고 머리도 깨끗해지는 느낌을 받았기에 소개하고자 합니다.
제가 이번에 소개하는 우선순위 판단 공식은, 어쩌면 이런 주제의 시도 중 가장 기계적인 접근 방법입니다. 그리고 이는 여러 주관적인 변수와 판단을 최소화하면서 프로덕트의 높은 품질을 유지하기 위한 노력입니다.
판단 가치 고르기 - 우리에게 중요한 것은 무엇인가
매출을 올려야 합니다. 비용을 줄여야 합니다. 운영에 힘을 써야 합니다. 바이럴 효과를 높일 장치를 만들어야 합니다. 센스 있는 UX로 만족감을 높여야 합니다. 이처럼 서비스를 만드는 데에는 참 많은 욕망과 욕구가 있습니다.
모든 관점이 중요하다고 말하고 싶지만, 몇 개로 줄이고 집중할 필요가 있습니다. 그래야 설명도 명료하게 할 수 있고 이해하기에도 쉽습니다. 그 과정에서 어떤 관점은 다른 무언가와 합쳐지거나 대체될 수도 있고, 상황에 따라 더 중요한 관점에 밀려날 수도 있습니다. 예를 들어, 요즘은 IT 업계가 어려워지면서 어떤 서비스든 흑자가 될 수 있는 구조로 만드는 게 중요해졌습니다.

합의를 위한 양식을 만드는 과정이므로 여러 스테이크 홀더의 의견을 들으며 나열하면 좋습니다. 하지만 모든 가치를 다 고려하면 끝이 없으니 판단 기준을 명확히 하기 위해 몇 가지로 추릴 필요가 있습니다. 제 경우 아래와 같이 선정했는데요. 하나씩 설명하겠습니다.
매출과 비용
프로덕트 메이커는 프로덕트만 집중해서 만들 때 제일 행복하지만, 비즈니스를 지속하기 위해 기본이 되는 매출과 비용을 무시할 수는 없습니다.
프로젝트마다 기대 효과로 매출이 얼마나 늘어난다거나 비용을 얼마나 삭감할 수 있다고 시뮬레이션할 수 있습니다. 예를 들어, 검색 최적화 프로젝트를 진행해 검색 결과에서 구매로 이어지는 전환율이 1% 올라간다고 가정하고 예상되는 매출 향상을 말하는 식입니다. 비용을 줄이는 예시라면, 결제 회사를 변경할 경우 수수료를 몇 퍼센트 낮춰지므로 전월 매출 기준으로 얼마큼 절감된다고 말할 수 있습니다.
여기까지는 어렵지 않았습니다. 특히 사업에서 요청하는 안건이라면 이처럼 금전적인 기대 효과를 필수로 기입하도록 강제하면 좋습니다. 이렇게 두 개의 판단 기준(매출 상승, 비용 절감)은 어렵지 않게 정해졌습니다.
사용자 만족도
하지만 돈의 논리로만 판단하고 만드는 서비스는 반드시 실패 합니다. 서비스를 만든다는 것은 사용자에게 사랑을 받고야 말겠다는 강한 의지와 끝없는 노력입니다. 그러므로 돈의 논리와 무관할지라도 사용자에게 즐거움을 주는 시도도 할 수 있어야 합니다. 대표적인 예로 디자인 개선이 있습니다. 아이콘을 좀 더 깨끗하고 트렌드에 맞게 바꾸는 일을 매출 향상이나 비용 절감으로 말하기는 어렵습니다.
그래서 이를 보완하기 위해 생각한 또 하나의 기준은 '만족도'입니다. 문제는 '만족'이라는 것이 꽤나 정성적인 가치라는 점입니다. 이를 어떻게 수치화해 공식에 적용할 수 있을까요?
만족도의 수치화에는 몇 가지 방법이 있습니다. 가장 유용한 방법은 사용자의 목소리를 근거로 수치화하는 것입니다. App Store 리뷰부터 설문조사까지 사용자의 피드백을 집계해 특정 이슈는 의견 중 최상위에 있으므로 만족도 향상에 크게 공헌할 안건이라고 말할 수 있습니다. 이때 저희 팀에서 가꾸고 있는 오픈소스 ABC User Feedback이 큰 도움이 됩니다. ABC User Feedback을 사용하면 이슈마다 몇 개의 피드백이 쌓였고, 그 추이는 어떻게 되는지 쉽게 파악할 수 있습니다.
사용자의 목소리를 정량적으로 수치화 해주는 피드백 수집 및 관리 도구 ABC User Feedback에 대한 자세한 설명은 블로그에 발행한 소개글 사용자의 피드백을 잘 관리하고 활용하기 위한 서비스, ABC User Feedback을 읽어보시기 바랍니다.
또 다른 방법은 베타테스터 또는 임의의 사용자 그룹을 대상으로 설문을 진행하는 것입니다. 프로덕트에서 언제든 가볍게 설문을 보낼 수 있도록 시스템부 터 사용자 그룹까지 준비해 놓으면 좋습니다. 간단하게는 '좋아요/싫어요'의 2점 척도로 응답을 받거나, 통상적인 5점 척도로 의견을 받을 수도 있겠습니다.
끝으로 팀의 의지를 가중치로 표현하는 방법이 있습니다. 개인적으로는 처음 공식을 만들 때에는 가장 가볍게 시도할 수 있는 이 방법을 권합니다. 어느 정도 팀 안에서의 공감을 바탕으로 아래와 같이 간단한 2x2 매트릭스를 만들어 볼 수 있습니다.
| 기대 효과 작음 | 기대 효과 큼 | |
|---|---|---|
| 신규 기능 | 하면 좋겠다. | 꼭 하고 싶다. |
| 기능 개선 | 틈날 때 하자. | 어쩔 수 없이 해야지. |
위 표에서 구체적인 숫자를 기록하지는 않았습니다. 일단은 위와 같이 감각적으로 프로덕트 관점에서의 실현 의지를 기록해 놓고, 추후 그 비중을 숫자로 표현할 예정입니다.
위 예시는 시장에 새로운 서비스를 선보이는 시점을 가정해 기대 효과가 작든 크든 새로운 경험을 많이 내놓고 싶다는 의지를 나타내고 있습니다. 각 항목의 의미는 회사의 전략에 따라 다를 수 있습니다. 예를 들어, 어떤 안건이든 사용자의 기대 효과가 큰일을 우선하고 싶다면 '기대 효과 큼 + 기능 개선' 항목은 어쩔 수 없이 한다는 정도를 넘어서 '어떻게든 틈틈이 해치운다'는 생각을 가져야 할 것입니다. 안정성이나 운영이 중요한 서비스라면 어차피 예정된 신규 기능은 적을 테니 기능 개선의 비중을 더 크게 둘 것입니다.
레거시 해소
프로덕트를 만들 때 가장 어려운 점은, 겉으로는 작은 변화인데 안으로는 매우 큰 작업을 마주할 때입니다. 어느 프로덕트든 나름의 설계와 기술 부채가 있습니다. 보는 사람에게는 간단해 보여도 건물을 옆으로 1cm 옮기는 일일 수도 있고, 큰 변화처럼 보여도 가벼운 의자를 1cm 옮기는 일일 수도 있습니다.
하나의 안건이 얼마나 많은 컴포넌트를 수정해야 하는지는 프로덕트의 아키텍처로 어느 정도 산출할 수 있습니다. 얼마나 많은 사람들이 움직여서 해결할 수 있는지도 예상 참여자 수를 가늠해 수치화할 수 있습니다.
데마에칸의 경우, 현재 오래된 아키텍처의 백엔드를 100% 재작성하고 교체하는 장기 프로젝트를 진행 중입니다. 그런 만큼 레거시에서 실행해야 하는 프로젝트라면 경제 효과가 대단히 크지 않는 이상 가급적 하지 않는다는 방침을 세워 놓고 있습니다. 결국에는 같은 스펙을 새로운 아키텍처에서 재작업해야 하기 때문입니다. 그러니 급하지 않거나 하지 않아도 심각한 손해가 발생하는 게 아닌 안건이라면 하지 않는 게 좋겠지요.
이런 이유로 '사용자의 만족도'와 마찬가지로 아래와 같이 2x2 매트릭스를 만들었습니다.
| 레거시 수정 적음 | 레거시 수정 많음 | |
|---|---|---|
| 레거시에서 실행(재작업 필요) | 이 정도는 하자. | 절대 안 할 거야. |
| 새로운 아키텍처에서 실행 | 이런 일이 제일 좋아! | 가급적 안 하고 싶다. |
위 표를 해석하자면, 왼쪽 위는 레거시에서 동작하는 결과물이지만 조금의 노력만 필요하다면 '이 정도는 하자'는 의미입니다. 활발히 운영 중인 서비스에서 프로덕트 팀에게 요청하는 안건 중에 기대 효과나 의미가 없는 것은 없을 테니, 레거시를 건드린다고 무조건 안 하겠다고 하면 사업적으로 성장하지는 못할 것입니다. 사용자는 우리가 레거시를 다루는지 새로운 아키텍처를 만드는지 아무런 관심이 없기 때문입니다.
오른쪽 위는, 그럼에도 안건이 레거시 컴포넌트 여러 개를 들쑤시며 팀원들도 많이 동원될 수 밖에 없는 일이라면 절대 하지 않겠다는 의지를 보이고, 추후 이를 수치로 표현할 예정입니다.
오른쪽 아래는, 비록 새로운 아키텍처에서 실행될 결과물이지만 레거시 컴포넌트까지 많이 수정해야만 하는 것이라면 차라리 레거시를 버릴 시점에 만드는 게 낫다고 생각할 수 있는 것을 표현한 것입니다. 이커머스에서는 주문 처리나 정산 등 데이터가 여러 컴포넌트에 폭넓게 걸쳐 있는 안건이 이에 해당합니다.
저희의 경우, 프로덕트로서 레거시 해소가 너무나 중요한 과제이기 때문에 레거시에 발목 잡히는 상황을 줄이고자 네 번째 항목은 '레거시 해소'로 정의했습니다.