엘리스 트랙의 하이라이트, 팀 프로젝트!
지난 3주간 데이터 분석 과목을 학습하고 실습하면서 그저 정보의 나열이기만 한 '데이터'를 '인사이트'로 만드는 과정을 경험해봤다. 하지만 결국 진정한 경험은 시키는 대로 외우고 따라서 코딩하는 것이 아닌 직접 만들고 부딪히면서 겪는 것! 이를 위해 엘리스에서는 3주라는 시간 동안 팀원을 모집해 함께 기획, 분석, 개발, 배포할 수 있는 프로젝트 주간을 만들었다. 이 3주라는 길고도 짧은 기간 동안 과연 어떤 과정들을 거치게 될까?
너, 내 동료가 돼라!
우선 프로젝트는 크게 두 가지의 메인 주제 중 하나를 선택해야 한다. 지난 1기와는 또 다른 주제가 주어졌는데, 바로 OTT 서비스 데이터 분석 과 배달 서비스 데이터 분석 이다. OTT 프로젝트는 우리가 즐겨 보는 넷플릭스의 데이터들을 분석해 코로나 시대를 관통하는 유의미한 인사이트를 발견해 웹 서비스를 만드는 것이고, 배달 프로젝트 또한 코로나 장기화로 인해 배달 서비스 사용량이 증가하면서 코로나 전 후의 데이터를 분석해 문제를 정의하고 솔루션을 제안하는 프로젝트이다. 이 중에서 나는 OTT 서비스 분석 프로젝트를 선택했는데, 그 이유는 다음과 같다.
1. 프론트엔드 직군을 희망하는 나로서 시각적으로 표현할 수 있는 부분이 많을 것이다.
2. 넷플릭스를 즐겨본다.
3. 재밌겠다.
써놓고 보니까 뭔가 별 생각 없이 고른 것 같기도 하지만, 첫 번째 이유에 작성한 것처럼 마음껏 내 실력을 뽐내기에 이 주제가 적합하다고 생각해 선택하기로 했다. 이 글을 보게 될 예비 프로젝트 팀장, 팀원 분들도 단순히 재미있을 것 같아서 주제를 선택하는 것이 아닌 프로젝트 과정을 거치며 나에게 더 많은 도움과 성과를 안겨줄 주제를 고르는 것이 좋은 전략이라고 생각한다. 어쨌든 이렇게 주제를 선택했다면 그 주제를 고른 사람들 중에서 팀을 만들어야 한다!
위 사진처럼 엘리스 노션 페이지에 팀을 만들고 팀원을 모집할 수 있는 공간이 주어진다. 팀원은 5-6명으로 모집이 가능하며 팀원 구성은 프론트엔드 2, 백엔드 2, 데이터분석 1 이런 식으로 보통 구성된다. 물론 딱 저 역할만 하는 것이 아니라 메인 역할을 이와 같이 정한 후 서브 역할도 함께 정하는 편이다. 반강제로 풀스택이 될 수 있는 기회.. 랄까? 아무튼 팀장의 팀원 모집 공고와 함께 팀 페이지가 만들어지면 팀원으로 지원하고 싶은 사람들이 각자 페이지를 방문하며 마음에 드는 곳에 선착순으로 지원하는 방식으로 팀이 꾸려진다. 여기서 당신이 예비 팀원 지원자라면 팀을 고르는데 팁이 있는데, 평소에 괜찮은 사람들을 미리 눈여겨봐두면 좋다는 것 이다. 팀장이 어떤 사람인지, 팀원들 중에 잘한다고 생각했던 사람들이 있는지 이런 부분들은 12주라는 기간 동안 디스코드나 프로젝트 등 활동들을 눈여겨봤다면 대략 보일 것이다.
(참고로 우리 팀 첫 미팅 때 팀원 분들에게 지원 이유를 물어봤더니 생각보다 나에 대해 관심을 갖고 있었다는 것을 알게 됐다 허허,, 심지어 블로그 글까지 챙겨보는 분도 계셨다고 한다...!)
자자, 회의합시다 회의!
팀원도 정하고 팀 작업 공간도 만들었다면 이제 팀의 방향과 진행사항을 공유할 회의를 하는 것! 회의 시간이나 방법은 각 팀별로 재량껏 하면 되지만 엘리스에서는 프로젝트 기간 동안 10시에서 10시 반 약 30분간 스크럼을 진행하는 방식을 제안한다. 스크럼을 잘 모르는 분들께 간단히 설명드리자면 다음과 같다.
스크럼은 개발 프로젝트를 위해 고안된 일종의 방법론이다.
확약 (약속한 것을 확실히 실현할 것), 전념 (확약한 것의 실현에 전념하는 것), 정직 (불리해도 숨기지 않는 것), 존중 (다른 사람에게 경의를 표하는 것), 용기 (자신이 옳은 일을 할 수 있도록 팀원 간 갈등과 도전을 통해 작업할 수 있는 용기) 이렇게 5가지의 가치에 중점을 두어 진행한다.
우선 개발할 제품(웹 서비스 페이지)에 대한 요구 사항과 우선순위를 제품 백로그(Product Backlog)로 정한다.
제품 책임자(Product Owner)가 정한 우선순위에서 어디까지 작업할지 팀과 조율한다.
개발 주기(Sprint) 목표가 구현 가능하도록 팀에서 필요한 작업 목록(Sprint Backlog)을 작성한 뒤 작업을 할당한다.
스프린트가 진행하는 동안, 매일 정해진 장소와 시간에 모든 개발 팀원이 참여하는 일일 스크럼 회의를 가진다.
매 회 스프린트가 종료할 때마다 리뷰 미팅을 통해 제품을 학습하고 이해한다.
학습과 이해가 끝나면 회고를 통해 개발 프로세스에 대한 개선의 시간을 가진다.
그리고 다음 스프린트를 준비한다.
뭔가 어려운 단어들이 섞여있어서 조금 낮설게 느껴질 수 있지만, 짧게 요약하자면 짧은 목표를 정해두고 하나하나 해결해가며 최종 목표에 도달하는 방식이라고 생각하면 편할 것 같다. 괜히 '전력질주' 를 뜻하는 Sprint가 쓰이는 게 아닌 듯하다. 아무튼 이러한 효율적인 팀 미팅을 거쳐 매일매일의 목표를 설정하고 각 팀원들에게 할당해 같이 3주간 열심히 달리면 되는 것이다.
선생님 질문 있어요!
회의를 마치고 일과 시간동안 열심히 개발을 했다면 이제 내가 잘하고 있는지 검사받을 시간! 엘리스에서는 매일 저녁 7시에서 10시 사이에 현업 개발자분들과 함께 오피스아워 시간을 가진다. 이 시간에는 팀원들이 작성한 코드를 리뷰받고 더 좋은 방식으로 개발을 진행할 수 있도록 조언을 듣는다. 참고로 오피스아워에 참여하는 개발자분들은 철저한 검증 과정을 거쳐 오신 만큼 능력들이 대단하시다..! (지난 1차 프로젝트 때 담당하셨던 코치님은 무려 라인에서 근무하시는 분이셨다!!)
이러한 지원에 힘입어 개발을 성실히 진행하다보면 어느새 중간발표와 최종 발표 시간이 다가온다. 중간발표는 2주 차에, 최종 발표는 3주 차에 진행하며 중간발표에서 듣게 되는 피드백을 적용해 완성도를 높여 최종 발표를 진행하는 방식이다. 평가는 코드 평가(70)에 발표 평가(30)로 진행하며 우수한 결과물을 만든 팀에게는 시상도 진행할 예정이라고 한다.
마치며
이제 다음 주부터 팀원 분들과 동고동락하며 3주간 프로젝트를 진행한다. 리더의 자리에 있었던 경험들은 있지만 이번만큼 체계적이고 많은 것들을 고려해야하는 위치에 있었던 적은 없다 보니 문득 굉장히 원초적인 질문을 스스로에게 하게 됐다.
'과연 리더란 무엇인가?'
내 생각의 결론은 이거다. 결국 리더란 직책만 팀을 이끄는 사람일 뿐 제일 낮은 자세로 헌신하는 사람이 아닐까 싶다. 혼자 결정하고 내 생각대로 무조건 이루어지길 바라거나 무언가를 강요한다면 비록 팀의 성과가 높을지라도 팀원들의 만족도가 떨어질 가능성이 높기 때문에 내 기준에서는 옳지 못한 리더의 자세라고 생각한다. 내가 좀 더 희생하고 노력하는 모습을 보인다면, 그리고 그 진심이 전해진다면 내가 지시하지 않더라도 스스로 잘 굴러가는 팀이 되지 않을까 싶다. 이번 3주간 내가 생각하는 이런 리더로서의 자세를 연습한다는 생각으로 할 수 있는 최선을 다 해봐야겠다!
'Programming > 6. Elice AI Track' 카테고리의 다른 글
015_엘리스 프로젝트가 궁금하신가요? (完) (0) | 2021.10.21 |
---|---|
014_엘리스 프로젝트가 궁금하신가요? (2) (0) | 2021.10.10 |
012_엘리스 트랙 톺아보기 (0) | 2021.09.09 |
011_flask 기초 (~7/16) (0) | 2021.07.18 |
010_SQL (07/13) (0) | 2021.07.16 |
댓글