지난글 회고 _코드스테이츠 PMB 10기
2주 전, 개발지식이 0인 상태에서 스타벅스 딜리버스는 어떻게 작동 될지 데이터를 예측하여 글을 작성했었다. PM이 꼭 알아야 하는 개발지식을 2주간 공부하고 해당 글을 업그레이드 시켜보고자 한다. 수박 겉핥기 같았던 지난글에 대한 회고록이다.
이전ver.
데이터의 작동원리를 정확히 알지 못했을 때는 이전에 작성한 유저플로우 차트에서 상당히 많은 부분을 생략했음을 깨달았다.
유저가 딜리버스 서비스를 사용하면 데이터가 어떻게 작동할지 예측해서 DB와 API등 테크니컬한 부분까지 가능한 상세하게 유저플로우를 작성해보았다. 이전에 간단하게 작성할때는 보이지 않았는데, 상세히 작성하다보니 유저의 행동마다 데이터가 오가면서 앱화면이 유기적으로 실행된다는 사실을 알게 되었다. 물론 겨우 2주동안 개발지식을 공부하고 작성한 현재의 차트도 정답은 아니며 분명히 생략된 부분이 존재할 것이다.
이전버전의 유저플로우가 간단하다보니 UI도 일부분만 탐색했었다. 이번에는 업그레이드한 유저플로우에 맞춰서 단계를 나누어 UI를 다시 분석해보았다.
로그인단계 ▶주소검색단계 ▶ 메뉴탐색단계 ▶ 장바구니 및 결제단계로 나누어, 각 화면에서 유저가 경험할 UI를 분석했다. 스타벅스 앱에서 딜리버스 서비스를 이용하는 유저는 대략적으로 32단계를 거친다는 것을 알 수 있었다. 대략적이라고 표현한 이유는 24-2번에서 메뉴 재탐색이 몇번이나 반복될지 모르기 때문이다.
모든 단계에서 클라이언트, 서버, DB 등 데이터의 흐름을 자세히 살펴보면 좋겠지만 글의 길이가 너무 길어질 것 같아서 "주소검색 단계"만 탐색해보고자 한다.
유저가 UI상에서 다음 단계로 나아가기 위해 명령을 내릴 수 있는 모든 데이터는 클라이언트가 처리한다. 따라서 주소검색 단계에서는 [주소검색], [완료], [매장선택하기] CTA 버튼이 클라이언트가 요청할 수 있는 장치이다. 또한 요청한 값을 받아서 유저가 볼 수 있도록 노출한다.
[주소검색] : 입력한 주소지 검색 요청 ▶ 서버에게 전달받은 (경기도~ 이하) 주소지 노출
[완료] : 주소지 선택 완료 후 다음단계 진행 요청 ▶ 서버에게 전달받은 배달 가능 매장 리스트 노출
[매장선택하기] : 매장 선택 후 다음단계 진행 요청 ▶ 서버에게 전달받은 다음 페이지로 이동
클라이언트에게 받은 요청에 답변해주는 역할을 한다. 클라이언트가 CTA버튼을 통해 요청한 값을 서버에서 DB를 통해 응답하여 다음단계로 진행 될 수 있도록 돕는다. 주소를 검색할 때는 주소지와 지도를 쉽게 노출 할 수 있도록 지도 오픈API를 사용한것으로 예측해보았다. API에 관한 자세한 글을 여기에서 볼 수 있다.
[주소검색] ▶ 주소API ▶ DB에서 받은 주소지 전달
[완료] ▶ 입력한 주소지를 바탕으로 DB에서 받은 배달 가능 매장 리스트 전달
[매장선택하기] ▶ 다음단계(메뉴선택) 페이지 전달
서버가 클라이언트에게 요청받은 데이터의 값을 찾을 수 있는 저장소이다. 전국의 주소지, 배달가능한 매장의 목록 등 각종 값이 저장되어 있기 때문에 서버는 DB에서 데이터를 찾아서 클라이언트에게 전달 할 수 있다.
[주소검색 요청시] 검색어에 따른 주소지 리스트
[주소지선택 완료시] 배달 가능 매장 리스트
이전 글에서는 클라이언트에서 요청한 값을 서버에서 모두 수행한다고 뭉뚱그려서 적었는데 2주간 데이터와 개발지식에 대해 공부한 후에는 작동 원리를 조금 더 상세하게 쓸 수 있게 되었다. 이번 글을 쓰기 위해 스타벅스 딜리버스 서비스를 앱에서 작동해보니, 유저로서 이 행동을 하면 클라이언트에 어떻게 전달되고 서버는 어떻게 반응을 하는지 상상해 볼 수 있어서 재밌었다. 앞으로 서비스를 기획하게 될 때 이번에 쌓은 개발지식이 유용하게 쓰일 수 있기를 기대해본다.
문제를 기막히게 해결하는 유익한 기획자.
코드스테이츠 PM 부트캠프로 획기적인 프로덕트 매니저가 되어 가다.
기막힌 생각과 획기적인 방법론자, PM이야기 #18. 끝.