이번주는 팀원들과 같이 콘솔로 게임을 만드는 프로젝트를 진행했다.
팀은 총 4명으로 팀장인 나와 팀원 3명으로 구성됐다.
팀원들은 우선 협업과 코딩이 미숙하다고 먼저 답해주었다.
그 후 팀원과 대화를 나누며 프로젝트를 어떻게 진행할지 생각해봤다.
고민했던 점
1. 클래스를 하나로 두고 기능을 담당하는 함수를 모두 적을까 ?
-> 그렇게 되면 Git에서 병합을 할 때 엄청난 충돌과 너무 많은 코드 양 때문에 오히려 프로젝트 진행이
안좋아질 수 있다.
2. 그러면 싱글톤 패턴을 적용해서 클래스를 세분화하여 관리할까?
-> 그렇게 하면 클래스와 인터페이스를 이용해서 간단하고 깔끔하게 관리할 수 있고 객체의 불안정성을 해결할 수 있다.
하지만 코딩이 미숙한 팀원이 싱글톤 패턴을 이해하고 잘 사용할 수 있는지에 관하여 미지수다.
3. Git협업에서 팀장인 내가 Git사용이 미숙한 팀원들을 위해 체계적으로 브랜치로 나누어 병합 오류를 줄일까?
-> 이렇게 된다면 오류가 나지않고 프로젝트가 무사히 마무리 할 수 있지만 Git의 실력은 오류를 접하고 그것을 해결해 나가는 과정에서 늘기 때문에 너무 오류를 나지 않게 하면 Git을 이용한 협업에 있어서 배우는게 적어지지 않을까 생각했다.
결론
안좋은 방법은 결국 팀원들의 혼란을 야기할 수 있을거라고 판단했다.
그리하여 싱글톤 패턴 적용, 깃 브랜치 세분화를 하여 프로젝트를 진행했다.
내가 걱정했던 부분인 코드 사용의 미숙함에 문제가 생겼지만 팀원에게 열심히 사용법을 알려주었다.
Git에 관한건 일부러 충돌을 시켜서 어떻게 해결해 나가는 지 오류를 보여주면서 해결방법을 알려주었고
이런 오류에 대비해 어떤 식으로 Git설계를 할 지 규칙 등을 정해서 진행 했더니 프로젝트를 잘 마무리 지을 수 있었다.
결국 제일 중요한건 팀원과의 소통이라고 생각한다.
'TIL > 잡담' 카테고리의 다른 글
int와 float의 표현가능한 수의 범위가 다른 이유 (0) | 2023.10.23 |
---|---|
Chapter 3 - 3 팀 프로젝트를 마치며 느낀점 (0) | 2023.10.20 |
팀 프로젝트 노션으로 정리하기 (0) | 2023.10.12 |