#PM직무 #실전PM #SI
안녕하세요, 하이퍼하이어의 PM입니다.
오늘은 하이퍼하이어의 프로젝트 매니저(PM)가 하는 일에 대해 얘기해보려고 합니다.
프로젝트 매니저는 개발 프로젝트의 시작과 끝을 책임지는 사람입니다. 고객의 의도를 이해한 뒤 개발자와 소통하며 문제를 해결하고, 기한 내에 고객이 원하는 기능을 가진 제품을 만들어내는 일을 합니다. 쉽게 말하면, ‘일이 되게끔 하는’ 관리자인데요.
하이퍼하이어의 PM은 블록체인, 커머스, 플랫폼 등 다양한 종류의 프로젝트를 어떻게 성공적으로 마무리하는지, 고객이 재의뢰를 맡기게 하는 하이퍼하이어의 작업과정을 공유하려 합니다.
1. 사전 미팅
간단한 프로젝트 문의를 보내주신 고객과 첫 미팅을 진행합니다.
대면 미팅에서는 서비스의 기획의도와 핵심기능을 파악합니다. 앞으로의 진행과정에서 빠르게 소통하고, 원하는대로의 프로덕트가 나오게 하기 위해서 가장 신경쓰는 부분입니다.
의뢰시에 기획이 명확하게 완성되어있는 경우도 있지만, 그렇다 하더라도 개발이 진행되다보면 초반에 미처 생각하지 못한 이슈들에 대해 결정을 내려야 하는 일이 자주 있습니다. 기능을 기획 그대로 구현하려면 시간이 너무 오래 걸려 일정을 맞추기 어려워지는 경우도 있습니다. 그럴 때, 단순히 기획에 작성된대로 버튼이 구현되게만 하는 것이 아니라 해당 기능의 의도를 살리는 결정을 내리기 위해서 클라이언트와 PM간의 눈높이를 맞추는 것이 중요합니다.
소개팅앱 기획 회의
이번 의뢰 프로젝트는 소개팅 어플입니다. 다른 레퍼런스 앱과 가장 차별화되는 지점은 사용자가 위치 기반의 임시 채팅방을 만들 수 있다는 점이었습니다('틴*'와 '당*마켓'을 합친 앱이라고 할까요). 강남역 근처에서 앱을 켜면, 2km 이내의 사용자만 모여있는 익명채팅방에 참여할 수 있는 기능이죠.
메인 화면 친구추천 탭
클라이언트는 해당 핵심 기능을 위주로, 기본적인 소개팅 앱의 기능인 위치기반 프로필 추천, 채팅 기능들을 구현하고싶어 하셨습니다. 또 내부 디자인팀에서 화려한 UI와 인터랙션 디자인에 공을 많이 들이셨는데, 이는 최대한 많은 유저가 내부에서 채팅, 좋아요 등 행동을 하도록 유도하는 것이 주 목적이었습니다. UI에 강점이 있는 개발자들이 필요했습니다.
시장의 흐름을 보면 연말에 맞추어 타깃 유저의 수요가 높아졌는데요, 이에 따라 마케팅으로 연말에 초기 부스팅을 한다는 목표를 세웠습니다. 시작 시점이 크리스마스까지 4개월이 채 남지 않은 시기였기에, 큰 스펙트럼의 앱임에도 개발기간을 2~3개월정도로 타이트하게 잡아야했습니다. 필요 개발 인력을 프론트 3명, 백엔드 2명으로 하고 내부 개발팀도 최대한 이 프로젝트에 참여하는 것으로 팀의 크기를 구성했습니다.
2. 팀을 만들고 개발팀 기획서 준비
프로젝트의 방향성이 정해지면, 하이퍼하이어에서는 두 가지 사전 작업을 시작합니다. 첫째는 해당 기능을 가장 잘 수행할 수 있는 인원을 꾸려 팀을 만드는 것이고, 두번째는 그렇게 만들어진 팀이 가장 잘 작업할 수 있는 “기준 화면”을 만드는 일입니다. 이 과정에서 영어가 필요한 경우에는 기획안/UI 번역도 PM이 함께 진행합니다.
2-1. 개발자 채용 팀
해당 앱의 기능을 만들어본 경험이 있는 개발자들과 함께하면, 시행착오를 최소화하고 고객의 눈높이에 맞는 결과물을 만들 수 있습니다. 그리고 기획시에 예상치 못했던 추후 생길 문제들까지 미리 대비할 수 있게 제안할 수 있습니다. 그래서 하이퍼하이어에서는 이 과정에 많은 공을 들입니다.
Test - 과제 수행
이번 소개팅앱의 사용자는 경쟁앱들의 화려한 UI에 익숙하기 때문에 UI 완성도, 특히 인터랙션을 매끄럽게 잘 짤 수 있는 개발자가 필요했습니다. 소개팅앱 프로젝트에 참여할 3명의 프론트엔드 개발자를 선발하기 위해 소개팅앱 메인의 프로필 카드 스와이프를 구현하는 것을 과제로 부여했습니다.
과제 수행도를 점검할 때는 기획과 디자인을 최대한 있는 그대로 구현하는 개발자를 타깃으로, 폰트의 크기/여백/해상도별 완성도 등 면밀하게 살핍니다. 프로젝트매니저와 채용팀이 함께 과제를 검토했고 그 결과 50건 이상의 과제에서 최종적으로 5명의 개발자를 선별했습니다.
CV - 기존 프로젝트 점검
그 중에서 3명의 최종 선발을 위해, 각 개발자의 이력을 검토합니다. 소개팅앱의 핵심 기능인 알고리즘추천, 실시간 채팅, 위치 공유, 지도 기능을 기존 프로젝트에서 다뤄본 적이 있는 개발자를 선발했습니다.
2-2. 기획 점검&번역
이렇게 팀이 완성되는 동안, PM은 한 가지를 더 준비합니다. 바로 전체 기획을 여러번에 걸쳐 확인하며, 개발자용 User Flow를 만드는 일입니다.
화면에서 유저가 각 버튼을 클릭할 때, 유저마다 어느 페이지로 이동해야하는지 한 눈에 이해할 수 있도록 정리하는데요. 이 과정에서 미처 정해지지 않은 기획 사항들을 발견하고, 개발이 시작되기 전 미리 기획자와 논의하면서 탄탄하게 대비할 수 있습니다.
Flow Chart 만들기
1차로 디자인 파일을 유저 행동별 플로우로 정리합니다.
페이지 디자인을 주요 기능별로 쪼갭니다.
예를 들면, 회원가입 페이지를 휴대폰번호인증, 프로필사진추가, 정책동의, 위치/알림동의, 개인정보 추가 기능으로 나눌 수 있습니다.
UI 디자인 페이지에서 유저의 행동에 따라 어떤 화면으로 넘어가야하는지 화살표로 표기합니다.
수정 전 UI 모아보기 페이지
수정 후 UI Flow
그리고 경우의 수에 따른 정책이 있다면, 각 플로우 밑에 정리합니다.
위치권한 허용, 알림 허용 기능설명 페이지.
이번 소개팅앱에서 중요한 부분은 등급별 제공 기능이 다른 점이었습니다. 틴더와 같은 소개팅앱의 주된 비즈니스 모델은 앱 내 유저가 궁금해할만한 정보들을 유료 회원/유료 아이템으로 차별적으로 제공하는 것입니다. 이번 프로젝트에서도 마찬가지의 장치가 여럿 구성되어있습니다.
다만, 그렇기에 같은 화면에서도 유저의 정보에 따라 보이는 정보가 달라집니다. 일례로 유료 회원은 메인 페이지에서 추천 회원이 뜰 때 상대방이 나를 좋아요했는지, 매칭을 원하는지 정보를 태그로 볼 수 있습니다. 무료 회원은 해당 사실을 알 수 없습니다. 나를 좋아요한 상대의 프로필 사진이 유료 회원에게만 공개되기도 합니다.
개발에서 이런 다양한 경우의 수를 놓치지 않고 꼼꼼하게 작업하려면 작업 전 명료하게 플로우를 정리해두는 것이 무엇보다 중요합니다. 시간이 오래 걸리는 일이기는 하지만, 돌아가지 않을 수 있는 방법이죠.
UI번역
하이퍼디의 개발자는 글로벌 상위 1%의 실력을 가진 팀원들입니다. 글로벌 팀의 경우 의사소통이 모두 영어로 이뤄지기 때문에, 기획안이 모두 한글로만 되어있는 경우 앱 내부 정보와 각 경우의 정책에 대해서도 PM이 영문으로 번역하는 작업을 거칩니다.
3. 일정 배분
이렇게 사전 준비과정이 진행됨에 따라 PM의 프로젝트 이해도도 높아집니다.
이때, 고객사와의 미팅을 한번 더 진행합니다. 선발된 개발팀원의 역량과 전체 프로젝트 스펙을 공유하며 예상 작업 기간을 세우는 시간입니다.
Timeline 생성
참여자 : PM, 고객사 개발팀(기획자, CTO)check
이제 PM은 각 파트에 필요한 기능 리스트를 알고 있습니다. 팀원의 개발실력과 강점인 분야도 알고 있습니다. 이를 바탕으로 기능별 담당자를 크게 나누고, 스프린트 단위로 쪼개 일정을 세웁니다. 고객사의 개발자, 기획자와 스프린트가 과도하게 짧게 잡히지는 않았는지, 중복되지 않는지, 품질 테스트(QA) 후 수정 기간이 적절하게 배치되었는지 논의합니다.
기능별 일정 로드맵.
이번 프로젝트는 시기를 맞춰 출시하는 것도 중요하기때문에 3명의 프론트 개발자가 동시에 작업을 해야했습니다. 그러나 메인의 친구추천, 좋아요 보내기, 채팅하기 등 엮인 기능들이 다른 탭에 서로 영향을 줍니다. 제대로 파트를 나누지 않으면, 여럿이 함에도 혼자 하는 것보다 효율이 나지 않기도 합니다. 사인업, 로그인, 메인화면 친구추천 및 좋아요 보내기 등, 모든 페이지에 엮여있는 부분을 초반에 먼저 배치하고, 해당 파트 개발 완료 후 독립적으로 개발가능한 부분으로 넘어갈 수 있도록 신경써서 일정을 배치했습니다.
QA의 중요성
또, 작은 스프린트가 완료될 때마다 한 번은 QA를 삽입해 주에 1번은 진행 과정을 점검할 수 있도록 했습니다. QA는 개발된 기능이 의도대로 동작하는지 테스트하는 일입니다. 짧은 단위로 QA를 진행하는 것은 이번처럼 복잡한 프로젝트에서 믿고 넘어갈 수 있는 계단을 여러 개 만드는 것과 같습니다. 개발자의 입장에서도, 해당 기능을 개발한 뒤 바로 수정하기 때문에 곧바로 기억해서 수정할 수 있습니다.
이슈/체크리스트 나누기
소개팅앱 프로젝트 메인 화면의 기능 리스트업
큼지막한 일정이 정해지고 나면 일정마다 꼭 개발되어야하는 세부 기능들을 적고, 담당자를 배정합니다. 위 사례는 이번 프로젝트의 메인 화면, 친구 추천 페이지에서 필요한 기능 예시입니다.
이번 프로젝트의 메인 화면인 친구추천 뷰에서, 유저가 프로필을 스와이프해 넘어가지 않고 클릭함에 따라 카드가 넘어가며 점점 더 디테일한 프로필 내용을 보여줍니다. 추천유저가 입력한 정보가 다 다르기 때문에, 각 카드의 이미지와 정보가 매치되게 불러와야합니다. 또 상대 유저와의 현 관계 상태에 따라 취할 수 있는 액션이 다릅니다. 나를 이미 소개받고싶어하는 유저에게는 좋아요,소개하기 버튼들이 사라지고 채팅 시작하기 버튼만 띄우는 식이죠.
이런 경우의 수를 혼동 없이 표현하기 위해 Profile type별로 플로우를 만들어 기능을 분리해 표기했습니다.
정책 및 기준 정리
각 이슈 클릭시 볼 수 있는 이슈별 상세내용.
그리고 각 기능 이슈를 클릭하면 뜨는 페이지에서 모든 정보를 모아 한 눈에 볼 수 있게 합니다. 몇 분에 한 번씩 정보값을 새로 받아올지, 어떤 정보를 불러와야하는지 등등의 정책서 내용을 이슈에서 확인할 수 있습니다. 공동으로 작업하는 문서가 하나로 통일되어있어야 개발도중 불가피한 수정사항이 생길 때 모두가 업데이트 사항을 싱크할 수 있습니다.
이번 프로젝트에서는 이런 이슈가 약 250개정도 발행됐는데요, 정말 숨가쁘게 채워나갔습니다. 하이퍼하이어의 PM들은 이 과정을 프로젝트 도입 전 약 1~2주에 걸쳐 꼼꼼하게 진행합니다.
🫡 준비 완료!
자, 이제 모든 사전 정리가 완성되었습니다. 이제 경험있는 최적의 개발자들과, 잘 정리된 자료를 보며 함께 매일의 개발을 해나가는 일만 남았습니다.
과연, 준비한만큼 계획대로 착착 잘 진행될까요?
글로벌 개발자 8명이 함께 앱을 만들 때 생기는 다양한 사건 사고와, 계획대로 차질없이 일정이 진행되게 하기 위한 PM의 고군분투가 궁금하시다면, 다음 글을 기다려주세요.
이상 에디터 케이디였습니다.