팀 프로젝트

[Agile] 1차 팀프로젝트 회고

개발자 오오 2023. 5. 16. 22:25

> 안녕하세요. 부트캠프를 시작하고 벌써 시간이 이렇게 빠르게 흘러가버렸네요.

사실 이제 2차 프로젝트가 끝나고 기업협업에 가기 전인데 1차 프로젝트가 끝나고 개인적으로 투두리스트를 곧바로 3,4?일 간 개발하게 되어서 회고 글 작성해야지~하다가 이제서야 작성하게 된 점 반성합니다. 바로 시작하겠습니다. Go 

 

 위코드 부트캠프를 시작하고 첫 팀프로젝트를 진했하게 되었습니다. 

프로젝트 기간  2023.04.28 ~ 2023.5.12 약 2주 동안 저 포함 7명의 개발자가 애자일하게 개발하였습니다.

Team Name : Agile

Project Name : Esteem-up

 

 

 

팀구성

프론트엔드 5명, 백엔드 2명 

  • Project Manager:오승민(F)
  • Product Manager: 김준섭(F)
  • Teammates: 김희연(F), 박현아(F),이지은(B) , 오진석(B), 이소진(F)

 

 

프로젝트 전체 flow (배포 성공)

 

 

장바구니 기능 시현(상품 수량 변경, 전체삭제, 선택삭제, 합계금액에 조건에 맞는 렌더링)

 

 

구매하기 버튼 클릭 시 주문서 페이지로 이동

 

README

 

 

1. Project를 진행하며

와이즐리 홈페이지를 기반으로  PET 분석, 기획, 장바구니 기능구현, 백엔드와의 통신까지, 처음부터 끝까지 팀과 함께 하나씩 구현하였습니다. 단순 클론 코딩이 아닌, 상품과 소비자를 분석하여 를 만들어내는 게 가장 큰 목표였습니다.

회의 첫 날 저희 팀 이름은 AGILE 로 결정했습니다. 이름 때문인지 프로젝트를 진행하면서 전반적으로 AGILE하게 프로젝트가 완성된 것 같습니다. 팀원 모두가 서로의 진행 상황을 알 수 있도록 notion 과 Slack, Trello를 활용하였습니다. 이외에도 매일 진행되는 Daily standup meeting, 매주 월요일에 진행되는 Sprint meeting 등을 통해 팀원들간의 소통이 원할하게 이루어질 수 있도록 노력하였습니다.

또한 제가 맡은 티켓들은 아래와 같습니다. 구현 사항에 대한 설명은 깃허브 readme에 작성되어 있습니다.

팀 노션 스케줄 / 회의록 (Daily Standup Meeting - 매일 오전 10시)

 

와이즐리 사이트를 그냥 클론하는 것이 아닌 PET 분석을 하여 서비스를 출시하고자하였습니다.

 

Product : 도서

 

End User : 자기개발에 관심있는 1030 청년

 

Tech :  HTML, CSS, REACT, JAVASCRIPT, SASS

 

프로젝트 마무리 시점 Trello

 

 

2. 이번 프로젝트를 통해 내가 얻은 것



2-1. 소통의 중요성

무엇보다 가장 크게 얻은 것은 소통의 중요성이었습니다. 초기세팅을 하면서 자바스크립트 부분은 카멜케이스, css 영역은 케밥케이스로 팀 규정을 정했기 때문에 개발하면서 변수명 지을 때 고민할 시간이 줄어든 것 같고 개발에 입문한지 얼마 되지 않아 백엔드에서 데이터를 가져오고 보낸 경험이 없었는데 Project Manager 동기 님이 백엔드 개발자셨는데 API를 먼저 만들어 놓으셔야해서 예를 들어, "승민님, 필요한 데이터 엑셀 시트에 적어주세요" 라고 했을 때 나는 어떤 데이터가 필요하고 무엇을 적어야 할지 정말 모르겠는데 서로 잘 모르기 때문에 소통이 좀 어려웠습니다. 통신을 하면서도 한 번에 성공하지는 못했는데 나는 당황한 나머지 "이거 왜이래?.. 왜 안돼?!" 를 남발하고 그럴 때 어디 부분에 console.log 찍어보아야 할 지 감이 안와서 멘토 님께 여쭤보기도 하고 시간을 조금 낭비했던 것 같습니다.

2차 프로젝트를 할 때는 통신을 하면서 데이터를 주고 받을 때 한 번에 성공은 못하더라도 개발자스럽게 차분하게 console.log를 찍어보며 에러를 해결하고 싶습니다. 

 

2-2. 깔끔해진 코드

멘토님들의 피드백을 통해 코드를 더욱 깔끔하게 작성하는 습관을 들일 수 있었습니다. 깃허브 레포지토리에 기능마다 PR을 올려 멘토리뷰요청을 하면 멘토님들께서 설명과 함께 수정해야 할 부분들을 알려주셨습니다.  나 자신이 읽기 어려운 코드는 다른 사람들도 읽기 어려울 것이고, 이는 피드백을 받을 때 기술에 대한 피드백보다 코드 가독성에 대한 피드백이 더 많을 것이며, 이는 내 기술적인 성장의 속도를 늦출 것이라고 생각하여 코드를 작성할 때 가독성을 최우선으로 생각하며 필요없는 주석과 consol.log 들을 지워나가면서 작성하였습니다. 

 

3.  개인적으로 아쉬웠던 점

  • 백엔드 개발자와의 소통 (백엔드와 통신에 대한 경험이 아직 없어서 내가 필요한 데이터가 무엇인지? 어떻게 적어야하는지? 지금 얼마나 개발했고 남은 부분은 개발 시간이 얼마나 걸릴 지에 대한 정확한 판단이 어려워서 개발 진행 속도가 조금 느려짐, 효율성이 낮아졌던 것 같다)
  • 위코드 부트캠프에 급하게 합류하게 되어 부트캠프에 들어오기 전 온보딩 기간에 충분히 기본기를 공부하지 못했던게 아쉬웠습니다.
  • 2주라는 시간이 많이 짧다. (초보 개발자가 프로젝트에 한 파트를 담당하기에는 힘들었다
  • git 과 gIthub 도 아직 많이 헷갈리는데 이것을 활용하여 브랜치를 파고 개발하는게 어렵기도하고 많이 어색했습니다. (지금은 마스터!)
  • 애자일하게 잘 개발하고 있는 줄 알았는데 알고보니 처음부터 다시 기능 개발을 해야하는 순간이 있었습니다. 리스트의 합계를 개발하는 중이었는데 처음부터 다시 개발하는 것이 낫다는 의견이 있어 받아들이고  시간이 얼마 안남은 시점에서 원점으로 돌아가야해서 막막하고 마음이 무너져 내린 기분이었는데  하루만에? 생각보다 빨리 기능을 개발 할 수 있었습니다. 개인적으로 실력이 마음만큼 따라주지 못해서 발생한 상황이었던 것 같습니다. "쓰러지더라도 아산 병원 앞에서 쓰러져라" 라는 멘토 님의 말씀이 기억에 많이 남는데 부트캠프를 하면서 좌절하더라도 다시 일어나서 문제를 해결하는 귀한 경험을 한 것 같습니다.
  • 어려웠던 기능 : 체크박스 선택, 리스트 합계, 백엔드와의 통신(useEffect를 사용하여 백엔드에서 데이터를 주고 받는 과정)
  • 어려웠던 기능 해결 방법 : 리스트 하나의 데이터를 불러와서 합계를 구하는 것까지는 성공하였으나..리스트들의 합계를 구현해야하는 시점에서 막혔습니다. (팀 동료 분께서 리스트의 합계를 구현하려면 reduce 메소드를 사용하면 될거 같다고 하셔서 바로 검색하고 공부하면서 하나씩 해결했습니다.)

 

2차 때는 1차 프로젝트의 경험을 양분으로 삼아서 더 깔끔하고 멋지게, 개발자스럽게 개발하고 싶습니다.
 
감사합니다.