본문 바로가기
회고

[주절주절] 사이드 프로젝트 - Pika를 마무리하고 회고

by 사바라다 2021. 8. 15.

안녕하세요. 한달정도 전에 4명의 팀으로 하고있던 게임 DB 사이트를 만드는 프로젝트가 종료되었습니다. 작년 10월부터 열정만을 가지고 다들 열심히 했었는데요. 다들 개인적인 일이 바빠지고 프로젝트에 참여하는 참여율이 저조해지면서 결국 여기서 마무리하는 것으로 팀원들과 합의를 하고 여기서 종료하기로 정하였습니다.

오늘은 그동안 개발한 프로젝트의 내용과 개인적인 그리고 팀간에 했던 회고에 대해서 여러분들과 공유하는 시간을 가지고자합니다.

기술 스택

저희가 가져간 기술스택에 대해서는 이전 시작할때의 포스팅에서 자세하게 다루었습니다.

관심이 있으신 분들은 해당 포스팅 [주절주절] 사이드 프로젝트 - DB 사이트(Pika)을 참고해주시면 좋을것 같습니다.

지금까지 만든 기능

그동안 저희는 크게 총 5개의 기능을 만들었습니다. 게임의 리스트를 가져오기, 게임에 대한 상세한 내용, 게임에 대한 리뷰, 게임 검색 페이지 그리고 유저 기능입니다.

게임 리스트 (매인 페이지)

게임 리스트 페이지는 저희의 페이지에 들어가면 볼 수 있는 첫 화면입니다. 게임의 리스트와 각 플랫폼 별 게임 리스트를 가져와서 랭킹별로 보여주고 있습니다. 여기에 추가적으로 더보기 버튼을 이용하여 해당 버튼을 누르면 관련된 모든 게임을 볼 수 있었습니다. 게임 리스트에서는 게임의 이름과 평점, 그리고 썸네일이 노출되게 됩니다. 또한 이 정보들은 정렬 순서로 추천순, 이름순으로 볼 수 있도록 제공해주고 있었습니다. 이러한 정보들은 지속적으로 DB를 읽어오는 것 보다 redis를 이용해 먼저 데이터를 저장해 둔 후 반환하는게 더 이득이라고 판단하여 순서에 대한 부분은 redis를 이용하였습니다.

추가적으로 알리고 싶은점은 게임의 DB 정보는 Steam, Nintendo, Playstation, Google Play Store의 사이트에서 각각 가져와서 사용하고 있었습니다.

게임 상세 페이지

게임 상세페이지는 리스트의 게임중 하나를 클릭했을 때 나타나는 페이지입니다. 이 페이지에서는 게임에 대한 설명과 영상, 이미지, 리뷰, 그리고 이와 비슷한 게임을 나타내는 페이지입니다. 사이트의 기준에 맞도록 게임의 장르를 분류하였고 해당 게임만이 가지고 있는 특이점은 태그로 나타내었습니다. 이러한 정보들은 저희가 직접 입력한 부분은 없었으며 공식 홈페이지에서 크롤링하여 정보를 가져와 자동으로 값을 넣어주었으며 활용하였습니다. 비슷한 작품은 장르 및 태그의 유사성으로 판단하였습니다.

게임 리뷰 페이지

게임에 대한 리뷰 부분입니다. 이 페이지는 별도로 존재하진 않았고 게임 상세페이지에 함께 들어가 있었습니다. 이 영역에서는 리뷰에 대한 전체적인 추세를 볼 수있는 차트와 리뷰내용을 볼 수 있는 리스트로 구성하였습니다. 이러한 정보들은 모두 RDB를 이용하여 처리하였습니다.

평균 평점 같은 경우 처음에는 일정 주기를 가지고 배치로 처리하는 것으로 하였으나, 조사 끝에 실시간으로 반영할 수 있는 방법으로 평균 필터(average-=filter)라는것이 있다는 것을 확인하여 이를 이용하여 진행하였습니다.

게임 검색 페이지

전체 게임 리스트에서 사용자가 원하는 페이지를 뽑아낼 수 있도록 해주는 페이지입니다. 여기서는 크게 검색 조건과 검색 키워드로 나뉘어집니다. 검색 조건은 전체 게임 리스트에 대해서 저희가 만들어 둔 명확하게 정해진 기준에 근거한 조건으로 필터합니다. 그리고 검색 키워드는 타이틀과 게임 내용에서 포함되는 내용이 있다면 그 리스트를 가져옵니다. 이 2개를 근거로 검색을 하여 유저에게 노출하여줍니다.

검색 키워드의 경우 elasticsearch를 사용하였고 게임의 타이틀과 내용을 소스로 저장해두고 index의 id로 DB의 게임 ID와 매핑하여 사용하였습니다.

유저

위 모든 기능은 유저별로 사용할 수 있도록 개발되었습니다. 먼저 회원가입을 일반적인 회원가입과 facebook을 통한 회원가입으로 나누었습니다. 이후 카카오를 통한 회원가입을 추가하였습니다. 그리고 로그인도 가능하도록 처리하였습니다. 많은 부분에서 유저에 대한 기능이 녹아들어갔습니다. 특히 리뷰의 경우 유저마다 리뷰를 남길 수 있고 이러한 리뷰를 모아서 볼 수 도 있게 하였습니다. 또한 본인이 좋아하는 게임 리스트도 뽑내어 볼 수 있도록 하였습니다.

왜 종료되었나 ?

위의 이런 기능들을 6개월 정도로 만들어내고 저희 프로젝트는 마무리가 되었습니다. 처음에는 이를 기반으로 광고 수업일 올려 지속가능하게 프로젝트를 가져가보자라는 목표를 가지고 있었지만 아쉽게 달성하지 못했습니다. 왜 이렇게 종료되었을까? 에 대한 부분은 제 나름대로의 생각과 동료들과의 회고를 통해서 정리한 내용은 결국 계속 이 프로젝트를 진행해야할 동기의 부족 이었습니다. 백엔드 개발자 2명, 프론트 개발자 1명, 그리고 디자이너 1명으로 이루어진 저희는 마지막에 회고를 통해서 동기가 부족하게된 원인에 대해서 공유하고자 이 사이드 프로젝트가 좋았던 점, 아쉬웠던 점에 대해서 정리하고 공유하는 시간을 마지막에 가졌습니다.

아쉬웠던 점

먼저 다들 생각했던 부분이 지속하기에는 동기 부여가 부족했다고 말했습니다. 왜 동기가 부족해졌을까를 생각했을 때 아래와 같은 의견을 주었습니다.

  • 제품의 기획을 리드하는 사람이 없어서 해야할 일이 갑자기 늘어나거나 일정관리가 잘되지 않아서 아쉬웠다.
  • 업무의 량이 많아서 회사를 두개 다니는 기분이 들기도 했다.
  • 회사가 바빠지면서 병행하기가 쉽지 않았다.
  • 개발에 대한 유저의 피드백이 없어서 동기 부여가 잘 되지 않은것 같다.
  • 일정 관리가 잘 되지 않은것 같다.

그리고 추가적으로 PR을 좀 더 적극적으로 하고 팀내의 어떻게 PR을 진행하는지 전략이 있었으면 더 좋았을것 같다 등의 의견도 있었습니다.

좋았던 점

그리고 이번 사이드 프로젝트에 대해서 좋았던 점에 대해서는 아래와 같은 의견을 나누었습니다.

  • 실제 업무에서는 사용하지 못했던 많은 라이브러리들을 사용해볼 수 있어서 좋았다.
  • 본인의 전문 분야 뿐만 아니라 다른 사이드도 개발해볼 수 있어서 좋았다.
  • 코드 작성을 함에 있어서 고민할 시간이 충분히 주어져서 좋았다.
  • 테스트 코드를 작성하면서 개발해볼 수 있어서 좋았다.

등의 의견을 주었습니다.

프로젝트를 마무리하며

이렇게 저희는 근 8개월간 열정만을 가지고 PIKA 프로젝트를 진행했었습니다.

회고를 진행하며 다들 좋았던 점과 아쉬웠던 점이 얼추 비슷하다라는 사실을 알 수 있었습니다.

만약 다음에 또 다른 프로젝트를 진행한다면 어떻게 진행할까 ? 라는 고민을 해보았을 때 저는 동기를 계속 유지할 수 있도록 하는게 가장 중요하구나 라는 사실을 깨달을 수 있었습니다.

그러게 하기 위해서는 어떻게 하는게 좋을까 ? 에 대한 고민은 지금도 하고 있습니다.

제가 지금 생각해 낸 결론은 빠르게 제품을 먼저 출시하고 유저의 피드백을 받아가는게 좋지 않을까라는 생각이 들었습니다.

결국 누군가가 사용하고 실제로 사용한 후기, 또는 그로 인해 파생되는 수익이야말로 팀원들의 동기로 직결되는 부분이 아닐까라는 생각이 들었습니다.

그렇다면 우리팀은 왜 그러지 못했을까 ? 라고 생각했을때 유저 기능을 너무 쉽게 본게 아닐까라는 생각을했습니다.

로그인 / 로그아웃에 의한 유저 기능은 우리가 생각했던 것 보다 훨씬 큰 도메인이었고 더 많은 비즈니스 로직과 기술을 요구했습니다.

그로 인해서 결과적으로 예정되었던 출시가 2개월 가량 더 지연되는 일이 벌어지고 말았습니다.

만약 다음번에 또 다른 기회가 있다면 저는 일단 유저 기능은 빼고 진짜로 코어하게 보여주고 싶은 기능만 PoC로 빠르게 만들어 출시하고 피드백을 받아가면서 할 것 같습니다.

또 개발을 하면서 PR에 너무 소극적이었던 부분에 대해서도 반성하게 되었습니다. 이전에 저는 PR에 대해서 잘못된 부분을 수정하게 하고 조언을 주는 그런 프로세스라고 생각했습니다.

하지만 요즘은 PR을 코드를 함께 보고 이야기를 나누는 프로세스이기도 하다라는 생각을 합니다. 이런 분위기를 팀의 PR에 주었다면 좀 더 서로에게 코드를 보며 더 많은 이야기를 하고 더 좋은 시너지를 주지 않았을까 ? 라는 생각이 들곤합니다.

마무리

이렇게 팀원들과 함께한 사이드 프로젝트에 대한 이야기를 해보았습니다.

마지막으로 지금까지 함께해준 3명의 팀원 모두에게 감사의 말씀을드립니다.

그리고 다음에 또 다른 기회가 있다면 다시 함께하고 싶다고 생각합니다.

모두 건강하시고 하시는 일 건승하시길 바랍니다.

감사합니다. :pray

댓글