오늘은 기다리고 기다리던(?) 미니 프로젝트 발표의 장이었습니다.
짧은 기간이었지만 결과물은 문제 없이 나올 수 있어서 다행이었다는 생각이 들면서 다른 무엇보다 최종적이 회고가 필요하다는 생각이 들었습니다.
개발했던 노션에도 작성하였지만, 추가적으로 TIL 를 작성하면서 좀 더 깊게 개인적으로 회고 해보고자 합니다.
( 어찌보면 정든 24조 노션... )
KPT는 Keep / Problem / Try 의 약자로 이 세단계로 나누어서 해당 프로젝트에 대해 회고하는 것을 말합니다.
일반적으로는 4인 이상의 팀원으로 진행중인 프로젝트에서 프로젝트 마지막날 혹은 중간에 회고를 통해 협업 과정을 이끌어 내는 것이지만
이 또한 개인 회고 방식에도 적절하다고 생각합니다. (문제점/시도해본것/해결방법/느낀점 과 유사해서.. )
각 구간에 대한 간단한 설명은 아래와 같습니다
그럼 이제 이를 바탕으로 실제적으로 이번 미니프로젝트에 대한 회고를 작성해야 겠죠?
- 유니티 10기 미니 프로젝트로 진행한 카드 뒤집기 게임의 개선버전을 만들어 보면서 기본적인 git 사용과 협업, 컨벤션에 대한 것을 익히고. 필수 기능과 추가적인 기능을 구현 → 최종적으로 빌드까지 만들어 발표 해 보는 일련의 개발 전체 과정에 대한 체험판 이었습니다.
- 저희는 필수에 더해 추가적인 게임 로직, 연출, 사운드, UI 관리에 신경 썼으며. 단순히 기능 개발에서 멈추지 않고 최종적인 PC, APK 빌드를 만드는 것 까지 성공해냈습니다. 이러한 프로젝트 전반에 대한 경험은 앞으로 있을 긴 개인 / 팀 프로젝트 과정에 있어서 주줏돌이 될 수 있을 것이라 생각합니다.
( 그렇게 많이 프로젝트를 했는데도 처음 쓰는 것 같은 enum... 그래도 UI 자동화는 잘 구현되어서 기분이 좋습니다 )
- UI 자동화 기술에 대해서 관심이 있었고, 이를 처음으로 직접 구현해 보았는데 생각보다 결과물이 잘 나와서 기존에 작업하던 다른 프로젝트에도 패키지 형태로 적용 할 수 있겠다는 생각이 들었습니다. 또한 개인 프로젝트만 1년 넘게 진행하다보니 협업에 대한 감각이 녹슬었다고 생각했는데, 그래도 문제 없이 원활하게 프로젝트를 진행 할 수 있어서 만족스럽습니다.
( 쉽지만 잘 사용지 않았던 프로퍼티 )
- 또, 개인적인 버전으로 SoundManager를 구성해 보면서 그 동안 잘 사용해보지 않았던 프로퍼티를 상황에 맞게 적용시켜 보았습니다. 접근 제한자처럼 외부에서 특정 함수나, 프로퍼티를 통해서만 Set / Get 을 받아 올 수 있게 함으로써 OOP의 특징인 캡슐화가 잘 적용되도록 개발했다고 생각합니다.
( Git Flow를 자만하지 않고 미리 좀 알아보고 갔더라면...)
역시나 예상했던대로 git 병합 과정에서 문제가 발생했습니다. 좋은 소식은 그래도 별도의 merge 브랜치를 만들었기 때문에 씬이 아예 파괴되는 최악의 상황은 빗겨나갈 수 있었다는 것이고, 안좋은 소식은 그 병합 브랜치 (Dev 브랜치) 의 부모 자식 설정이 잘못되어서 병합 충돌이 발생했다는 점이 있었습니다.
또 다른 문제라고 생각 할 수 있는 것은 그동안의 경험 때문인지 너무나 독단적으로 팀내 결정을 진행한게 있지 않을까 걱정입니다. 이런 프로젝트를 진행하게 되면 몸이 앞으로 쏠리는 경향이 있는데 처음으로 프로젝트를 진행해 보는 분이 많은 미니 프로젝트에서 과도하게 발언한 것은 없는지 불안으로 남습니다.
다른 부분으로는 병합에 대한 문제를 혼자 해결해 버린 것이 혹여 다른 분들의 경험을 방해한 것은 아닌지 걱정으로 남았습니다. 어떻게 보면 처음 프로젝트를 진행해보면서 GIT으로 프로젝트를 터쳐보기도 해야 경각심도 생가고 주의하게 된다고 저 개인적으로는 생각하는데, GIT 담당자라는 이유로 그냥 혼자서 해치워버린것 아닌가 하는 아쉬움도 남습니다.
( 그동안 개인프로젝트만 한다고 무뎌졌던 협업 감을 다시 잡아야한다! )
누구에게나 첫 프로젝트가 있듯, 저의 첫 프로젝트를 돌아보게 되는 미니 프로젝트였습니다. 처음으로 개발할 당시 일을 안하는 기획자 팀장과 저를 포함한 처음으로 C#을 손대보는 개발자 2명을 이루어진 프로젝트… 4개월간 열심히 하여 최종적인 결과물은 잘 나오긴 했지만 전혀 협업했다는 느낌이 들지 않는 프로젝트였습니다. 하지만 이번 프로젝트는 많은 분들이 처음으로 협업 프로젝트를, 그것도 GIT 을 이용해서 진행하는데 큰 충돌이나 브랜치 삭제, 마감 기한 미달성 등의 문제가 생기지 않은 것을 보면 정말 기분좋게 마무리 되었다고 생각했습니다.