티스토리 뷰

Review

게임 추천 웹 서비스 개발 후기

그랩그랩 2018. 6. 29. 14:01

모든 창작러들은 자신이 만든 작품을 자식이라 생각하지 않을까?


  이번에 대학교를 다니면서 마지막 팀 개발 프로젝트를 수행했다. 주제는 내가 졸업하기 전까지 그럴 듯한 결과물로 만들고 싶었던, 게임추천 웹 서비스 개발 이었다. 마지막 팀 프로젝트였고, 내가 정말 애착을 가지고 있는 주제기 때문에 이번에 어떻게 해서라도 내 마음에 들게 하고 싶었다.


  서비스를 상용화 할만한 자원이 우리에게는 있지 않았기 때문에 실제 서비스를 하지는 못하더라도, 실제 서비스와 동일하게 배포를 해서 프로젝트 최종 발표나 전시회에서 우리가 만든 페이지를 사람들이 직접 접속해서 써 볼수 있게 하지는게 내 개인적인 목표였다.


  기간은 넉넉했다. 3월에서 6월까지 반쯤 만들다 말았던 프로젝트를 이어서 만들기만 하면 되는 것이었다. 그 당시 백엔드는 60%정도, 프론트는 40%정도 완성이 되어있었고, 예상 평점을 계산하는 알고리즘은 완성되어 있었으나 개선이 필요했고, 추천 기능에 들어갈 알고리즘은 만들어야 하는 상황이었다. 6명이서 3개월 동안 꾸준히 하면 만들고도 남을 프로젝트 라고 생각했었다.


  3개월 동안 개발을 하면서 프로그래밍적으로 어려운 것은 별로 없었다. 프로젝트를 진행 하면서 제일 어려웠던 것은 팀 리딩이었다. 지금까지 학내에서 토이 프로젝트를 몇 회 진행 하면서 팀장으로써 몇 차례 할 수 있는 기회가 있었다. 하지만, 지금까지는 3명이하의 인원들을 데리고 했었고 6인이 한 팀으로 진행하는 것은 처음이었다. 때문에 지금까지는 프론트앤드 개발자 한 명, 백앤드 개발자 한 명, 팀장 한 명 이렇게 3명이서 보통 진행 했었는데 프론트앤드와 백앤드가 각각 2명 이상이서 진행하는 것은 거의 해본 적이 없는 일이었다.


  그리고 내가 팀장을 맡게 되어서 팀원들에게 일거리를 분배를 해줘야 했고, 그러기 위해선 그들의 특징을 판단 해야했다. 때문에 그들에게 Angular와 웹의 동작 방법들을 가르치고 간단한 게시판을 만들게 하면서 그들의 특징을 판단하였다. 누구는 디자인을 더 많이 신경쓰고, 누구는 겨우 게시판을 만들었고, 누구는 그럴듯하게 만들었고... 이런 식으로 대강 팀윈들이 특징을 파악하고, 그들이 할 수 있을 만큼 일을 분배하기로 했다.


  그렇게 몇 주의 시간이 흐르고 팀원들의 진행상황을 매 주 회의 때마다 점검을 하면서, 누가 많이 뒤쳐지는 가에 대해서 많이 관심을 쏟아야 했다. 누구 커밋이 많이 올라오지 않는지, 커밋이 올라오지 않은 이유는 무엇인지, 하지 않은 것이라면 다음 회의 때까지 얼마나 해 올 수 있는지에 대해 지속적으로 체크를 해야 했다. 그 중에서 한 명이 제 시간 내에 자신이 맡은 바를 제대로 수행 할 수 없을 것 같다는 판단이 들었을 때가 있었는데, 그 때 그 팀원에게 제 시간 내에 해올 수 있는지 물었고, 할 수 없다면 곧 바로 얘기 해서 일을 재분배 할 수 있도록 하라고 얘기했다.


  실제로 어떤 팀원이 시간 내에 해야 하는 일을 하지 못하다고 말하면, 다른 팀원에게 분배를 해야 했다. 하지만, 다른 팀원들은 자신의 코드를 작성하는 데도 바빴기 때문에 그나마 전체적인 코드 구조를 알고 있고, 그나마 코드를 잘 이해 하고 있는 내가 그런 일들을 가져다 했다. 그렇게 진행하는 것이 그들에게도, 나에게도 시간을 단축 시키는 방법이었다고 생각한다.


  이번 프로젝트에서 내가 그들에게 바랬던 것은 크지 않았다. 내가 회사를 다니면서 학교를 다니고 있기 때문에 물리적으로 코딩하는 시간이 많지 않았다. 때문에 그들이 내가 알려준데로 코드를 동작 가능할 정도로 만들어준다면 내가 심리스 하게 만드는 과정을 거치는 것이 제일 빠르고 안전한 방법이라고 생각했다. 때문에 그들은 코드를 동작 가능하게만 만들어주길 바랬다. 그리고 팀원들은 생각보다 더 잘해주었다. 물론 미숙한 부분도 많이 있었지만, 모두 내가 커버 할 수 있는 수준이었다.


  결국 우리는 마지막까지 최선을 다했고 성적은 만족할 만한 점수를 얻었다. 하지만, 내가 정말 3월에 시작 할 때 만들고 싶었던 '완성된' 게임 추천 웹 서비스의 모습과는 많이 멀었다. 예상점수를 계산하는 알고리즘은 정말 최적화가 잘 되어서 빠른 시간 내에 예상 점수를 계산해 내었지만, 추천을 해주는 부분은 알고리즘을 선정하는 부분에서부터  잘못 되었다는 생각이 들어서 너무 사전 지식 준비가 부족하지 않았나라는 생각이 든다.


  또, 이번 프로젝트를 진행하면서 사람을 부리는 일은 정말 어려운 것이라고 다시 한번 생각하는 계기가 되었고, 나는 사람 부리는 일은 별로 맞지 않는 것 같다는 생각을 또 다시 하게 되었다. 이번에 만든 게임 추천 웹 페이지를 다시 만드는 날이 언제가 될 지는 모르겠지만, 다시 만들어보고 싶다. 정말 괜찮은 추천 알고리즘을 선정하여서 추천 알고리즘을 다시 만들고 다음 번에는 PWA를 추가하여서 사용자로 하여금 조금 더 접근성이 높을 수 있도록 하고 싶다. 

댓글
Total
Today
Yesterday
공지사항
최근에 올라온 글
최근에 달린 댓글