2024.06.10.월.TIL 내일배움캠프 38일차 <팀프로젝트 내용정리>

김기남·2024년 6월 10일
0

오늘은 팀프로젝트 완성후 프로젝트 과정을
정리해보는 시간을 가졌습니다.

SA 작성과정

  • 기획
    : 각자 생각한 주제에 대해 설명하고, 그중에서 가장 구현해보고 싶은 주제에 투표하여 '해외축구 팬들이 모여서 자유로운 주제로 피드를 작성하고 의견을 나누는 평화로운 놀이터' 라는 컨셉의 프로젝트 명 '챔피언스 리그/투기장' 으로 프로젝트 주제를 선정하였습니다.
  • 설계
    : Miro 에서 와이어프레임을 시작으로 ERD 다이어그램까지 작성, 팀 노션에 제공되어 있는 API 명세서 양식에 맞춰서 작성, 그라운드 룰과 팀회의 시간, 간략한 코드 컨벤션과 깃허브 룰을 작성하고, 최종제출 및 발표까지의 요일별 계획표를 작성하였습니다.

    와이어프레임
    ERD 다이어그램
    API명세서

SA 피드백

  • 서면피드백 내용 확인 및 반영
    : 전반적으로 작성한 SA의 디테일적으로 부족한 부분을 피드백 받았습니다. 팀원들과 함께 내용을 분석하면서 피드백 내용에 맞춰 API 명세서와 ERD 다이어그램을 수정하였고, 이해가 안되는 부분은 튜터님의 도움을 받아 해결하였습니다. 이 과정에서 프로젝트 시작시에 설계과정이 굉장히 중요하다는 점에 대해 모두가 크게 공감하였습니다. 또한, 설계시에 API 명세서나 ERD 다이어그램에 명시하는 방법에는 일반적으로 통용되는 형태가 있지만 프로젝트마다 설계자에 따라 형태가 조금씩은 차이가 있으므로, 여러 형태에 대해 학습을 해두고 유연하게 받아들일 수 있어야 한다는 것도 알게 되었습니다.

역할분담

  • 패키지 및 클래스 초안 작성
    : 패키지 및 클래스명 혼동 방지 및 역할을 확실히 분리하는 차원에서 패키지 및 클래스 초안을 작성하였습니다.
  • 희망역할 분배
    : 역할을 회원가입/로그인/인증인가/게시물/프로필 로 인원수에 맞게 정하고, 희망하는 역할을 각자 선택하였습니다. 그리고 역할에 맞는 클래스를 지정하여 역할분배를 하였습니다. 결과적으로는 이게 큰 패착이었습니다.

깃허브

  • 레포지토리와 브랜치
    : 프로젝트 레포지토리를 생성하고 초안을 푸쉬한뒤, 역할별 브랜치와 테스트 머지용도의 dev 브랜치를 만들었습니다.
  • 커밋, 푸쉬, 머지, 풀
    : 팀원들의 깃허브 이해도를 확인하기 위해 테스트를 해보았고, 이 과정에서 여러형태의 충돌 문제와 버전이 맞지 않는 등의 오류가 발생하였습니다. 상황은 정리하였으나 모두가 이해했는가에 대한 확신이 들지 않아서, 일단 로컬환경에서 작업하고 1차 데드라인에 깃허브를 활용하기로 하였습니다. 이게 또 아주 큰 패착이었습니다.

1차 데드라인

  • 담당역할 미완성
    : 프로젝트 기간 중간에 1차 데드라인을 정하고 각자 작성코드를 머지하였는데, 담당한 역할에 대한 이해도가 부족하여 작성하지 못하거나, 잘못된 코드를 작성하여 컴파일도 실행할 수 없는 상태였습니다.
  • 역할의 모호성
    : 역할의 경계가 애매한 부분에서 코드 작성을 미루거나, 중복된 내용을 작성하여 코드충돌이 자주 발생했습니다.

담당 튜터님 중간 피드백

  • 프로젝트 위기 감지
    : 1차 데드라인의 완성도가 기대에 크게 못미친 상황에서, 마침 당일에 담당 튜터님과 중간 피드백을 갖기로 하여 튜터님에게 상황을 전달하고 도움을 요청하였습니다.
  • 중간 회고
    : 앞서 말한 두번의 큰 패착이 현 상태에 다다르게 하였다는걸 깨달았습니다. 팀원들의 능력을 파악하고 능력에 맞게 역할을 분배했어야 하고, 또한 인원수에 맞게 역할군을 나누기 보다는 과감하게 수행할수 있는 인원에 맞추거나 명확한 역할군을 정하고 거기에 맞춰 역할을 분배했어야 했습니다. 그리고 리스크를 줄이기 위해 깃허브 사용을 통제하기 보다는 더 확실하게 깃허브 사용룰을 정하고 진행도를 확인했어야 했습니다.
  • 프로젝트 방향변경
    : 프로젝트 기간이 얼마 남지 않은 시점에서, 다급하게 프로젝트를 완성하기 위해 코드카피를 하거나 소수의 인원이 완성시키기보다는, CRUD 부터 모든 팀원이 다같이 이해하고 완성한다는 걸 목표로 프로젝트 방향을 변경하는걸 조언해 주셨습니다. 물론, 프로젝트 완성이 중요하지만 지금은 학습과정이고, 이왕이면 프로젝트를 활용해 모두가 같이 성장하는게 더 중요하다는 튜터님의 조언은 팀원 모두를 관통하는 큰 울림을 주었고, 이를 수용하고 다함께 코드를 리뷰하고 하나씩 쌓아가기로 하였습니다.

합동코딩

  • Code With Me
    : 인텔리제이에서 지원하는 코드위드미 기능을 사용하여 함께 코드를 리뷰하고 수정 작성하였습니다. CRUD부터 시작하여 회원가입, 로그인, 인증인가 까지 예상보다 훨씬 더 수월하게 코드 작성을 완료할 수 있었습니다. 완료 후 깃허브에 푸쉬하고 각자 환경에서 다시 풀을 받았습니다.
  • 프로젝트 완성
    : DB연결 후 실행시 컴파일 오류가 빈번하게 발생하였습니다. 해당 오류를 다같이 해결해나가면서 코드를 수정하였고, 공통으로 어려워했던 인증인가 부분에서는 튜터님의 추가적인 도움을 받아 내용을 이해하고 오류를 해결하였습니다. 최종적으로 모든 기능의 정상작동을 확인하면서 프로젝트를 완성하였습니다.

프로젝트 회고

  • K
    : 개인프로젝트를 CRUD까지만 완성한 인원이 3명, 아예 제출하지 못한 팀원이 2명이었습니다. 이처럼 팀원들의 역량이 부족했지만 프로젝트를 위해 의기투합하여 결과적으로 프로젝트를 완성하였습니다.
    튜터님에게 상황을 잘 전달하고 정확하고 큰 도움이 되는 피드백을 받았습니다.
    서로가 아는 부분에서는 이끌어 주고, 모르는 부분은 채워주려고 노력했습니다.
  • P
    : 완성은 하였지만 디테일한 부분에서 필수구현기능이나 조건을 못 맞춘 부분이 있습니다.
    자신 및 팀원의 역량을 확실히 파악하고 역할을 나눴어야 했습니다.
    강의 내용과 과제 수행을 연결하는데 큰 어려움을 겪었습니다.
  • T
    : 프로젝트 종료후에도 각자 기획단계 및 필수구현기능과 조건을 못 맞춘 부분을 수정작성하여 완성하도록 하겠습니다.
    역량을 확실히 파악하고 구현할 수 있는 부분을 담당하도록 하겠습니다.
    튜터님께서 조언해준 훈련기간동안 자신만의 학습법을 찾고 익히는데 최선을 다하겠습니다.
profile
새로운 시작~!

0개의 댓글