[최종 프로젝트] 최종 프로젝트 회고
한 달간의 최종 프로젝트가 끝이 났다.
어떤 서비스를 만들지 고민하던 시점이 엊그제 같은데, 벌써 마무리라니 시간이 참 빠르게 지나갔다. 프로젝트 초반에는 블로그에 트러블슈팅과 배운 점을 꼼꼼히 정리하겠다는 다짐을 했지만, 바쁜 일정 속에서 실행하지 못했던 점이 아쉽다.
그러나 리팩토링 단계에서 이를 보완해 프로젝트를 완성도 높게 마무리하는 것을 목표로 잡았으니 그나마 다행이랄까?
이를 바탕으로 느낀 점을 조금은 적어볼까 한다.
팀장으로서의 역할
이번 프로젝트에서 팀장을 맡아 팀을 이끌었다. 내가 팀장으로 팀을 이끌며 중요시 생각했던 내용을 적어보았다.
1. 일정 조율
한 달간의 프로젝트는 짧지 않은 기간처럼 보이지만, 실제로는 빡빡하게 느껴졌다. 특히 내배캠 측에서 큰 틀을 이미 정해 놓고 있어서 이 일정 안에서 팀 자체적으로 계획을 세우고 조율해야 했다. 개발자와의 소통은 우리끼리 언제나 젭에 상주해 가며 잦은 소통을 통해 잘 이뤄나갔기에 편하게 작업할 수 있었다.
디자이너와의 협업 속에서 일정 체크와 요청 사항 정리에도 생각보다 많은 시간을 사용했었지만, 함께 사용하는 WBS나 피그마에서 실시간으로 소통을 해가며 전체 일정을 효과적으로 관리할 수 있었습니다.
사실 이러한 내용은 기획자로 일을 할때 많이 경험해 본 내용이라 그렇게 어렵지는 않아서 다행이었다.
그때 당시 잘 사용했던 WBS를 통해 팀 내에서 투명하고 빠르게 일정을 공유할 수 있었던 부분이 다른 팀과의 차별점이 아니었을까 한다.
2. 커뮤니케이션
어떠한 프로젝트들간에 각 부서 간의 커뮤니케이션은 프로젝트의 성공을 좌우한다고 생각한다. 다행히 커뮤니케이션이 강점 중 하나였던 덕분에 프로젝트 기간 동안 개발자와 디자이너 간의 큰 문제가 발생하지 않았고, 원활하게 협업할 수 있었다.
개발자로서 잘한 점
1. 원하는 기능 구현
어쩌다보니 많은 데이터를 가공해야 하는 부분을 담당했는데, 하나하나 예외 케이스를 정리하며 기능을 성공적으로 구현했다.
리팩토링 단계에서 빠진 예외 케이스를 추가하고, 코드를 더 견고하게 다듬을 계획이다.
2. 문제 해결 능력
프로젝트 과정에서 예기치 못한 버그나 구현하기 어려운 부분들이 자주 나타나게 된다. 나의 경우 예전부터 어떻게 하면 조금 더 편하게 구현을 할 수 있을지 고민을 자주 했던 것 같다. 이번에도 작업 시 라이브러리에서 커스텀이 애매한 부분의 경우 따로 구현을 해서 차트와 같이 보여줘 꼭 하나의 차트를 보는 것처럼 구현을 한 부분이 있었다. 덕분에 모바일이나 웹에서 해당 차트를 보이는 데 있어서 구현이 잘 되었다.
작업을 하며 아쉬웠던 점
1. 공통화 작업의 부족
디자이너와 병렬로 작업하다 보니 키 컬러와 공통 디자인 요소를 정리하지 못하고 진행한 점이 아쉬웠다.
이로 인해 통일성이 부족한 결과물이 나왔습니다. 리팩토링을 통해 tailwind.config에 잘 정리할 예정이다.
2. API 엔드포인트 미리 정리하지 못한 점
중간 중간 디자이너분들께서 기획 변경으로 인해 여러 형태로 데이터를 가공해 오면서 불필요한 엔드포인트가 추가되었고, 구조가 복잡해졌다. 초반에 명확히 정리했다면 효율적으로 작업할 수 있었을 것이지만 프로젝트 특성상 그러지 못한 점이 아쉽다. 이 또한 리팩토링을 통해 잘 다듬을 예정이다.
3. 타입 정의의 부족
위에서 이야기한 것 처럼 기획 변경에 따라 타입을 계속 추가하다 보니 재사용성이 떨어졌다. 타입을 체계적으로 관리했더라면 유지보수가 더 쉬웠을 것 같다. 위 API 엔드포인트와 같이 정리 예정!
4. 명확하지 못한 네이밍과 폴더 구조
함수명과 폴더명을 get, fetch, load처럼 상황에 맞게 명확히 구분하고, 적절한 위치에 배치하는 데 어려움을 느꼈다. 네이밍 컨벤션과 폴더 구조에 대한 학습이 필요함을 느꼈다. 리팩토링 기간에 명확하게 네이밍과 폴더 구조에 대해서 고민해 보는 시간을 가져볼 예정이다.
5. Zustand와 TanStack Query의 활용 부족
시간에 쫓겨 기능 구현에 집중하다 보니 Zustand와 TanStack Query를 적절히 활용하지 못한 점도 아쉽다. 리팩토링 단계에서 이를 개선해 구조를 더 효율적으로 만들 계획이다.
마무리하며 최종 프로젝트는 완성했다는 자체로 큰 성과이지만, 아쉬운 점도 분명 존재했다. 리팩토링과 기록을 통해 프로젝트의 완성도를 높이고, 이번에 깨달은 점들을 다음 기회에 더 잘 활용할 수 있도록 체크해보려한다.
다음 프로젝트에서는 이런 내용들을 처음부터 체크하고 나아갈 수 있기를..
리팩토링 전 최종 프로젝트 배포 링크