일주일이 조금 안되는 짧은 시간동안 진행한 뉴스피드 프로젝트가 끝이 났다.
조금 촉박하다고 느껴졌지만 그래도 그동안 Spring에서 배운 것들을 다시 한 번 정리하고 또 새로운 기능구현에 도전할 수 있는 의미있는 시간이었다.
- 초기에 설계한 프로젝트의 목표 기능을 적절한 분업을 통해 제 시간에 구현할 수 있었습니다.
- 오전과 오후 주기적인 팀 회의 시간을 가져 각자의 진행상황을 공유하였고, zep과 슬랙을 통해 필요할 때 언제든지 연락할 수 있는 창구를 만들어 두었습니다.
- 문제가 생겼을 시에 즉시 이를 팀원들과 공유하여 상황을 알리고 해결을 위한 의견을 나누었습니다.
- 함께 해결해야 하는 코드의 경우 IntelliJ의 Code With Me 기능을 통해 실시간으로 같이 의견을 나누고 수정할 수 있었습니다.
- 팀프로젝트 기간 초반에 깃허브에 대한 미숙한 사용으로 인해 코드작성 및 검토시간이 줄어드는 등 시간 분배가 미흡하였습니다.
- 자기 파트의 기능을 전부 구현한 후 마지막에 한 번 pr 하는 식으로 파일을 합치거나 코드를 pr할 때 본인이 바로 승인하고 합칠 수 있게 하여 시간은 절약하였지만 협업하는 방식을 연습할 기회는 적었습니다.
- 예외처리와 같은 공통 사항 처리를 한 클래스에서 관리하지 않고 각자 따로 작성하는 등 코드 컨벤션을 많이 신경쓰지 못했습니다.
- 협업을 할 때 GitHub의 사용방법 대해 더 공부하고 Git에 대한 이해를 높여 다음 프로젝트 때 코드작성 및 검토에 더 시간을 들일 수 있습니다.
- 프로젝트 시작 전 적절한 Git Convention을 정의하여 서로의 파일을 합칠 때 충돌을 최소화할 수 있습니다.
- 각자 큰 기능을 구현하고 pr넣을 때 팀원들이 다 함께 검토 후 승인하고 다 같이 pull 받는 방식을 채용할 수 있을 것 같습니다.
- 초반에 충분한 협의를 통해 공통 사항의 처리를 정의하고 해당 부분 먼저 코드화하여 구현한 이후에 각자 기능에 맞게 기능을 작성하는 방식으로 코드를 통일성을 높일 수 있습니다.