ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로그래머스 데브코스 - 9월 회고
    회고 2023. 10. 4. 20:20

     

    🔔 서론

    프로그래머스 데브코스 2차 팀 프로젝트가 드디어 끝이 났다.
    한 달이라는 짧은 시간동안 기획, 디자인, 개발을 모두 다 해야 했기에 매 순간마다 선택과 집중을 해야하는 상황을 마주했고 많은 어려움을 겪었지만 다행히 큰 사고 없이 잘 마무리가 되었다.

    지난 8월 회고에서 9월 각오로 완성도 높은 팀 프로젝트를 결과로 보여주겠다 하였는데 어떻게 됐을지 한번 살펴보도록 하자.

    이번 글은 9월 한 달동안 진행한 팀 프로젝트 회고글이다.


    🔔 기획

    🎉 서비스 소개

    최근들어 중고 거래가 굉장히 성행하고 있다는 점, 어떤 물건을 구매 할 때 구매처와 가격대가 굉장히 다양하다는 점, 사람의 심리 상 본인이 구매한 물건을 잘 샀는지 평가 받고 싶다는 점 이 세 가지를 고려하여 꿀 매매 정보 교류 커뮤니티 서비스를 착안하여 꿀매를 판결받는다는 느낌을 살려 서비스명을 '꿀매 포청천'이라고 지었다.

    여기서 '꿀매'는 꿀처럼 달콤한 매매라는 뜻으로 합리적인 가격에 좋은 상품을 구매했을 때 사용하는 말을 뜻하고, 포청천은 중국 송나라때의 유명한 판관으로 중국판 솔로몬이라고 생각하면 쉽게 이해가 될 것이다.

    즉, 해당 서비스의 각각의 사용자가 포청천의 역할이 되어 다른 사람이 올린 매매가 꿀매인지 아닌지 판결을 내릴 수 있는 서비스이다.

     

    🎉 타겟층

    서비스의 타겟층은 다음과 같다.

    1. 물건을 구매 및 판매 시 적정가를 알아보고 싶은 사람들
    2. 가성비 매물 정보를 얻고 싶은 사람들
    3. 평소 구매했던 물건의 가격이 괜찮았는지 합리적인 소비를 한 것인 지 판단을 하고 싶은 사람들
    4. 중고 거래 서비스를 자주 이용하는 사람들

     

    🎉 브랜치 전략

    처음에는 각자의 develop 브랜치를 두고 병렬적인 개발의 프로세스를 보장하며 conflict를 줄이자는 생각을 했었으나, 협업의 느낌을 살리자는 의견과 짧은 시간상 Pull Request에 대한 빠른 피드백이 있어야 했기에 개인 develop 브랜치는 없애고 하나의 develop 브랜치를 두어 자유롭게 PR을 날리고 주간 스프린트가 마무리 될 때마다 release 브랜치에 배포, 마지막날에 main 브랜치에 배포하는 구조로 설계를 하였다.

    🎉 기술 스택

    1. Next.js
    2. SCSS
    3. Tanstack Query
    4. Zustand
    5. Axios
    6. Storybook
    7. Vercel

     

    🎉 기능

    • 로그인 및 회원가입
    • 게시글 CRUD
    • 게시글 댓글 CRD
    • 유저 팔로우
    • 게시글 좋아요 및 싫어요
    • 좋아요, 댓글 알림
    • 다크모드

     

    🎉 결과

    https://price-pcc.vercel.app/


    🔔 회고

    🎉 목표

    이번 프로젝트를 진행하기 앞서 각 팀원 모두 개인 목표를 세웠던 것이 있다.

    나의 목표는 서로 진행 하고있는 이슈, 작업물의 공유를 적극적으로 하여 협업을 함으로써 완성도 있는 결과물을 내는 것이었다. 허나 목표를 추상적으로 잡으니 끝나고 난 후에 완성도가 있었는가를 평가할 때의 기준이 모호해 결국 주관적인 평가를 내릴 수 밖에 없었던 것이 크게 아쉬웠다. 완성도의 기준을 기능(원활하게 잘 돌아가는가)에 둘 수도 있었던 것이고 사용성(ux)에 둘 수도 있었을텐데 무작정 완성도있게 하자고 적어놓으니 어떻게 평가를 해야할지 어려웠다.

    🎉 소통

    팀프로젝트를 하면 가장 중요한건 소통이라고 생각을 하는 편이다. 소통이 잘 되냐에 따라 프로젝트 진척도나 문제사항 해결에 큰 영향을 준다고 생각하기 때문이다. 나를 포함한 팀원들 모두 비슷한 평가를 내렸는데, 소통에 있어서는 잘 이루어졌다고 생각한다. 오히려 소통이 너무 무분별하게 많지 않았나? 라는 느낌을 받았던 부분이 있었는데 팀 규칙으로 코어타임 시작전 스크럼을 진행하곤 했다. 스크럼은 대게 15분~20분 정도로 진행되는 것이 권장되는데 스크럼 때 여러 이슈사항들과 안건들을 이야기하다보니 스크럼이 자주 회의가 되어버리고 30분, 40분 더 길어져 1시간을 진행한적도 더러 있었다. 이런 부분에 있어서 목표도 그렇고 소통도 그렇고 확실한 기준을 확립해 두지 않고 '알아서 잘 하겠거니, 상황보고 판단하자' 라는 마인드가 좋지 않다는 것을 체감했다. 또한 이러한 문제점이 여실히 드러났던 부분이 규칙으로 정했던 것중 하나인 '모르는 부분 혼자서 끙끙 앓지 말자' 였었는데 규칙상으로는 혼자서 최대한 해결해 보되 한 두 시간 붙잡아도 해결되지 않으면 새로운 이슈사항으로 올리거나 안건으로 이야기 하기로 했는데 개인적인 욕심도 있고, 모르는 것을 물어보는 것에 대한 부끄러움도 어느정도 있어서 불필요한 시간 낭비를 했던것이 소통에 있어서 큰 아쉬움으로 남았다. 나 같은 경우에는  이번 프로젝트에서 next의 자체 백엔드를 사용하기 위해서 api route폴더를 따로 설정해주어야 한다는 사실을 모르고 api 연결을 시도하면서 2시간 넘는 시간을 허비한 적이 있었는데 도저히 알 방도가 없어서 팀원에게 물어보니 api route설정을 해주어야 한다는 말을 듣고 3초만에 해결책을 찾아버린 경험이 있다. 사실 지금 똑같은 상황에 놓이더라도 일단 스스로 해결 해보려고 맨땅에 헤딩하듯 시간을 허비할 것 같은데 이 기준을 잡기가 참 애매한듯 하다.

    🎉 개발 프로세스 (코드리뷰, 개발사항 일정 산정 및 배분)

    개발 프로세스는 정말 만족스러웠다. 지금까지 했던 모든 프로젝트 중에 가장 체계적으로 진행되었고 주간 단위로 스프린트도 진행하여 스프린트마다 팀원들이 맡을 개발 일정을 배분하였는데 이 방식이 잘 진행되었던게 누구 한 명에게 일이 몰아지지 않고 마감 기간을 크게 어기지 않고 그래도 어느정도 잘 지켜진 부분에 대해서 처음 진행한 방식치고 사고없이 잘 이루어진 듯하여 만족했다. 아쉬운건 나 자신에게 있었다. 이번 프로젝트에서 next js를 거의 처음 사용하다 보니 프로젝트 첫 주차에 폴더구조를 익히는 데에만 하루 이상이 걸리곤 하면서 개발 속도가 나질 않아 팀원들의 코드 리뷰를 제대로 진행하지 못했던 것 같다. 물론 프로젝트 중반에는 사용법이 어느정도 익숙해지고 구현만 하면 되어서 코드 리뷰를 어느정도 할 여력이 있긴 했지만 그마저도 후반에 가서는 다시 마무리하느라 바쁜 나머지 리뷰달기가 쉽지가 않았다. 이런 부분에 있어서 시간 분배를 잘 하지 못했다는 점에서는 스스로에게 아쉬웠다.

    🎉 그 외의 이슈들

    초반 프로젝트 세팅 단계에서 node 버전을 다 같이 맞추지 않고 진행했었는데 이게 프로젝트 중간에 문제를 발생시키는 바람에 당황했던 적이있다. 해당 에러를 마주했을 때 node 버전 문제라고 전혀 생각치도 못했기에 발견하기까지 팀원이 꽤나 마음고생을 심하게 한 것을 보고 팀장으로서 안타까웠는데 그래도 문제가 발생한 덕에 다들 node 버전 통일에 대한 중요성을 크게 깨닫게 된 계기가 됐던 것 같다.

    🎉 나는 좋은 팀장이었는가?

    이번 프로젝트를 하면서 줄곧 내내 생각해왔던 질문이다. 우선 나는 좋은 팀장이 무엇인지 조차 잘 모르겠다. 멘토님께도 이 질문을 했을 때 멘토님이 먼저 '기범님이 생각하는 좋은 팀장이 뭔데요?' 라고 되물어 주셨는데 쉽사리 대답을 하지 못했던게 나도 아직 좋은 팀장이 무엇인지 몰랐던 것이다. 그래서 표현이 너무 추상적인 것 같아 조금 구체화 시켜보려고한다.
    '나는 팀원들이 목표를 달성할 수 있게 팀장으로서 최선을 다했는가?' 라고 스스로에게 다시 질문해 보았다. 우리 팀원들의 첫 목표가 다들 추상적이라 평가하기 나름인 점은 차치하더라도 그에 상응되는 노력을 했는가를 물어본다면 사실 그렇다는 대답을 할 수가 없었다. 대체적으로 팀원들의 목표를 간추리면 '서로의 작업을 공유하며 협업하여 완성도 있는 결과물을 만드는 것'이라고 할 수 있겠는데, 이렇게 본격적인 팀 프로젝트가 거의 처음이다시피 했던 나는 팀 문화에 대해서도 잘 몰랐고 협업하기위한 스킬에 대해서도 잘 몰라서 팀원들이 제안하는 여러가지 방식중 괜찮은 것에 투표를 하는 것에 그치기만 했었다. 물론 배워가며 성장하는 거라고는 하지만 나보다 팀을 더 잘 이끌수 있을 것 같은 사람들이 있음에도 내가 팀장을 하는 것이 옳을까에 대한 생각이 먼저 들었던 것이다. 그동안 여러 팀장의 자리를 거쳐왔지만 '팀장? 그냥 하면 하지' 라는 생각으로 가볍게 임했지 '어떻게 하면 팀원들을 목표로 이끌 수 있을까' 에 대한 고민은 처음해보게 되었다. 그래도 내가 데브코스에 지원할 당시 팀 프로젝트 하는것이 가장 기대 된다 했었고, 팀 프로젝트를 하고 나서 팀을 잘 이끄는 방법이 무엇인가에 대해 생각하게 된 것이 상당히 이상적인 고민을 가지게 된 것 같아 이런 고민을 하게 되는게 내가 원했던 데브코스의 결과물이어서 너무나도 만족하는 중이다. 매번 회고를 쓸 때마다 숙제가 하나씩 늘어나는 것 같은데 (기분탓이겠지..?) 공교롭게도 새로 만난 최종 3차 팀에서도 팀장의 역할을 맡게되었다. 2달간 팀원들을 목표로 잘 이끌어 가기위한 스킬을 찾아야하는 숙제를 얻은 것이다.


    💡 10월 각오

    팀의 목표를 달성하기위해 노력하는 팀장의 자질 찾기

Designed by Tistory.