컴퓨터공학 전공을 선택하고 처음으로 팀프로젝트를 경험했다.
지난 학기에도 팀프로젝트에 참여하긴 했었으나, 여러가지 이유로 인해 찐하게 팀프로젝트를 경험하지는 못했다는 개인적인 느낌이 있다. 이번 학기에 진행한 종합설계 팀프로젝트 경험을 중심으로, 협업과 관련하여 느낀 부분들을 적어보고자 한다.
0. 배경
팀프로젝트를 진행하는 종합설계 과목은 마지막 학기의 졸업작품으로 이어지며, 졸작의 프로토타입을 만드는게 목표인 프로젝트 과목이다. 사실 프로토타입이라고 말은 했지만, 거의 완성품을 만들고 졸작때는 약간의 기능만 추가하면 통과가 되는 시스템이므로 이번 학기 프로젝트에 힘을 많이 줄 수 밖에없는 형태이다.
프로젝트 배경과 진행을 짧게 소개하자면,
프로젝트 주제 : 화장품 쇼핑몰
내용 : 기능 구성이 { 1) 관리자 2) 판매자 3) 소비자 } 로 나뉘는 권한에 따라 분류되는 형태
1년 정도 알고 지냈던 동기 한 명과 팀구성을 시작했고, 둘 다 이렇다 할 프로젝트 경험이 없었다. 5~6명 팀을 만들어야 했어서 에브리타임에 구인글을 게시해서 백엔드 1명을 구했고, 프론트 3명은 랜덤으로 배정을 받았다. 사실 2명만 받기를 원했는데, 그 부분은 내 권한이 아니라 어쩔 수 없었고, 한국인 팀원1, 외국인 팀원 2명이 배정되었다..
최종 팀구성
[백엔드 2] : 본인(팀장), 팀원1(에타로 구인)
[프론트엔드 4] : 동기, 팀원2,3,4 (임의 배정 받은 3인)
꽃길만 있을거란 기대는 당연히 안했지만, 초반 기획단계가 너무 재미있었어서 기대감이 고조된 상태였다. 팀원들과 전체회의를 통해 기능명세서를 작성하고, 엔티티, DB 설계까지 착착 진행되었는데, 문제는 개발 단계에 들어가면서 발생했다.
1. 모두가 같은 방향을 바라보는 것은 아니다.
내가 간과한 첫번째 요소다. 프로젝트 주제를 선정하고, 포트폴리오에 넣을 수 있는 프로젝트를 만들고자 생각한 나와 달리, 누군가는 그저 학점만 받기고 넘기면 되는 것이라 생각할 수 있었다. 이 때문에 팀원간의 개발속도 차이가 상당히 벌어졌다.
'팀원 수준에 맞는 업무 분배에 실패한거 아니야?' 라고 물을 수 있다. 진행 초반만 말하자면 사실이다. 하지만 이 문제는 몇 주 간의 관찰과 회의를 통해 합의된 업무 분배에도 불구하고 프로젝트 끝까지 지속되었다. 과제의 난이도를 낮췄음에도 계속해서 한 번도 기한을 못맞춘 팀원들이 있었다는 것이다. 프로젝트 말미에 알게된 사실인데, 프로젝트 개발에 할애한 시간이 일주일 중 토요일 하루 뿐인 팀원도 있었다. 프로젝트에 기한 내에 기능을 완성하기 위해 수업까지 출튀해가면서 진행했던 나로서는 .. 음... 충격적이긴 했다. 생산성을 높이기 위한 도구 사용을 추천했을뿐, 시간을 더 투입하라고는 차마 말하지 못했다. 언급했듯이, 모두가 같은 방향을 바라보는 건 아닐 수 있기 때문이다.
팀원간의 능력 차이는 어떤 팀을가도 발생할 수 밖에 없는 부분일것이다. 그리고 팀장은 각 팀원들의 능력에 맞는 업무를 분배하는 능력을 가져야한다. 하지만 그보다 훨씬 중요하고 근본적인게 있다면, 하나의 프로젝트를 함께하는 팀원들이 같은 방향을 바라보고 가야한다는 점이다. 이번 프로젝트에서 느낀 가장 중요한 부분이며, 이렇게 만드는게 팀장이 가져야할 중요한 능력이 아닌가 생각든다.
2. 우린 대화가 필요해.
멘토님을 한 분 배정받아서 2번의 멘토링을 받을 수 있었다.
우리팀의 경우에는 여러 검색포털과 커머스등 여러 빅테크에서 백엔드 개발자 커리어를 보내신 멘토님인데, 적은 횟수의 멘토링에도 불구하고 고작 몇시간 동안 정말 많은 인사이트를 얻을 수 있었던 부분에 지금도 감사하다.
한 번은 현업에서 마주치는 애자일의 진실에 대해 소개 해주셨는데, 여러 통계자료를 보여주며 실제로 애자일을 프로젝트에 도입했음에도 불구하고 초기에 잡은 목표 기간까지의 실제 완성도는 보통 60% 에 남짓한다고 한다. 그런데 이건 상당히 높은 수치라고 !!즉 현업에서도 기간을 못맞추는 상황은 비일비재 하다는 것인데, 그럼에도 이 정도의 완성도를 가능하게한 요소로 '매일매일 소통'을 꼽으셨다. 좀 더 자세하게는, 매일 아침 Slack 에서 업무채널에 Daliy Standup Bot 을 활용한 일종의 작은 데일리 스크럼을 진행하여 각자의 업무 진행상황과 그날의 목표 지점등을 공유한다. 그리고 오후에는 종일 책상 앞에서 개발에만 몰두하는게 아니라, 잠깐이라도 팀원들과 짧은 티타임을 가지신다고. 그런데 놀라운 부분은, 바로 이 짧은 시간에 1) 팀원들 마다의 현재 업무가 각 팀원에게 적합한 수준인지, 2) 현재 어느정도 진행되었고 3) 오늘 어느정도까지 진행될 수 있는지 등을 모두 파악할 수 있다고 한다.
우리 팀에게도 Slack 을 활용한 짧은 주기의 소통을 추천하셨다. 물론 프로젝트 후반부에 그 조언을 들은터라 실제 적용은 못해봤지만, 조금 귀찮더라도 초반부터 Daliy Standup Bot 과 같은 유용한 도구들을 활용했다면 프로젝트 진행과정이 크게 달라지지 않았을까 생각해본다. 우리는 매주 두 번의 회의를 진행했는데 월요일은 온라인으로, 금요일은 오프라인으로 진행했다.
지금 돌이켜보면 너무 팀원들에게 부담을 주고 싶지 않은 마음에 원하던 것보다 적은 횟수의 회의를 진행했었는데, 이는 장기적으로 절대 팀원들을 위한 선택이 아니었음을 깨달았다. 위에서 한 팀원이 일주일에 프로젝트에 대해 할애한 시간을 알게된게 프로젝트 말미였다고 말했었는데, 어찌보면 이걸 말미에 알았다는것부터 효과적인 소통이 부족했다는 것을 증명하는게 아닌가 싶다.
우리는 각자 하는일이 모두 다르고, 본인의 상황을 생각했을때 절대 한가하다고 생각하지 않는다. 때문에 누군가가 적극적으로 소통을 유도하지 않으면 프로젝트 진행에 대한 파악이 불가능하다.이는 어쩌면 미움받을 용기(?)가 필요하다. 그것 역시 훌륭한 팀장의 역할이라고 느꼈다.
3. 프로젝트와 학기를 마무리하며
제목이 '4-1학기를 마치며' 기 때문에 종합설계 프로젝트를 제외한 다른 부분을 짧게 언급하자면, 이론 과목들과 AI 팀프로젝트, IoT 팀프로젝트까지 총 3개의 팀프로젝트를 진행했다. 다행히 능력이 뛰어난 팀원들을 만나, 내가 할 일만 잘하면 순조롭게 진행되는 흐름이었고 발표까지 잘 마무리했다. 이론 과목들의 기말고사 점수는 ... ㅠㅠ (수업까지 째가며 프로젝트를 진행한 사람의 시험 성적은 말하지 않아도 ...)
결과적으로 종합설계 프로젝트는 잘 마무리되었다. 시연 발표때 교수님의 반응도 좋았고. 무엇보다 한 프로젝트의 진행과정을 처음부터 끝까지 느낄 수 있는 경험이 가장 유의미한 수확이었다. 비록 2가지 기능은 구현에 실패했고 우리가 봤을 때도 구조적으로 엉망인 부분이 많았지만 이는 여름방학과 2학기에 충분히 개선이 가능하며, 이후 추가할 기능들에 대한 기대감도 생기고 있다.
개인 커리어에 대한 생각으로는 풀스택 개발자가 되어야겠다. 는 생각을 많이하게된 프로젝트였다. 체계가 잘갖춰진 큰 조직에서는 내가 이런저런 업무를 모두 담당할일이 적겠지만, 언제나 그런 환경만 있지는 않을것이고, 그런 상황에 잘 대처하기 위해서는 내가 하나도 모르는 일에 투입될 가능성을 줄여야한다. 그럴 일이 적은 집단에 들어가는 옵션과, 내가 모두 어느정도 대처가능 하도록 공부하는 옵션 중에 두 번째를 선택했고, 앞으로 그 방향을 지향할 것 같다.
'회고' 카테고리의 다른 글
| [회고] 카테부 1~2 주차 회고입니다.. 근데 이제 반성을 곁들인 (0) | 2025.09.21 |
|---|