프로그래머스 데브코스에서 진행한 2차 팀 프로젝트 회고를 진행해 보려 한다
처음 경험하는 규모의 프로젝트는 처음이기도 했고 2024년 마지막 프로젝트였기 때문에 더 욕심이 났다.
그리하여 우리 팀이 만든 서비스는 두둥
🔗깃허브 주소

!O운완?O운완서비스는 현대인의 건강한 라이프스타일을 위한 사진 기반 운동 인증 커뮤니티로, 사용자들에게 동기부여와 정보를 제공하는 것을 목표로 삼았다.
주요기능
주제: 제공되는 api를 이용한 회원 인증 기반 커뮤니티
기간: 2024.12.05 ~ 2024.12.23
기본 요구사항
보너스 요구사항
주제 선정

주제는 요구사항에 맞춰서 팀원들이 각자 의견을 던지고 투표를 진행하였다
투표 결과 top3 주제들로 요구사항에 충족시킬 수 있는지 확인 후 특이사항을 점검하고 투표로 진행되었다
그 결과 최종적으로 내가 제안한 오운완이 선정됐다 🎉
🗣️ 오운완 제안 이유
운동인증이라는 주제는 시각적 콘텐츠와 어울린다디자인에 들어가기 전 유저플로우를 작성했다
유저플로우를 작성함으로써 다음과 같은 이점을 얻을 수 있었다

디자인은 피그마를 통해 진행되었다. 반응형 웹을 전제로 디자인을 진행했으며, 피그마에서 공통 컴포넌트들은 별도 분리해 관리하며 디자인 시스템을 효율적으로 구축하고자 했다. 이를 통해 디자인의 일관성을 유지하고 수정 사항 발생 시 빠른 대응이 가능했다.

프로젝트 초기에는 기능명세서를 어떻게 정리해야 할지 막막했지만, 여러 블로그 글을 참고하며 페이지별로 나누어 작성하는 방식을 선택했다. 그 결과 다음과 같은 이점이 있었다.



깃허브에서는 이슈와 PR 템플릿을 활용하여 일관된 형식을 유지할 수 있었다.
라벨을 통하여 작업 내용을 한눈에 파악할 수 있었고, 각 PR에서는 구현한 로직에 대한 간단한 설명을 포함하여, 다른 팀원들이 코드를 리뷰하고 이해하는데 도움이 되도록 했다.
브랜치와 이슈를 연동하여 PR 머지 시 해당 이슈가 자동으로 closed 되도록 설정했다. 이를 통해 작업 진행 상황을 효율적으로 추적할 수 있었다.
브랜치 네이밍 규칙은 'devtask#issuenumber' 형식을 따랐다. (예: featheader#2)
각 팀원이 한 번에 1개의 태스크만 담당하도록 하여 코드 병합 과정에서 발생할 수 있는 문제를 사전에 방지할 수 있었다.
🔥 그럼에도 발생한 충돌… 원인은 개인 개발에 몰두하여 pull을 받지 않고 작업을 진행하는 경우가 있었기 때문.
이를 해결하기 위해 Zoom 채팅과 카카오톡 등 모든 연락망으로 PR과 머지 상황을 실시간 공유했고, 이를 통해 팀원들이 즉시 pull을 받아 충돌을 최소화하며 작업을 이어갈 수 있었다! 👍

개발시 지속적으로 테스트를 진행했다. 발견된 버그들은 즉시 수정하거나 노션에 기록하여 추후 해결할 수 있도록 했다. 이런 방식으로 모든 팀원이 버그 발견과 수정에 적극적으로 참여하여 서비스의 안정성을 높일 수 있었다.
테스트와 품질 관리를 위해 다음과 같은 방식으로 진행했다

🔥 개발하는 시간보다 오류를 잡는 데 더 많은 시간을 할애했던 것 같다. 기능 구현이 끝났다고 생각했지만 QA를 진행할수록 계속해서 예상치 못한 오류들이 발견되었고, 이를 해결하기 위해 많은 시간과 노력을 들였다. 다음 프로젝트에서는 QA 시간을 충분히 확보해야겠다.
이번 프로젝트의 1차 스프린트에서는 보너스 요구사항을 제외한 모든 기능 구현을 목표로 삼고, 수업 시간뿐 아니라 주말과 저녁 시간까지 팀원들이 함께 슬랙 허들에 모여 개발에 매진했다. 팀원 모두 적극적인 참여로 기한 내에 보너스 요구사항까지 도전할 수 있었고, 결과적으로 전체 21개 중 메시지 기능을 제외한 18개의 요구사항을 성공적으로 구현했다!
팀내 에이스 분들(양대산맥)이 화면을 공유하며 어려운 부분을 설명해 주신 덕에 수업 시간에 완벽히 이해하지 못했던 axios나 zustand와 같은 기술들도 프로젝트에서 활용해 볼 수 있었다.
개발 과정에 집중하다보니 나머지 버그 수정과 QA에 충분히 시간을 할애하지 못한 점이 아쉽지만, 3주라는 짧은 시간동안 정말 열심히 했다는 점에서 만족한다! 중간에 어려운 부분도 있었지만 팀원들의 응원 덕분에 프로젝트를 끝까지 마무리할 수 있었다. 굿굿 👍