나는 이렇게 논다/Suulgo_# 술취향 매칭

#7_술GO? 하기 전에 회GO!

daco2020 2022. 1. 22. 19:01
반응형

결과물

 

 

사이트 주소 : http://suulgo.s3-website.ap-northeast-2.amazonaws.com/
깃헙 레포 : https://github.com/Daco2020/27-2nd-SUULGO-backend

 

고민했던 것들

지난 1차 프로젝트 때 개인적으로 아쉬웠던 점들이 있었다.

  1. 노션과 트렐로 툴을 병행하여 트렐로 툴을 적극 활용하지 못한 것
  2. 트렐로를 활용하지 못하여 칸반의 진척도를 정확히 파악하지 못한 것
  3. 팀원 간 실력차에 의해 업무 공백이 발생한 것
  4. 단순 데이터 반환 기능만을 구현한 것
  5. 개성 있는 서비스가 아닌 사이트 클론과 기능에 집중한 것

이번 술고 프로젝트에서는 1차 때의 아쉬운 점들을 극복하는데 집중했다.

 

그래서 이번에는

첫 번째, 트렐로를 과감히 포기하고 노션에서 칸반을 함께 관리하였다.

노션에서도 칸반을 만들 수 있고, 노션은 상태별로 다양한 포맷을 볼 수 있기 때문에 트렐로 보다 더 잘 활용할 수 있었다.

 

특히, 이번에 새롭게 시도한 것은 업무의 진척도를 시각화하여 숫자와 그래프로 나타낸 것이다. 티켓 진행도를 백분율로 표시했고, 이를 그래프로 만들어 현재 프로젝트가 어느 단계에 이르렀는지 한눈에 확인할 수 있도록 했다. 진척도가 가시화되자 남은 일정 관리를 더 명확하게 짤 수 있었고 팀원들도 만족스러워했다.

 

 

 

두 번째, 티켓을 더 잘게 쪼개고, 필요시 공동작업을 통해 업무 공백을 최소화하였다.

1차 때에는 티켓을 기능 단위로 구분하여 생성하였다. 이것은 언뜻 깔끔해 보이지만 기능마다 난이도 차이가 있었기 때문에 업무 분배와 난이도를 조절하기 어려웠다.

 

이번에는 하나의 기능이라 하더라도 추가되는 코드나 나눌 수 있는 부분 같은 경우 티켓을 추가 생성하여 관리하였다. 이렇게 하니 업무도 더 효율적으로 분배할 수 있었고 만약 리소스가 많이 드는 티켓이거나 함께 작업하면 좋을 티켓이라면 공동작업으로 할당하여 함께 작업을 진행하였다.

 

이 덕분에 2차 프로젝트에서는 업무공백으로 혼란이 생기는 일은 발생하지 않았다.

 

 

세 번째, 단순 데이터 반환이 아닌 알고리즘을 구현해 볼 수 있었다.

이전 글에도 언급했지만 이번 프로젝트에서는 DB에 있는 데이터를 활용해 매칭 알고리즘을 만들어 볼 수 있었다. 어떻게 보면 생에 첫 알고리즘이었는데 그만큼 두근거리면서 재밌게 작업해 볼 수 있었다. 아직 부족한 부분이 많지만 그만큼 많이 배운 것 같고 스스로 성장한 것 같은 뿌듯함을 느낄 수 있었다.

 

 

네 번째, 단순 클론이 아닌 팀원들과 새로 기획한 서비스를 보여줄 수 있었다.

이 부분은 사실 나보다도 우리 팀원들을 잘 만난 것이 주요했다. 팀원들의 재미있는 아이디어가 있었기에 이런 흥미로운 기획을 프로젝트에 적용해볼 수 있었다. 물론 그만큼 퀄리티나 기능적인 부분이 부족해진 것도 있지만 그럼에도 우리의 재미난 상상들이 현실로 구현되었을 때의 기쁨은 정말 말로는 표현하기 어렵다.

 

 

다섯 번째, 자료를 수시로 공유하여 작업 안정성을 높였다.

우리 팀 백엔드의 경우, 모델링부터 테스트 코드까지 수시로 노션을 통해 공유하였다. 코드까지 공유할 필요가 있나 싶겠지만, 이번 프로젝트 때 새로 배운 git rebase 나 unit test의 경우 우리가 실수를 할 확률이 높았기 때문에, 혹시 모를 실수가 우리의 작업에 지장이 가지 않도록 수시로 백업을 하여 프로젝트의 안정성을 높였다. 이 덕분에 우리는 깃 충돌로 인해 작업이 지연되거나 문제가 발생한 적이 없었다.

 

 

 

나의 역할

나는 이번 프로젝트에서 '백엔드 리드'와 '노션 관리'를 맡았었다. 백엔드 리드로서 나는 우선적으로 팀원들이 각자 하고 싶은 것들을 선택할 수 있게 하였고, 난 '상세페이지'와 '매칭 알고리즘', '로그인 데코레이터', '약속 요청'과 '약속 알림' 기능을 맡았다. 1주 차 주말까지 이 기능들을 대부분 구현한 나는 다른 팀원들을 서포트하거나 함께 작업해야 할 공동작업 티켓들의 초안을 짜두는 식으로 업무를 분담했다.

 

노션은 술고 프로젝트 첫 번째 글에도 언급되었다시피 우리 팀 전원이 툴을 적극 활용할 수 있도록 초점을 맞추어 구성하였다. 2주 차가 되어서는 진행도 그래프가 추가되었고 세션이 있을 때는 해당 세션에 대한 내용을 정리하여 팀원들에게 공유하였다. 팀원들이 최대한 작업에만 몰입할 수 있는 환경을 만들어 주고 싶었다.

 

 

사용기술 & 툴

python, django, jwt, git, notion

 

그럼에도 아쉬운 점

  1. 이전 글에도 언급되어 있지만, 기술적으로 알고리즘과 약속 요청 및 알람 기능에서 아쉬운 점이 많다. 추후 이 부분을 더 보완하여 프로젝트의 완성도를 더 높여보고 싶다.
  2. 다른 기술들을 사용해보지 못한 점. 업무를 나눴기 때문이기도 하지만 '소셜 로그인'이라던지 '도커 배포'라던지 등을 시도해보지 못한 게 아쉬운 점으로 남는다.
  3. 하루에 한 번은 팀끼리 밥을 다 같이 먹었으면 어땠을까 싶다. 서로 친하게 지내는 사람들이 다르다 보니, 혹은 메뉴 취향이 다르다보니 밥을 따로 먹는 경우가 빈번했다. 사실 밥을 무조건 같이 먹을 필요는 없다고 생각하고 상대방을 존중도 하지만.. 뭔가 식사시간마다 붕뜬다는 느낌을 지울 순 없었다. 그리고 식사시간이 서로 달라지면서 일정을 잡기가 애매한 부분도 있었고, 식사 때 나눈 얘기를 다시 또 반복해야 하는 경우도 더러 있었다.

 

 

향후 방향성

  1. 서비스의 본질이 무엇인지에 대해 보다 더 많은 고민을 해 볼 것이다. 이번에 작업한 알고리즘이 부족하다고 느끼는 것도 이 부분에 대한 고민이 부족했기 때문인 것 같다.
  2. 새로운 기술들을 적극적으로 수용하고 작업에 적용해보기. 다음 프로젝트에서는 어떤 기술들을 배우게 될지, 필요로 하게 될지 아직 알 수는 없지만 적극적으로 배우고 실제 적용하는 것을 주저하지 않을 것이다. 이 부분은 추후 블로그에도 기록을 남기겠다.
  3. 마지막 개인적인 소망으로 팀원들과 하루에 한 끼는 다 같이 밥을 먹었으면 좋겠다. 물론 따로 먹어도 되지만 프로젝트 기간만큼은 같이 먹으려 노력하는 모습을 보인다면 그 모습에 유대감이 형성되고 안정감과 생산성도 높아지지 않을까 싶다.

 

 

마무리

2차 프로젝트는 정말 재미있었고 프로젝트 같은 프로젝트를 한 기분이 들었다. 소통도 1차보다 더 원활했고 우여곡절도 많았던 것 같다. 무엇보다 기획이 재미있었다! 앞으로도 이런 재미있는 프로젝트들을 꾸준히 해보고 싶다. 데이터도 더 깊이 다루고 싶고, 사람들의 삶을 더 풍요롭게 만들어 보고 싶다.

 

함께 고생한 우리 팀원들, 아낌없는 피드백을 주신 멘토님들, 서로 오며 가며 조언을 해준 동기분들 다 너무너무 고맙고 감사하다. 최고의 환경과 최고의 동료들과 함께해서 이만큼 성장할 수 있었던 것 같다. 앞으로도 갈 길이 멀지만 지금의 경험을 되새기며 발판으로 삼는다면 계속해서 나아갈 수 있을 것 같다.

 

 

 

 

반응형