AI 요약
나비장터 프로젝트를 10~12월 동안 진행한 경험에 대한 내용을 공유하였습니다. 프로젝트 진행과정, 역할 및 스프린트 등을 소개하였으며 잘한 점과 아쉬운 점을 언급하였습니다.
Contents
근황
10~12월은 나비장터 프로젝트를 진행했다. 저번 중간 프로젝트에서 아쉬웠던 기획적인 부분과 NextJS에서 권장하는 기능들을 더욱 제대로 사용해보자는 의도가 있었다.
이번 프로젝트는 백엔드 3명, 프론트엔드 3명으로 처음부터 끝까지 새로 모든 것을 만드는 과정이었다.
나비장터 소개
나비장터는 기존 중고장터에서 경쟁력이 떨어지는 애매한 가치의 물건들을 물물교환 형태로만 제한하여 거래하는 물물교환 거래 서비스이다.
물물교환의 특성을 십분 활용하기 위해 등록된 물건을 바탕으로 거래를 제안하고 수락한 후에 채팅 등의 소통이 가능하도록 했다. 이를 통해 사용자에게 불필요한 소통 비용을 줄이고, 마치 서로의 패를 교환하는 느낌으로 소소한 재미 포인트를 주려 의도했다.
타임 테이블
- 10.12~10.22: 기획, 디자인 작업
- 10.23~10.29: 개발 환경 설정 및 기초 세팅
- 10.30~11.05: 공통 컴포넌트 개발
- 11.06~11.12: 카드 리스트 조회, 인증 및 인가
- 11.13~11.19: 카드 업로드 및 수정, 거래 관련 기능
- 11.20~11.26: 채팅, 인기 게시글 기능, API 연결 및 에러 처리
- 11.27~12.03: QA 및 추가 에러 처리, 성능 최적화
역할
나는 이번 프로젝트에서 로컬 작업으로부터 배포까지 이어지는 전체적인 과정의 설정, MSW와 백엔드와의 통신, NextJS의 여러 기능에 대한 기초 설정, 인증 및 인가 처리, 카드의 업로드 및 수정, 마이페이지, 채팅의 구현을 했다.
또한 프론트엔드 팀의 스케쥴을 맞추기 위한 스프린트 및 각자의 테스크를 분배하는 역할을 주도했다.
스프린트 및 협업
문서화
기본적으로 노션에 여러 카테고리를 만들어 문서화를 진행했다. 다만 몇 가지의 예외를 두었다.
- 백엔드 및 전체적인 공유가 필요한(할 수 있는) 내용은 슬랙으로 공유하되, 노션의 버그 템플릿을 작성하여 공유하기
- 프론트엔드 내에 공통적인 개발 공유 사항 및 에러는 Github의 Wiki와 Discusstions 활용하기
특히 Wiki를 작성하여 공유한 것은 좋은 경험이었다. 관련 질문이 있을 때 링크를 전달하여 소통이 간결해 진 점이 기본이지만, 스스로도 까먹은 부분을 다시 확인할 수 있었고 또 후에 누군가 프로젝트에 참여하거나 내 구현의 의도를 파악할 때 쉽게 할 수 있을 것이다.
스프린트 및 스토리
스프린트는 디자인과 기획을 바탕으로 스토리를 작성하고 이를 세부 테스크로 나누어 각 스토리 포인트를 팀원들과 함께 의논하여 나누는, 저번과 비슷한 방식으로 진행했다.
Jira
다만 이번에는 백엔드와의 현황 공유도 쉽게 할 겸 + 깃과 슬랙에서 티켓도 활용하며 할 겸 해서 Jira를 활용했다.
예전에 회사에서 Jira를 도입하자고 할 때는 매우 어려워 많은 학습이 필요하다는 이야기가 많았는데, 사용하다 보니 그렇게 어렵지도 않고 장점도 많은 것 같다.
백엔드와의 소통
API 명세와 이의 관리가 가장 중요했다. API 및 DB 스키마 설계에 적극적으로 참여해서 같은 기획적 이해를 공유하고자 했다. 또한 문서를 바탕으로 변경 및 요청 사항을 공유할 수 있도록 했다.
{
"code": "SUCCESS",
"message": "성공하였습니다.",
"data": {
"cardList": [
{
"cardId": 4,
"cardTitle": "string",
"itemName": "string",
"priceRange": "PRICE_RANGE_ONE",
"thumbnail": "썸네일이미지",
"status": "TRADE_AVAILABLE",
"createdAt": "2023-11-15T17:18:40",
"modifiedAt": "2023-11-15T17:18:40"
}
],
"nextCursorId": "2023111517184000000004"
}
}
위와 같이 요청, 응답 등을 공유하여 최신화 등을 그때그때 요청할 수 있도록 했다.
주간 회고 등
데일리 통합 스크럼 및 주간 회고를 통해 진행 상황 공유와 아쉬운 부분이 빠르게 논의될 수 있는 시간과 장소를 만들었다.
일례로 슬랙과 카카오톡을 목적 구분 없이 혼동해서 사용해 문제가 있었는데, 이를 주간 회고에서 공유하여 일상적 목적 또는 급한 호출에만 카카오톡을 사용하도록 구분하고 슬랙 소통에 대한 추가 룰을 만들어 프로젝트 마무리까지 소통을 명확하게 유지할 수 있었다.
회고
잘한 점
잘한 점은 위에서 기술한 내용들이지만, 이번 프로젝트에서 새로 느낀 점들이 있다.
- 중간 프로젝트에서 기획을 급하게 하여 완성해보니 불필요한 기능이 있었는데, 이번 프로젝트에서는 이에 투자하여 그런 부분이 없이 담백하게 완성할 수 있었다.
- 팀원들의 의견 존중하기
- 몇몇 기능들을 개발함에 있어서 팀원들과 다른 의견이 꽤 있었다. 이에 중간점을 타협하여 진행함을 통해 프로젝트 기한에 맞춰 기능을 완성할 수 있었다.
- 의지 북돋아주기
- 이 부분은 스스로 잘 했다기 보다는 팀원들에게 감사한 점인데, 서로 할 수 긍정적인 언사를 반복해서 전체적인 분위기를 좋게 만들 수 있었다. 사소해 보여도 이 부분이 없었다면 프로젝트가 지금처럼 잘 되지는 않았을 것 같다.
아쉬운 점
- 팀원들의 이해 진도가 맞지 않았던 부분
- 초기 기획 및 기초 개발 과정에서 많은 회의가 필요했다. 이 때 집중도가 떨어지면 내용을 놓치기 마련인데, 이 때문에 반복해서 과거 내용을 끌고 온 경우가 몇 있었다.
- → 명시적으로 회의록, 문서에 읽음을 체크하는 양식 등을 설정하면 좋았을 것 같다.
- 때문에 기획 시간이 다소 길어졌던 점
- 중간 프로젝트에서의 아쉬움으로 기획을 탄탄히 하고자 했으나, 이번에는 하루이틀 더 소요되었다.
- 물론 급하게 하는 경우보다는 좋으나, 이전 개선 사항 등을 통해 불필요한 소통을 줄여 필요한 정도의 시간만 투자됐으면 좋았을 것이다.