catchpokemon Project KPT 회고

ijimlnosk·2024년 5월 17일
1

회고

목록 보기
3/3
post-custom-banner

프로젝트의 회고를 하고자 한다

프로젝트 이름 : in Your Poke
프로젝트 설명 : pokemon Api와 별도의 user, data Api를 활용하여 랜덤하게 보여지는 포켓몬을 포획하고 포획한 포켓몬을 확인할 수 있는 웹 사이트
프로젝트 기간 : 2024.04.29 - 2024.05.12
프로젝트 팀원 : 김진솔, 최하영
배포주소 : catchpokemon (현재 리펙터링이 진행됨)

프로젝트 종료 후 KPT회고를 진행해보았다.

KPT 회고

KPT 회고란?

  • 일반적으로 프로젝트나 팀 작업의 다양한 측면에 대한 피드백과 개선을 위해 사용되는 방법이다.
  • 이 회고 방법은 코드적인 부분뿐만 아니라 협업, 프로세스, 팀 문화 등 전반적인 팀 활동에 걸쳐 진행될 수 있다
  • keep(계속 유지할 것): 팀이 잘하고 있는 것들과 계속 유지하고 싶은 작업 방식이나 프로세스 등을 식별한다.
    코드 품질, 특정 기술 스택의 사용,효과적인 커뮤니케이션 방식 등을 포함할 수 있다
  • problem(문제점): 팀이 직면한 문제들과 그로 인해 발생한 어려움을 식별한다.
    코드에 있어서의 문제, 버그, 성능 문제, 또는 협업 시 발생하는 의사소통 문제 등을 포함할 수 있다.
  • try(시도할 것): 현재의 문제를 해결하거나 더 나은 결과를 얻기 위해 새로 시도하고자 하는 방법들을 논의한다
    새로운 기술 도입, 리팩토링, 새로운 커뮤니케이션 도구의 사용들을 포함할 수 있다.

Keep

  • git에서 issue를 사용하여 task를 나눴던 것
    • git issue를 사용하여 현재 누가 어느 작업을 맡아서 진행하고 있고 진행상황이 어떻게 이루어 지고 있는지를 파악할 수 있었다.
  • 기능별로 브랜치를 생성하여 작업한것
    • 이전엔 폴더별, 페이지 별로 나누어 작업을 하는 경우가 많았는데 좀 더 잘 파악하기 위해 더 작게 기능별로 나누어 작업을 하여 소통하는 과정이 더 편했다
  • 기능 별로 나눈 폴더 구조
src
 ┣ assets
 ┃ ┣ font
 ┃ ┣ imgs
 ┃ ┗ react.svg
 ┣ components
 ┃ ┣ commons
 ┃ ┣ layouts
 ┃ ┣ main
 ┃ ┣ myInfo
 ┃ ┣ pokemonDetailPage
 ┃ ┣ signin
 ┃ ┗ signup
 ┣ constants
 ┣ hook
 ┣ libs
 ┃ ┣ axios
 ┃ ┣ redux
 ┃ ┣ router
 ┃ ┗ tailwindCss
 ┃ ┃ ┣ designToken
 ┃ ┃ ┣ globalCss.css
 ┣ pages
 ┣ types
 ┃ ┗ pokeTypes
 ┣ utils

Problem

  • 오류들이 발생하여 급하게 main branch에서 push한 경우가 있었다
  • 랜덤 포켓몬을 불러올 때 주어진 데이터가 증가하면 로딩시간이 길어졌던 문제가 있었다
  • 포켓몬 디테일 페이지 작업중 overlay를 사용함에 있어 어려웠던점을 바로 공유하지 못해 개발 시간이 늘어난 점
  • 초기 페이지 셋팅 중 프로젝트의 디자인 및 기능에 대한 소통이 부족하여 개발 시간이 늘어난 점
  • 기한 내 개발하려고했던 기능들을 일부 구현하지 못한 것
  • 공용컴포넌트를 좀 더 범용적으로 만들지 못한 점
  • 코드의 최적화가 부족한 점

Try

  • PR을 올리기전에 한번 더 살펴보고 PR 리뷰 꼼꼼하게 하기
    • 에러가 발생할 수 있으므로 한번 더 확인하는 습관을 들여야겠다
  • 데이터를 불러와서 보여주는 방식에 대해 한번더 생각하기
    • 문제가 되었던 로직에서는 한번에 많은 데이터를 불러와서 랜덤하게 하나를 뽑아서 보여주었는데 이렇게 되면 불러오는 데이터의 크기가 커질 수록 로딩시간이 어마어마하게 걸린다는 문제가 있었다 이를 해결한 것은 데이터를 한번에 불러오지말고 랜덤한 숫자를 뽑아와서 그 숫자에 맞는 데이터만 불러오는 방법으로 로딩시간을 줄일 수 있었다
  • 일정시간 이상 고민이 됐던 문제들은 바로 공유하기
    • 일정 시간 이상 고민을 하는 것은 비효율적이라 생각이 되어 다음 task로 넘어가는 것이 효율적인 방법이 될 것 같다
  • 프로젝트 개발 시작 전에 충분한 회의 진행하기
    • 충분한 회의가 없이 개발에 들어가다보니 진행하며 부족한 부분이 너무 많이 보이고 그것을 해결하기 위해 자잘한 회의를 많이 하다보니 시간이 밀린 것 같다라는 생각이 들었다
  • task 진행 시 기한을 정하고, 기한 내에 완료하기
    • 하나의 기능을 만들 때 그 기능을 언제까지 완성할 수 있는지 정해주고 그 기한에 맞춰 최대한 완성하는게 시간을 절약할 수 있는 부분이라고 생각된다
  • 코드 최적화 및 재사용성에 신경써서 하기
    • 현 프로젝트를 진행하면서 재사용성을 신경쓰지 않은 건 아니였지만
      조금 더 신경써서 작성을 했더라면 중간중간 리팩터링을 하는 부분에 대한 시간을 절약할 수 있었을 것 같다라는 생각이 든다

느낀 점

이번 프로젝트를 진행하면서 문서화와 필요한 것들을 사전에 정확하게 정하고 개발을 시작하는게 중요하다라는 것을 느꼈다
다음 프로젝트에서는 이번 회고를 통해 부족한 부분들을 최대한 보완해서 진행해 볼 예정이다

post-custom-banner

0개의 댓글