세미와 다르게 파이널 프로젝트는 어느 정도 팀간의 균형을 맞춰서 결성해야 하는 제약이 있었다. 사실 원하는 사람들끼리 일을 하는 것도 불가능하고, 사회에 나가면 더 많은 스트레스가 있을 게 사람 관계이니까. 프로젝트 조 역시 꼭 하고싶은 사람과 하는 것은 말이 안되지 않을까 싶기는 하다.
여러가지 아이디어가 나왔고, 우리 팀은 음악, 밴드 커뮤니티를 만들기로 하였다. 내 아이디어였는데 개인적으로 이 프로젝트를 제안한 이유가 몇 가지 있다.
음악, 밴드를 좋아하기 때문 - 기본적으로 애정이 있는 프로젝트를 하고 싶었다.
가장 기본적인 게시판 crud를 적극적으로 다룰 수 있는 프로젝트이기 때문에
채팅, 소셜 로그인, 결제 시스템 등 원한다면 다양한 api나 추가 라이브러리 경험을 충분히 할 유연성이 있기 때문에
결론적으로 말해서, 그렇게 특색있는 아이디어는 아니게 되었지만. 어쨌든.
요구사항 정의서, 유스케이스와 같은 계획 부분은 꽤 빠르게 지나갔다. ERD는 내가 도맡아서 했고 이후 참고할 사이트를 정하고, 어느정도 틀을 갖추고 작업해야 할 파트를 나누어 분배했다. 조원 중에 사실상 프로그래머의 길의 걷지 않을 분이 한 분 계셨기 때문에 큰 일을 맡길 수 없었다. 즉 4명이서 일을 하는 건데, 한 분은 기본적인 crud조차 잘 되고있지 않았기 때문에 슬프지만 셋이서 일을 몰아하는 느낌을 받았다.
물론 예상 가능한 일이었고, 어쩔 수 없지만 그 와중에도 의욕적으로 맡아 할 수 있는 부분을 맡아주길 부탁했다.
생각해보면 이 계획 단계에서부터 조금 많이 핀트가 나가지 않았나 싶다. 이 부분은 후에 소감으로 길게 다룰 예정이다.
ERD부터해서 기본적인 DB 구성을 내가 했다. 이후 사용하면서 추가 기능에 생기면 테이블을 더 추가하곤 했다. 초기 설계가 나쁘지 않았어서 뒤에 크게 db를 엎을 일은 없었다.
sts 설정을 하고, 기본적인 와이어프레임과 목업 디자인을 했다. 와이어프레임은 카카오오븐을 통해서 목업 디자인은 figma를 이용했다.
그래도 프론트엔드 쪽은 비교적 공평하게 일이 돌아가지 않았나 싶다. 개발 일을 하지 않으려 하는 조원도 기본적인 페이지 구성을 할 수 있었기 때문에 같이 조금 힘을 내서 프론트 구성을 했다.
전체적으로 40여 개의 페이지 구성을 해야 했다. 게시판은 일반 자유 게시판, 중고거래 게시판, 연습실 예약 게시판, 레슨 선생님 구하기 게시판, 밴드 전용 게시판 등이었다. 이 부분은 기능 구현 때도 비슷하게 가져갔다.
개개인의 능력에 편차가 있던 게 사실이기 때문에 이 부분에서부터 업무 쏠림이 있었다.
일단 기본적인 개념이 아예 없으신 한 분을 배제하고 일을 나누었기 때문에 넷이서 프로젝트를 진행하는 것이었고, 다른 한 분은 기본적인 개념이 약하다고 하셔서 정말 기본적인 게시판 하나의 역할만 주었다. 결국 그 분은 프로젝트 내내 게시판 하나의 일만 맡으셨지만 마지막까지 기능과 css가 제대로 완성되지 못했다.
결국 셋이서 일을 이끌어가야 했고, 그 와중에 조장이 극심한 스트레스를 호소했고 마지막에는 사정이 생겨 일주일 동안 학원에 나오지 않는 일까지 생겼다.
이러니 저러니 조율이 잘 되지 않았지만 그래도 웹소켓을 이용해 채팅 기능도 구현하고, 밴드게시판, 중고거래 게시판, 예약 게시판 등 다양한 종류의 게시판 구성도 했고, 네이버 로그인과 같은 소셜 로그인 구현도 해보았고, 다크모드와 반응형, aws 배포와 git관리 등도 하면서 개인의 입장에서는 많은 일을 도맡아 처리한 소중한 기억이 되었다.
돌이켜 생각해보면 이 프로젝트는 정말 만족스럽지 못한 프로젝트였다. 과정 뿐만 아니라 결과물에서도 아쉬움이 곳곳에 묻어나는 결과가 나왔다. 실패 원인과 개선해야할 사항을 적어보면 이렇다.
어느 정도 실력 편차가 있는 것이 당연하지만, 우리 팀은 그 편차가 너무 컸던 것 같다. 사실상 개발 일을 안 할 인원이 한 명을 안고서 일해야 했고 다른 분들 역시 일의 속도가 너무 늦었기 때문에 조장과 내가 업무를 다 안고가야하는 구조였다.
다른 분들이 디자인 적인 센스가 있어 목업 디자인을 조정해준다거나, ppt 외적인 부분에서 능력을 발휘해주었으면 또 많은 도움이 되었을텐데 그마저도 되지 않다보니 사실상 조장과 내가 부족한 디자인 측면까지 맡아 처리해야 했다.
초기부터 업무 불균형 상태를 당연하게 받아들이다보니, 소통할 의욕과 자세부터 부족해지지 않았나 싶다. 다른 분들도 더 능력을 발휘할 부분을 찾아보자면 찾을 수 있지 않았을까, 기본적인 게시판을 프로젝트 내내 붙들고 있게 하기 보다는 조금 다른 업무를 다양하게 맡겨보는 것도 좋지 않았을까한다.
한 가지 아쉬웠던 점은 역시 조장과 나를 제외하고는 다들 벙어리처럼 회의 때조차 말을 하지 않았던 점이다. 피드백이 필요한 부분도 많았고 길을 잃은 순간도 많았지만, 너무나 많은 벙어리들이 있었다.
디자인 측면이 부족하면 차라리 벤치마킹 사이트를 적극 활용했어야 한다. 기본적인 아이디어만 가지고 디자인을 착수하니 css가 중구난방으로 튀고, 사이트의 컨셉조차 다듬어지지 않은 결과물이 나왔다. 물론 최종 조율을 했어야할 조장이나 나의 탓이 분명하긴 하지만, 초반부터 삐긋하고 들어가니 결과물이 좋게 나올리가 없었다.
차라리 다른 사이트를 모방하다싶이 한 다른 조의 경우 결과물의 완성도가 차라리 훨씬 높게 느껴졌으니 우리 조의 결과물이 얼마나 초라했는지 말해 무엇하랴.
아쉬움 가득한 프로젝트인만큼 얻어가고 배워간 것들은 더 많았다고 생각한다. 어차피 돈 받는 결과물이 아니니 이런 실패 한 번쯤 경험해보는 게 좋지 않았을까 싶다. (돈 받은 일에서 이런 결과물을 내면 개발자가 될 자격도 없는 놈이겠지만..)
팀 프로젝트로서가 아닌 개인적인 성과물로 보면 상당히 많은 부분을 배울 수 있는 프로젝트였다.