[24.07.16] 주특기 플러스 팀프로젝트 회고 및 경험

2024. 7. 16. 16:58팀프로젝트

 

React / Spring boot 를 이용한 Trello 보드 만들기

백엔드 개발자 5명 / 제작 기간 24.07.10 ~ 24.07.16

 

 

GitHub - SensoryPeople/SensoryPeople

Contribute to SensoryPeople/SensoryPeople development by creating an account on GitHub.

github.com

 

 


개인적인 소감

이전에 [익명 연애 게시판] 팀 프로젝트를 일주일간 진행하면서, 개발 스코프를 너무 빠듯하게 잡아 개발 중반에 합류한 분들이 프로젝트를 한 번에 파악하기 어려웠던 경험이 있었습니다.

이번 프로젝트에서는 팀장이 아니라 팀원으로 참여하게 되었고, 팀원분들의 일정 및 개발 환경 이슈로 인해 개발 초반에 시간을 너무 넉넉하게 잡았습니다. 그 결과, 후반에 많은 기능이 추가되면서 테스트가 충분히 진행되지 않은 코드들도 있었고, 프론트엔드에서 구현할 수 있는 내용들을 모두 구현하지 못해 아쉬움이 남았습니다.

이번 프로젝트를 겪으면서, 정확한 개발 스코프 작성 및 그 근거를 확실하게 해야겠다는 생각이 들었습니다. 또한, 백엔드를 우선적으로 구현하고 프론트엔드를 구현하다 보니 반드시 있어야 할 API가 누락되거나, 해당 API의 반환 데이터가 없는 경우가 많았습니다. 백엔드로 구현할 경우에는 직접 데이터베이스에 값이 잘 들어왔는지를 확인하면 되지만, 프론트를 개발하면서 데이터를 명확하고 구체적으로 보내주어야 한다는 사실을 알게 되었습니다.

또한, 연관관계 매핑이 잘못되어 중간에 엔티티를 수정하는 경우도 발생했습니다. 기획 단계에서 팀원들과 충분히 논의하고 프론트에서 보여지는 부분까지 고민했으면 리팩토링 과정이 줄었을 것 같습니다.

처음으로 프론트엔드 개발과 백엔드 개발을 함께 해보았는데, POSTMAN이나 Swagger docs로는 확인할 수 없는 여러 부분(DTO로 값을 반환해야 함, 전체 조회 기능은 거의 필수적으로 있어야 함, 관리자/사용자 페이지가 별도로 존재해야 더 깔끔하다 등)을 생각해볼 수 있어 아쉬우면서도 많은 것을 느낀 프로젝트였습니다.

 


 

KPT 회고

Keep - 현재 만족하고 있는 부분

  • 깃허브 PR / ISSUE 를 활용하면서 깃허브 관리를 비교적 깔끔하게 하고 충돌을 최소화하였습니다.
  • 구체적인 예외처리
  • 문제가 있으면 즉각적으로 소통하는 점이 좋았습니다.

Problem - 불편하게 느끼는 부분

  • 프로젝트 시작 전 세부적인 일정 작성과 마감 기한을 작성했지만, 세분화 하지 못한게 아쉬웠다.
  • 러닝커브를 고려하지 않고 프론트엔드 스코프를 계획하고 완성하지 못했습니다
  • 프로젝트 후반부에 일정에 쫓기면서 코드 컨벤션이나 깃허브 룰을 생략하는 경우가 발생했습니다
  • 코드리뷰가 후반부에는 적극적이지 못했습니다

Try - Problem에 대한 해결책, 당장 실행 가능한 것

  • 프로젝트 시작 전 세부적인 일정 작성(ex. JIRA, 마일스톤)
  • TDD : 코드 작성 전 테스트 코드 작성을 습관화하기
  • 팀플이 끝나고 자기가 구현한 코드말고도 다른사람의 코드를 뜯어보고 공부하는 시간을 가지자
  • 새로운 기술을 활용해야 할때, 전체적인 워크 플로우를 미리 확인하고 실현가능한 스코프를 계획 하겠습니다.
  • 초기 단계에 컨벤션과 룰을 숙지하고 끝까지 지킬 수 있도록 하고, 일정 조율에도 신경을 쓰겠습니다
  • 프론트에 대해서도 어느정도 알면 좋다는점
  • 코드리뷰도 하면 더 성장할 것이다.
  • 역할이 분담되었을 때 최대한 병렬적으로 진행되도록 신경써야 할것같습니다.
    패키지를 관심사 기준으로 팔 경우, 해당 패키지의 파일이 1개일 경우 폴더를 생략해도 될 것 같습니다.