뭐 이런 것도 다 픽업됩니다!(배민스토어 픽업 플랫폼 및 셀러서비스편)

Mar.09.2023 이주빈

PM

배민스토어는 고객 경험을 만들어가는 고객서비스, 셀러의 경험을 만들어가는 셀러서비스, 배민스토어의 기반인 플랫폼으로 나뉘어 있는데요.
배민스토어셀러기획팀은 셀러의 경험을 만들어가는 셀러서비스와 배민스토어의 기반인 플랫폼을 담당하고 있습니다.

배민스토어 픽업서비스 1탄 고객 관점에서의 픽업서비스 소개에 이어 이번 편에서는 배민스토어 픽업서비스를 고객에게 제공하기 위한 첫 시작인 플랫폼 및 셀러들의 이야기해 보려고 합니다.

저는 이번 픽업 프로젝트에서 셀러서비스 및 픽업을 담기 위한 기반을 만드는 플랫폼 PM의 역할을 수행하였습니다.
플랫폼 PM이라는 것이 낯설 수 있는데요.
제가 생각하는 플랫폼 PM은 어떤 물건이든 장바구니에 잘 담을 수 있게 장바구니를 잘 들어주고 물건을 잘 담는 역할인 것 같아요.

출처: 직접 그림

픽업서비스를 제공하기 위한 필수 요소는 무엇일까요?

  1. 픽업서비스를 제공하는 셀러가 입점할 수 있어야 한다.
  2. 픽업서비스를 제공하는 셀러를 지도에서 확인할 수 있어야 한다.
  3. 픽업 상품을 등록할 수 있어야 한다.
  4. 픽업 전용 쿠폰도 발행하고, 쿠폰 사용도 가능해야 한다.
  5. 픽업 주문 건을 접수받을 수 있어야 한다.
  6. 마지막으로 픽업 주문 건에 대해서 정산도 받을 수 있어야 한다.

지금부터 배민스토어 플랫폼에서는 픽업서비스를 위해 어떤 작업을 했는지, 배민스토어 플랫폼 PM은 어떤 역할을 하였는지 자세히 이야기해보겠습니다.

자네 목표설정은 해보았는가?

배민스토어 픽업 매출 끌어올려~~

프로젝트를 시작할 때 많이 고민하는 요소 중 하나가 바로! 이 목표 설정인데요.
기존에 있던 것을 개선하는 작업은 기존 지표를 기준으로 트렌드를 확인해서 목표를 설정할 수 있습니다.
하지만 픽업서비스처럼 새로운 서비스라면 어떻게 목표를 설정해야 할까요?

출처: tvn 신서유기 6

픽업처럼 새로운 서비스를 만들 때, 이 프로젝트가 유의미한 결과를 낼 수 있을까? 에 대한 예상 및 목표 설정을 위해서 데이터 접근은
픽업과 유사한 서비스가 배민 내에 있는가를 생각하였고, 유사한 서비스의 지표를 비교군 삼아 목표를 설정할 수 있다고 생각했습니다.

물론! 이렇게 참고할 수 있는 내부 지표가 없는 경우도 당연히 있습니다.
그럴 땐, 타사는 어떤지 혹은 업계 트렌드는 어떤지를 보고 통계자료 등을 찾아서 예상 수치를 뽑아보면서 목표를 설정합니다.

다시 돌아가서~ 픽업서비스는 기존의 지표가 없기 때문에 배민 내 유사 서비스를 참고하여, 주문이 일어나는 반경을 설정하고 반경 내의 주문의 비중을 확인하였습니다.
비중이 확인되었다면, 기존의 배민스토어 주문 건에 대입하여 기대 결과를 추출하고 그를 기반으로 시뮬레이션을 통해 목표를 설정하였습니다.
그뿐만 아니라 픽업서비스 오픈 이후 우리에게 어떤 기회들이 있을지 확인하기 위해 많이 판매되는 상품군을 확인하고자 하였습니다.
여기서 얼마나 많은 셀러가 픽업을 사용하는지는 당연히 추적해야 할 지표 중 하나였습니다.
이처럼 서비스의 성장과 기회를 찾기 위해 데이터를 추적하는 것까지가 PM이 수행해야 하는 일입니다!

목표설정이 끝났다면, 다음은 무엇을 해야 할까요?
바로~ 바로~!!!!

왜여? Why에 집중하기


출처: https://jjalbot.com/jjals/GvsLRfv1TY

비즈니스팀의 요구사항을 전달받는 미팅이나 요구사항을 확인하는 자리에서 제가 가장 많이 하는 질문은 “왜요?” 였습니다.

왜 “왜요?”라는 질문을 많이 했었을까요?
왜 PM이 끊임없이 “왜요?”라는 질문을 던지며 Why에 집중해야 하는 걸까요?

단순히 요구사항대로 프로덕트를 만드는 것이 아니라, 요구사항의 본질을 파악하고 이루고자 하는 목표를 파악해서 목표를 달성할 수 있는 프로덕트를 만들기 위함이며,
한정된 리소스로 한정된 기간 안에 최소한의 가치는 전달할 수 있는 프로덕트를 만들기 위해서인데요.(저는 이를 유니콘 만들기라 합니다. 🦄)

  1. 이 기능이 왜 필요한지?
  2. 이 기능이 우리의 목표를 달성하는 데 도움이 얼마나 되는지?

위와 같이 질문하고,
그 답을 찾기 위해 치열하게 고민하고 설득하는 과정을 거치면서 최소한의 가치를 전달할 수 있는 최소 단위의 작업은 무엇인지를 정리할 수 있습니다.

픽업 프로젝트를 함께 수행한 배민스토어셀러기획팀원들과 끊임없이 “이 기능이 왜 필요할까요?” , “이 기능이 우리의 목표를 달성하는 데 도움이 얼마나 되나요?”라는 질문을 서로에게 건내며 Why에 집중했습니다.
특히 플랫폼을 담당하는 우리 팀의 경우, 여러 서비스에서 공통으로 쓸 수 있도록 하는 범용성과 여러 케이스에서도 이슈가 발생하지 않도록 하는 안정성을 모두 갖추어야 하므로 Why가 더 중요하였습니다.

빠르게 프로덕트를 만드는 데 집중하다 보면, 이 기능을 왜 만들어야 하고 이 프로젝트는 무엇을 위해 하고 있는가? 우리는 어떤 목표를 달성하고자 하는가에 대한 길을 잃게 됩니다.
그럴 때마다 Why에 집중하면서 궁극적으로 우리의 목표를 달성할 수 있는 기능은 무엇인가? 현재는 이러한 방식으로 대응할 수 있지만, 미래에는 이런 상황도 발생할 수 있으니 다른 방안으로 풀어내야겠다. 와 같은 더 나은 프로덕트를 만들어가는 깊이 있는 고민을 하면서 프로덕트의 방향성의 잃지 않고 갈 수 있었습니다.

프로젝트를 진행하면서 빠르게 기능을 구현하는 과정에서 Why를 고민하지 않았다면, 방향성을 잃고 단순 요구사항을 수행하는 상황으로 이어질 수 있는 경험이 있었습니다.

Why에 집중해보기! 픽업 쿠폰이 왜 필요할까요?

“픽업 쿠폰을 만들어주세요!”라는 비즈니스 요구사항이 있었습니다.
기존 발행한 쿠폰 종류에서 배달주문 건/픽업 주문 건을 분류하여 적용할 수 있어야 한다는 비즈니스팀의 의견을 받았었습니다.
하지만, “픽업 쿠폰이 왜 필요할까?”, “모든 쿠폰에 대해서 픽업과 배달을 구분해서 발행할 수 있어야만 할까?”, “어떤 쿠폰 방식으로 발행을 하는 것이 매출 상승에 더 크게 기여할까?”에 대한 답을 찾기 위해 고민하였습니다.

배달/픽업으로 모든 쿠폰의 주문 방식을 구분하지 않고 기존 쿠폰 종류에서 픽업 전용 쿠폰을 추가한다면,

  1. 픽업 주문 건의 경우 최소 주문 금액이 존재하지 않기 때문에 기존 쿠폰보다 혜택을 높여 픽업 주문을 활성화할 수 있다.
  2. 픽업 전용 쿠폰이 아닌 기존의 쿠폰 종류로 발행된 쿠폰일 경우 배달/픽업과 무관하게 고객이 쿠폰을 취사선택할 수 있다. (즉, 고객이 직접 가치를 판단하고 사용할 수 있다.)
  3. 배달주문 건에만 적용할 수 있는 쿠폰은 고객에게 줄 수 있는 가치가 한정적이다.
  4. 기존 발행된 쿠폰에 배달 전용 쿠폰으로 업데이트가 필요하고, 그 경우 기존 쿠폰으로 픽업 전용 상품 구매 시 혜택을 받을 수 없다.

이러한 답을 찾아 비즈니스팀과 논의하여 처음 제안하였던 기존의 쿠폰 종류에 픽업 전용 쿠폰을 추가하는 방식으로 구현하게 되었습니다.

만약, 위 상황에서 Why에 집중하지 않았다면 비즈니스 요구사항에 맞게 픽업/배달 쿠폰을 분리하고 기존 쿠폰의 데이터를 보정 등 추가로 해야 할 작업도 많아지고 추후에 픽업서비스 활성화를 위한 마케팅도 한계가 있어 다시 추가 작업을 해야 하는 상황으로 이어졌을 것입니다.

Why에 집중한다면 미래의 리소스를 아낄 수 있고 더 나은 방향의 프로덕트를 제안할 수 있게 됩니다.

배민스토어 픽업서비스는 어떤 가치를 실현하고자 하였을까요?

이 글을 읽어주시는 분께서도 배민스토어 픽업을 이용해보신 적이 있으신가요?
있으시다면, 배민스토어 픽업은 어떤 가치가 있었나요?

저희는

  1. 배달로 받기 어려운 상품을
  2. 갖고 싶은 제품의 재고를 미리 찜하고 싶을 때
  3. 이동 동선에서 픽업 매장에 들러서

배민스토어를 이용하실 수 있게 하는 것이었습니다.

그렇게 하기 위해서

  1. 셀러는 배민스토어에 쉽게 입점하여 픽업서비스를 제공할 수 있어야 하고
  2. 픽업 상품을 쉽게 등록하고 확인할 수 있도록 하며
  3. 배민스토어의 픽업만의 메리트와 프로모션을 진행할 수 있도록 하는 것이었습니다.

저희가 드리고 싶은 가치가 고객님들께 잘 전달되었으면 하는 바람입니다.

⭐️스타보단 팀웍

스타보단 팀웍은 우아한형제들의 핵심가치 중 하나인데요.
이번 픽업 프로젝트는 배민스토어셀러기획팀&배민스토어셀러개발팀&배민커머스웹프론트개발팀의 즐거운 팀 분위기와 좋은 팀워크가 크게 빛을 발휘한 프로젝트였습니다.

요구사항이 MVP 스펙을 확정한 이후에도 계속 변경되고, 개발 방향도 변경되는 상황이 많았습니다.
이러한 상황이 단순히 개인의 욕심을 차리기 위한 것이 아니라 모두가 한마음 한뜻으로 좋은 프로덕트를 만들고 싶은 욕심에서였습니다.

개발이 한창 진행되고 있는 상황에서 요구사항 추가 혹은 변경으로 기획의 방향이 변경되어야 하거나, 새로운 문제가 생겼을 때마다
팀원들과 어떻게 이 문제를 해결할 수 있을까를 고민하고, 함께 문제를 해결하는 과정에서 전우애가 뿜뿜! 올라왔었는데요.
문제 해결 시, 흡사 전장에서 승리하고 돌아온 장군을 마냥 승전고를 울리곤 했었습니다.

픽업 프로젝트는 많은 유관부서와 함께 작업을 하다 보니 작업에 참여한 인원도 많고 작업도 병렬로 진행되어야 하는 것들이 많은 상황에서 변경 사항을 놓치지 않고 잘 챙겨야 했어요.
그러기 위해 팀원들과 논의해서 간트 차트(Gantt chart)를 만들고 데일리 미팅을 진행하면서 작업의 진척 사항을 체크하고, 변경 사항이 생길 때마다 문서에 변경 사항을 업데이트하면서 히스토리를 관리하였습니다.

(이렇게 간트 차트를 만들어서 관리했어요!)

간트 차트(Gantt chart)는 프로젝트 일정관리를 위한 바(bar)형태의 도구로서, 각 업무별로 일정의 시작과 끝을 그래픽으로 표시하여 전체 일정을 한눈에 볼 수 있다. 또한 각 업무사이의 관계를 보여줄 수도 있다.
출처: https://en.wikipedia.org/wiki/Gantt_chart

그리고 가장 중요하고 배민스토어셀러기획팀의 강점이었던!
변경 사항이 각 도메인에서 있을 때마다 도메인 담당 PM분드이 공유해 주셔서 담당 PM이 없어도 제가 대답하고 챙길 수 있었고 반대로 제가 없어도 다른 도메인 PM분들이 저의 영역도 챙겨줄 수 있었습니다.

셀러서비스, 플랫폼 개발자와 진행하는 데일리 미팅뿐만 아니라 픽업서비스의 전체적인 진척 사항을 확인하기 위해 오픈을 2~3주 앞두고서부터는 고객서비스와 셀러서비스 및 플랫폼 데일리 미팅을 진행하면서 각 팀의 병목과 이슈를 체크하였습니다.
처음 데일리 미팅을 하기 위해서 모였는데 최소한의 관련 팀의 개발자와 PM분들만 참석했음에도 불구하고 참여자만 33명이었습니다.
33명 앞에서 데일리 미팅을 진행하려고 하니 너무 많은 인원에 부담을 느꼈는데요.


(처음 인원수에 놀라서 기념으로 찍어뒀어요😁)

이렇게 많은 인원과 함께 데일리 미팅이라니…. 하면서 동공이 흔들리고 안녕하세요! 하고 인사하는 순간이 몹시 떨렸던 것 같아요.
떨려 하는 저를 예상했는지 우리팀 동료분이 재미있는 필터를 하고 입장해 주어서 유쾌한 분위기로 진행할 수 있었습니다.
(⭐️오해 금지⭐️할아버지처럼 보이는 분… 실제로 할아버지가 아니고, 필터입니다.)

다 같이 모여서 전체적으로 팀별로 이슈와 진척 사항을 공유하고, ZOOM은 소회의실 기능으로 고객서비스 / 셀러서비스 및 플랫폼으로 나뉘어 추가 싱크업을 하면서 업무의 공백이 없도록 하였습니다.(ZOOM 소회의실 기능에 아주 감사했습니다.)

아니?! 오픈이 미뤄졌다고?!

걱정말거라! 우리에겐 Feature Flag가 있단다!

그렇게, 열심히 달려가는 도중 서비스 오픈 일자가 변경되는 상황이 발생했습니다.
그때 작업자 모두가 어떻게 해야 하나 걱정했고 오픈 일자가 미뤄짐에 따라 개발일 정도 미뤄지는 것인가 혼란이 있었던 순간이 있었습니다.
작업자분들이 혼란하고 흔들리지 않도록 저는 최대한 빠르게 관련한 정보를 공유받을 때마다 즉각적으로 공유하면서 혼돈의 카오스를 해소하기 위해 뛰어다녔습니다.
여러 가지 이유로 오픈 일정은 미루어졌지만, 개발 완료 일정은 변동 없이 가기로 하고 다시 작업에 집중하였습니다.
서비스 오픈일은 미뤄졌지만, 기능 개발 배포 일정은 기존과 동일할 경우 발생할 수 있는 문제는?

  1. 고객에게 픽업서비스가 노출된다.
  2. 셀러오피스에서도 픽업서비스에 대한 정보가 노출된다.

이렇게 크게 2가지가 있는데요.
우선 셀러오피스에서 픽업서비스에 대한 정보가 먼저 노출되어도 무방하고, 사전에 픽업서비스를 진행할 셀러들의 세팅할 수 있어야 하므로 2번은 이슈가 되지 않았지만,
“셀러오피스에서 픽업서비스를 위한 세팅을 미리 진행하더라도 고객에게는 노출되어선 안 된다.” 이 문제가 남아있었습니다.
이 문제를 어떻게 해결할 수 있을까에 대해 담당자가 빠르게 모여 논의를 시작하였습니다.

  1. 추가적인 앱 배포는 하지 않아야 한다.
  2. 서비스 오픈일에 맞춰서 서비스가 배민스토어에 반영되어야 한다.
  3. 최소한의 공수여야 한다.
  4. 셀러가 미리 상태 값 등을 세팅할 수 있도록 셀러오피스 기능은 오픈되어야 한다.

이 조건에 부합되는 해결책은 플랫폼에서 Feature Flag를 통해 배민스토어 앱에 픽업 관련 정보 노출 여부를 결정하는 것이었습니다.
Feature Flag란 기능을 점진적으로 출시하여야 하거나, 기능 출시 전 특정 환경에서 테스트가 필요할 때, 추가 앱 배포 없이 특정 시점에 기능 오픈을 할 때 등 다양한 상황에서 활용되는데요.
픽업서비스의 위의 개념을 대입해보면 Feature Flag On일 때는 배민스토어 앱에는 픽업서비스가 노출되어야 하고, Feature Flag OFF일 때는 배민스토어 앱에서 픽업서비스가 노출되지 않도록 하는 것입니다.

기능 개발 작업은 완료되었지만, 앱 심사 신청 일정으로 기능 배포 일정의 변경은 어려운 상황에서 Feature Flag를 통해 노출여부를 관리함에 따라
어드민에서 미리 픽업서비스 제공 여부, 픽업 상품 등은 등록할 수 있고 서비스 오픈일까지는 배민스토어 앱에서 노출되지 않도록 하는 것이었습니다.
저도 테스트하면서 Feature Flag를 consle에서 직접 조건을 입력하면서(혼자 1초 개발자가 된 기분이었습니다!) 조건에 따라 픽업 매장이 노출되었다, 사라졌다 하는데 새로운 경험이었어요! 바로바로 반영되니 정말 신기하더라고요!

위와 같이 Feature Flag 작업을 결정함에 따라 Feature Flag를 통해 어느 영역까지 영향력을 끼쳐야 하는지, 어떤 영향 범위가 있는지를 빠르게 팀원들과 싱크하고 하나씩 대응을 하기 시작했습니다.
해야 할 작업이 많은 상황에서 정신이 없었음에도 불구하고 픽업서비스 플랫폼 개발팀의 TL인 개발자분께서 빠르게 작업 방향을 공유해 주었고 그 방향을 기반으로 저는 비즈니스팀과 협의하였습니다.
(제가 협의하고 있는 동안 TL님은 빠르게 개발을 해주셨어요..!! 톱니바퀴 돌아가듯이 착착 되었어요!)

아직도 기억에 남는 것은
다들 짧은 일정 대비 많은 양의 작업으로 인해 바쁘실 텐데도
“어…!! 텹님(TL,플랫폼 백엔드 개발자), 잽님 (픽업 플랫폼 프론트 개발자), 죠님 (플랫폼 PM) 저 고민이 있어요…” 하면 바로 달려와서 저의 고민도 들어주시고 함께 해결책을 찾으면서 프로덕트의 완성도를 높였던 점이었습니다.

기능 오픈 당일에는 담당자 모두가 모여 순차적 배포를 진행하면서 기능 배포를 무사히 마치고 모두가 한마음 한뜻으로 이슈가 없기를 바라는 기도 메타도 기억에 남네요.🫣

출처: https://jjalbot.com/jjals/ByHqTaNMx4

좋은 팀원들 덕분에 스타보단 팀웍으로 픽업 프로젝트를 성공적으로 마칠 수 있었습니다!

마지막으로🙌

픽업 프로젝트 회고 때 팀원분이 공유해주신 이미지가 인상 깊어 공유해 드리려고 해요.
이미지의 의미는 예를 들어 이동 수단을 개발하고자 할 때의 MVP 개념입니다.

MVP(Minimum Viable Product)란, 최소 기능 제품으로 고객의 피드백을 받아 최소한의 기능을 구현한 제품이다.
실행 가능한 최소 제품은 제품을 효과적으로 구현할 수 있는 핵심 기능만 갖추고 있으며, 고객이 원하지 않는 제품을 만드는 것을 피하고 최소한의 비용으로 고객에 대한 정보를 극대화하려는 것을 목표로 하며 최소한의 비용을 사용하면서 시장 환경에서 작동하는지 여부를 테스트 한다.
출처: https://en.wikipedia.org/wiki/Minimum_viable_product


출처: https://www.freepng.fr/png-z1co9l/

빠른 출시도 중요하지만, 최소한의 품질을 확보해서 고객피드백을 받을 수 있어야 한다는 의미인데요.
최소한의 가치 전달이 가능한 최소한의 품질을 확보하는 것에 집중했고 3개월이라는 짧은 작업 기간으로 아직은 스케이트보드, 킥보드에 불과할 수 있지만
배민스토어 픽업뿐만 아니라 배민스토어를 4개의 바퀴가 모두 달린 스포츠카로 만들기 위해 앞으로도 계속 열심히 그리고 동료들과 함께 재밌게 만들어가려고 합니다.
2023년 배민스토어는 픽업서비스를 시작으로, 앞으로 더 다양한 상품을 판매할 수 있도록 준비하고 있습니다.

앞으로도 더 성장할 배민스토어 픽업서비스와 배민스토어를 기대해주세요! 많.관.부!!

긴 글 읽어주셔서 감사합니다.

찐! 마지막으로
이렇게 멋진 배민스토어 플랫폼과 셀러서비스를 함께 만들어갈 동료분들을 기다리고 있습니다.
자세한 내용은 아래에서 확인해 주세요!
👉 배민스토어셀러개발팀 서버 개발자 채용