2차 팀원들과 함께한 팀 프로젝트를 끝으로 10월에는 새로운 3차 팀원들과 백엔드 팀원들과 함께 새로운 프로젝트가 시작된다.
완성한 앙골라 서비스에 대해 간략히 설명하고, KPT 방식으로 회고를 진행해 보려고 한다.
이번 2차 팀(나영팀)과 함께 앙골라 서비스를 제작했다.
앙골라 서비스는 한 주제에 대해 사용자들이 A와 B 중 하나를 선택하여 각자의 의견을 공유하는 밸런스 게임 플랫폼이다.
주요 기능으로는 다음과 같다.
인증, 포스트, 댓글(투표), 좋아요, 알림, 검색, 마이페이지, 유저페이지 ,레벨 등이 있다.
자세한 내용은 최종 발표 자료나 영상을 참고..!
프로젝트 관련 구체적인 회고는 주말에 정리해야겠다.
주어진 역할에 대한 책임감
처음으로 제대로 된 프로젝트를 진행해 보고 팀장의 역할도 맡게 되었다.
팀장을 처음 맡았을 때는, 무사히 프로젝트를 잘 끝낼 수 있을까?
하는 걱정이 앞섰다. 운이 좋게도 좋은 팀원들과 멘토님을 만나서 도움도 많이 받고, 성공적으로 프로젝트도 마무리했다.
이번에 팀장 역할을 해보면서 좋은 경험이 되었다고 생각한다.
프론트엔드 분야에 제대로 된 팀 프로젝트는 이번이 처음이었다.
그래서 내가 맡은 업무를 일정 안에 무사히 끝낼 수 있을까?
라는 생각을 했다.
느낀 바는 뭐든 하면 된다는 점이다!
평소에는 구현 능력이 늘 부족하다고 생각했는데, 이번 프로젝트를 해보면서 나름대로 자신감을 얻은 것 같다.
포기하지 않고 하려고 마음만 먹으면 언젠가는 해내는 것 같다!
팀원간의 원활한 의사소통
2차 팀원들과 팀 프로젝트 시에 팀 문화를 정했다.
우리는 모두 하나다
라는 인식을 하게 했고, Problem 대처 규칙을 세워 문제상황이나 궁금한 점을 바로바로 공유할 수 있는 환경을 만들었다.
이로써 문제 상황에 대해 팀원들과 머리를 맞대어서 비교적 쉽게 해결할 수 있었다.
혼자 끙끙 고민하고 있으면 해결되는 것은 없고, 시간만 지체되기 때문에 바로바로 팀원들과 의사소통하는 것이 효율적이었다. 같이 이슈에 대해 상의하다 보면 새롭게 알게 되는 내용도 많았다.
또한 데일리 스크럼 규칙을 세워서 팀원들의 진행 상황을 파악하고 이슈 등을 공유할 수 있는 환경을 만들었다. 이 또한 팀원들이 현재 어떤 업무를 진행하고 있고, 공유하고 싶은 이슈들은 무엇인지 한눈에 파악할 수 있었다.
항상 멘토님들이나 강사님들이 같이 협업하는 팀원간의 의사소통이 중요하다고 말씀하셨다.
사실 팀 프로젝트를 경험하기 전에는 잘 와닿지 않았다.
역시 사람은 비로소 몸으로 경험해봐야 배우고 아는 것 같다.
팀원간의 의사소통에 있어서 항상 적극적으로 임하는 자세를 유지하고 상대방의 의견을 존중하자!
부족했던 문서화
프로젝트 시작할 때 노션에 구체적인 문서화 작업을 해두지 않았더니 점차 노션은 메모장으로 변했었다.
이 내용 어디에다가 적었었지?
라는 현상이 많아지면서 문서화를 잘못하고 있다고 깨달았다.
따라서 데일리 스크럼 페이지와 업무 분배 및 일정 산정 페이지를 만들었다.
데일리 스크럼 페이지에는 매일 각자 진행사항과 어려운점이나 공유하고 싶은 이슈들을 기재했다.
업무 분배 및 일정 산정 페이지에는 스프린트 별로 기간 내에 각자 맡은 업무를 기재했다.
이렇게 정리 해두니 팀원들의 진행 상황과 이슈를 한눈에 볼 수 있고, 다음에 내가 어떤 업무를 맡았는지 확인하기도 좋았다.
그럼에도 놓친 부분이 있었다. 바로 트러블 슈팅 문서
와 부실한 회고 양식
이였다.
프로젝트를 진행하면서 깃 충돌 이슈에 대한 것이나 react-query refetch 후에 새로운 데이터를 불러올 때나 렌더링 시 이전 화면이 보이는 현상등 반복적으로 발생하는 현상에 대해 트러블 슈팅 문서화를 하지 못한 것에 아쉬움이 남았다.
다음에 동일한 문제 상황이 발생했을 때, 트러블 슈팅 문서화를 통해 빠르고 효율적으로 해결할 수 있도록 하고 싶다.
따라서 다음 프로젝트에서는 트러블 슈팅 문서화를 제대로 정리하자.
또한 중간 회고를 KPT 형식으로 진행했는데, 이는 단순히 느낀 점에 그치지 못했던 것 같다.
멘토님이 P,T는 개선을 실행하기 위한 action item도출이 필요하고, K는 만족하고 있는 것이 무엇 때문인지를 정리하고, 리마인드하기로 피드백을 주셨다.
P 예시
- Fact:
- Problem:
- Solution(Action item):
다음 팀 프로젝트 회고 시에 KPT로 진행하게 된다면 이 피드백을 반영해 보고 싶다.
고려하지 못한 엣지 케이스
1. API 명세
API같이 팀원들이 공통으로 사용하는 코드에 실수하면 팀원들도 같이 다시 코드를 변경해야 한다. react-query의 useQuery에 select 옵션이 있는데, queryFn을 통해 반환받은 값을 가공, 정제할 수 있는 옵션이다. user API를 구현하는데, 특정 data가 필요 없다고 느껴서 select 옵션을 사용해 필요한 data만 받아 올 수 있게 구현하고 싶었다.
이는 착오였다! 다른 팀원은 그 특정 data가 필요했었다 ㅠ
의사소통이 제대로 안 된 것도 있지만 API 명세는 맘대로 건들면 안 되겠다고 느꼈다.. 어떤 data를 받게 될지 모르기 때문에..
이런 실수가 반복되면 개발을 진행하는 데 있어서 블로킹이 될 수 있기 때문에 다시 한번 경각심을 가지게 되었다.
2. QA 진행
이번 프로젝트를 진행하면서 가장 배운 점이 많은 부분이다.
팀원들과 대략적인 구현을 끝내고 1차 QA를 진행했다.
각자 맡은 부분을 제외한 나머지 부분을 분배받아 유저스토리 작성한 것을 기반으로 QA를 진행했다.
생각보다 내가 발견하지 못하거나 인지하지 못한 부분이 많았다.
이러한 엣지 케이스를 수정하다 보니 새롭게 공부한 내용도 많았고, 어떤 부분도 고려하면 좋을지 배우게 된 것 같다.
배포 기간 까지 얼마 남지 않아서 조급한 마음도 들긴 했지만, 하나씩 수정 사항들을 해결하면서 뿌듯함도 느꼈고 재미도 있었다.
열린 자세 가지기
생각해 보면 나는 새로운 것을 도전하는 것을 불편해했던 것 같다.
음식 같은 것도 항상 익숙한 것만 먹는다 ㅋㅋ
개발자는 항상 새로운 기술을 도입하는 것에 거부감을 느끼면 안 된다고 생각한다.
그렇기에 이번 프로젝트는 열린 자세로 새로운 기술들을 맞이할 마인드를 가지고 임해야지!
과도한 걱정 줄이기
계획했던 것 이외의 추가적인 기능 구현이나 예기치 못한 엣지 케이스가 발생하면 당황했다.
지나고 나서 돌이켜 보면 과도한 걱정이었다.
충분히 시간 안의 추가적인 기능을 구현할 수 있고, 엣지 케이스에 대한 오류도 해결할 수 있었다.
너무 심각하게 생각하지 말고 마음을 편히 먹어야겠다.
운동하기
프로젝트 막바지에 몸 상태가 안 좋았다.
면연력 부족..
체력도 다른 사람들보다 좋다고 생각하지 않아서
날씨도 선선해지고 건강을 위해서 운동을 시작해 볼까, 고민 중이다!
규칙적인 생활
보통은 늦어도 새벽 2시에는 잠들었는데, 프로젝트를 하면서 기본 새벽 2~3시에서 잠드는 생활패턴으로 바뀌어 버렸다.
다시 규칙적인 생활패턴을 되찾자!
아침 9시까지는 무조건 책상에 앉는다..!
처음 팀장 역할을 맡아서 부족했을 수도 있지만, 믿고 따라와 주고 도와준 나영팀 팀원들에게 고마웠다. 또한 모두 적극적인 자세로 프로젝트에 임하는 자세를 보고 깊게 감명받았다.
좋은 팀원들과 멘토님을 만나서 팀 프로젝트 하는 동안에 시간 가는 줄도 모르고 재밌게 했던 것 같다.
이제는 3차 팀원들과 새로운 프로젝트를 위해 또다시 열심히 달려보자~
정말x100 고생 많으셨고 감사했숩니다 지윤님 🥺🤗
앙골라 포에버 ~~ 🚨