본문 바로가기
Sparta 내일배움캠프 Java 5기/[8주차] 뉴스피드 프로그램 Team Project ✓ 2024. 6. 11.

(24.06.11) A09조 비둘기야 밥먹자 9999 숨카소 Newsfeed Project - KPT 회고

 

Summary


👍 KEEP
  • 코드 컨벤션, git Rule 등 미리 협의와 합의를 통해 규칙을 정해서 프로젝트을 진행할 때, 불필요한 소통과 다시 한번 점검해야하는 리소스 낭비를 방지할 수 있었다.
  • 모르는 것을 물어보면 다들 빠르게 이유, 과정, 결과에 의겨해서 슬랙 및 zep 소통에서 피드백을 해줬다.
  • 과제에 제시한 기능 이외의 정보들을 적극적으로 공유하면서, 기능 구현 확장과 용이성에 대해 협업을 하려고 했다.
  • 모두가 알고있는 강의의 내용 을 잘 활용해서 팀원간 어떤 기능을 구현하는지에 대해서 빠르게 파악하고 활용할 수 있었다.
 ⛳TRY
  • 미리 협의를 통해서 AWS DB를 정하거나 IntelliJ 환경 변수 기능 협의해 프로젝트 시작 전에 먼저 결정하고 프로젝트를 진행할 수 있도록 한다.
  • 미리 기능을 구현할 수 있는 팀원이 빠르게 구현을 완성을 하고, 추가 기능 부분에서 좀더 기능을 분리해서 진행할 수 있도록 한다.
  • 추가적인 구현 가능성을 처음부터 고려를 해서 필수 구현을 하는 동시에 추가 구현 여부에 관한 준비를 동시에 진행해서 개발을 하도록 한다.
  • 강의를 기반으로 진행하는 것이 학습하는 부분에서는 좋은 자세지만, 여유가 있다면 탐구하는 방향으로 고민을 해보는 시간을 가지고 구현할 수 있도록 한다.
  • 완벽한 정해져있는 고착된 방법의 기능 구현을 하려는 자세보다는 타당한 이유가 있다면, 새로운 아이디어로 기능 구현을 시도하고 코드리뷰를 할 수 있도록 한다.

PROBLEM
  • DB관련 각 팀원간 환경 변수가 맞지 않아서 git PR 및 merge에 관련 할 때마다 신경써야했다.
  • Filter 단에 엮어져 있는 인증/인가 기능이 한 Flow이기 때문에 여러명이 동시에 진행하는 것이 힘들었다.
  • 추가 기능에 대해서 확장 가능성을 일단 배제하고 프로젝트가 진행이 되어 추가 기능에 관련한 요구사항에 있어서 대처가 미흡했다.
  • Spring Security 강의 포맷을 기반으로 구현을 하다보니 기능 확장에 있어 제한이 있었다.
  • 좋아요 기능의 추가/삭제 부분이 Toggle 형태로 구현되어 RESTful한 API가 부합하지 않았다.

TRY /  Action Plan

  1. 프로젝트 전 S.A. 룰에서 프로젝트 참여하는 팀원마다 달라지는 DB환경을 통일하기 위해, AWS DB 구축을 완성 또는 IntelliJ 의 application.properties에서의 환경 변수 설정 등 사전 협의를 반드시 진행하여 기능 구현 중 불필요한 설정을 추가적으로 하지 않도록 한다.
  2. 기능을 구현하는 팀원은 강의 제공 자료 또는 많이 사용하는 템플릿 등 고착화 된 방법만을 고수하지 않고, 자신많의 아이디에이션을 통한 타당한 근거를 통해 자신만의 코드를 작성, 팀원과 코드리뷰 하는 자세를 가질 수 있도록 한다.
  3. PRD에 따른 기능 구현을 진행함에 있어서 구현하는 개발자는 추가적으로 확장할 수 있는 기능에 관하여 확장 가능성 여부를 고려하여 개발 할 수 있도록 한다.
    • ex. AccessToken 기능 구현할 시, RefreshToken 기능이 추가적으로 구현할 수 있음을 가정하여 개발