첫번째 프로젝트를 시작한지 엊그제 같은데 벌써 2주가 지나 2차 프로젝트를 앞두고 있다. 시간이 그 어느때보다도 빠르게 흘러가는 느낌이랄까…?처음 진행해본 프로젝트라 많은 시행착오들이 있었지만 그것들을 통해 많은 것들을 직접 겪으며 배울 수 있어서 여러가지로 의미있는 프로젝트였다.
2주의 프로젝트 기간 중 1주가 지나고나서 정리한 중간회고에서 말한 것 같이 1주차 때에는 정상적인(?) 애자일방법으로 프로젝트를 진행하지 못했었다. 첫번째 회고를 하면 정리한 내용들을 기반으로 두번째 스프린트 회의를 했고 첫번째 회고 때 적용했던 KPT의 회고방식을 최대한 활용해보려했다.
처음에는 단순히 BE,FE을 나누고 작업했던 것들에 대해 api만들기, api 구상하기 등과 같이 매우 단순하게 적었었다...
멘토님의 피드백을 통해 KPT회고를 했고 그 내용들을 적용시킨 것이 21일 회의록이다. 각 팀원마다 해당방식으로 회의록을 준비하고 그 내용들을 standup meeting에서 나눴기에 미팅시간도 줄일 수 있게 되었고 일정관리에도 훨씬 효과적이였다.
또한 프로젝트에서 PM를 담당했었지만 1주차때는 단순히 회의를 진행하는 나이스(?)한 팀원의 존재밖에 되지 못했었다. 하지만 2주차를 시작하면서 PM의 진짜 역할을 알게되었고 계획했던 목표에 도달하기 위해 일정관리를 지키기위해 힘썼다. 1주일의 시간동안 각 팀원들의 능력을 어느정도 파악(?)할 수 있었고 그 정보를 바탕으로 구별된 일정관리와 데드라인을 설정하기 위해 나름의 노력을 하였다. 설정된 목표를 달성해내기 위해서는 각자가 많은 노력을 쏟아야했었기에 시간관리는 필수적이였고 꽤나 타이트하게 관리되기도 한 것 같다.
처음 미팅에서 PM의 중요한 역할 중 하나는 팀원들을 열심히 쪼는(?) 것이라고 합의는 했지만 사실 PM을 처음 해보는 입장에서 어려운 부분이 많았던 것이 사실이다. 진행이 잘되어가고 있지 않는데도 좋아요좋아요~하며 👍따봉만을 날리며 격려해줄 수도 없었고, 단순히 빨리빨리 시간을 재촉만 할 수도 없는 입장이였다. 나이스하지만 무능력함으로 프로젝트를 망치는 PM이냐, 인간미 없지만 프로젝트에 플러스가 되는 PM이냐…고민을 했었던 것 같다.뭐 사실 답은 정해져 있지만(적절하게해야한다..) 그대로 행동하는 것이 쉬웠다면 이런 회고도 안하지 않았을까?
그래도 마지막 한주에서는 월요일 스프린트 미팅때 계획한 것들에 대해 상당부분을 달성할 수 있었고 미흡하지만 나름의 결과물도 낼 수 있었다. 프로젝트가 마무리되고 팀끼리 진행한 회고시간에서도 모두 다같이 입을 모아 “첫째주도 두번째 주에 했던 것처럼 계획하고,시간관리하면 보냈더라면…”이란 말을 했었다. 각각의 일주일의 과정과 그에 따른 결과가 극명하게 갈렸기에 우리들 모두 비슷한 것을 느꼈던 것 같다. 뭔가 제대로 역할을 이행하지 못했음에 있어 팀원들에게 미안한 마음이 크다…
그러면서 더욱 들었던 생각,
초기 미팅을 구체적으로 세분화하여 제대로 하자!!!
PM의 역할보다는 당연히 팀원으로서의 역할이 훨씬 더 많았고 더 많은 것을 느꼈던 것 같다. 그 중에 크게 고민했던 것은 “팀이란 개념”과 “개인으로써의 나”라는 것이였다.
1️⃣ 팀원으로써의 태도 - “나는 백엔드 개발자이다. 클라이언트의 요청을 받아 적절한 응답을 주기 위해 DB의 모델링을 하고 적절한 API를 만드는 백앤드 개발자 말이다.”
우리 팀에는 총 프론트 3명, 백엔드 2명의 개발자가 배정이 되었지만, 프로젝트가 시작됨과 동시에 백엔드동료 한분이 코로나에 걸리게 되면서 프론트 3명과 백엔드개발자 1명이 프로젝트를 진행하게 되었다. 그래서 그랬었던건지, 내가 적어도 1인분 이상의 일을 해야한다고 생각했고 조급함 마음을 가지고 시작을 했었다. 프론트앤드가 어떻게 진행되고 있고 이런 부분은 사실 큰 신경쓰지 않고 내 앞에 과제들만을 해쳐나가려고 했고 다행히 주말까지 잘 이용해 첫째주 스프린트의 baglog들은 잘 마무리를 하였다. 프로젝트를 어떻게 진행해야할지, 무엇을 어떻게 할지 아예 감조차 오지 않던 첫째주를 보내고 나니 아주 살짝은 뭐가 어떻게 돌아가는지는 알게 되었고 나름 나무가 아닌 숲도 조금씩은 보려고 노력했던 것 같다.
그전에는 프론트엔드에서 발생하는 문제들이나 송신관련해서 프론트에서 에러가 나면 나의 분야가 아니기에 한발자국 떨어져서 문제가 해결되길 기다렸다면, 2주차부터는 잘모르더라도 어떤 부분이 문제인지 잘 듣고 함께 해결해보려고 노력했던 것 같다. 그전에는 들어도 한 귀로 흘려버렸던 내용들을 하나라도 더 들으려고 노력했고 이해가 되지 않는 부분이 있다면 프론트엔드 멘토님에게 가서 물어보기도 했다. 그렇게 하다보니 useEffect가 무엇인지, 어떻게 사용되고 어떤 부분에서 에러가 발생했는지 함께 고민하고 해결해 낼 수 있었다.
분명히 첫주에도 비슷한 에러들은 발생했었을테고 비슷한 상황들 또한 항상 있었을 것이다. 달라진 것은 나의 태도
였다. 백엔드의 문제가 아니기에, 즉 나의 문제가 아니였기에 신경쓰지 않았었고 시간을 낭비하고 싶지 않다고 생각했을지 모른다. 하지만 개인프로젝트가 아니고 분명 팀프로젝트
였기에 나의 태도와 생각들 중 바꿔야할 것들이 있었고 그 변화 대한 효과는 굉장했다!!!!
blocker들이 보다 빨리 해결되니 프로젝트 진행속도도 빨라지게 되었고 팀내 분위기 또한 아주 좋아지게 되었다. 또한 프론트엔드에서 사용하는 내용들을 알게되니 대화가 더 편해졌고 데이터의 전송/수신에 있어서도 폭 넓은 이해가 바탕이 되었다 ✌️(설명해주신 우리 팀원들 감사합니다 :-) )
2️⃣ 팀 vs 개인
또한 프로젝트를 진행하며 “팀원으로서 나
”와 “개인으로서의 나
” 가운데 충돌에 대해 고민하는 시간을 가졌었다.
첫번째, FE와 BE의 개발속도와 방향이 달랐었다. FE&BE 간에 데이터 송신을 한번도 해보지 않았어서 전송이 어떤방식으로 이루어지고 받은 데이터를 어떻게 사용할지 너무 궁금했었다. 그래서 먼저 첫주에 완벽하진 않더라도 정상적으로 필요한 데이터들을 보내는 것에 초점맞춰 API들을 완성했었다. 그리고나서 FE와 송신을 해보려 했는데 FE에서는 다른 기능적인 추가요소들이 많아 데이터송신을 하기까지는 시간이 더 필요하다라는 답을 듣게 되었고 마냥 기다릴 수는 없어서 팀프로젝트에 포함되지 않는 추가기능들을 혼자라도 공부하면서 구현하고 있었다.
그러면서 문뜩 들었던 생각이 있다.
💡 나는 정녕 팀 프로젝트를 하고 있는게 맞나?둘째 주에 들어서는 그래도 팀원들과 함께 고민하고 문제들을 해결해나가고 있었지만 여전히 나의 업무와 과제는 개인적 성향이 아주 짙었다. (물론 처음 기획하고 구현하기로 목표한 기능들을 만들고 있었긴하다)
두번째는, 같은 백엔드 개발자 파트 내에서 다름이 있었다. 둘째주에 격리해제된 백엔드 개발자님이 합류를 하였고( 코로나로 인해 몸이 좋지는 않으셨지만 계속 미팅 참여하시고 함께하려하는 의지를 보여주셨다…respect⭐️) 본격적인 협업(?)을 할 수 있게 되었다. 그동안 줌미팅으로 계속 참여는 하셨지만 실제로는 프로젝트 중간에 들어오시게 된 것과 마찬가지라 프로젝트 내용을 catch up하는 시간이 분명 필요했었고, 그 시간동안 혼자서 추가기능을 구현하며 또 생각이 들었다.
💡 나는 정녕 팀 프로젝트를 하고 있는게 맞나?그 이후로는 혼자 진행하던 추가기능들에 힘을 좀 빼며 팀프로젝트가 팀프로젝트가 될 수 있게 나름 힘을 썼던 것 같다. 기존 사용하던 Trello와 함께 팀 notion 페이지를 만들어 일정관리, 회의록 관리, 자료정리등을 보기 쉽게 만들었다.
또한, 팀 프로젝트 답게 깃허브에 서로의 작업물들을 올리며 깃허브를 이용한 팀프로젝트 진행을 경험해볼 수 있었고, 다양한 github의 기능을 사용해보려고 시도했었다(pull&push&merge&충돌해결&&이미 merge된 branch에 추가 push등).
그리고 프로젝트의 내용들을 따라잡고 있는 팀원에게도 코드를 설명해주거나 그전주에 멘토들에게 받았던 리뷰들과 팁들에 대해서도 함께 나누며 빨리 따라잡을 수 있도록 도왔었다. 그렇게 시간을 나뿐만 아니라 팀을 위해서 사용했을때 어느순간 팀이 팀원을 밀어주고 서로 당겨주면서 기존의 속도보다도 더 빠르게 남은 시간을 사용할 수 있었던 것을 느꼈다. 아쉽게도 프로젝트의 기간이 2주뿐이라 더 진행할 수는 없었지만 “빨리가려면 혼자가고 멀리가려면 함께가라”라는 의미가 무엇인지 간접적으로 경험할 수 있었던 것 같다.
비록 지금은 매주 진행되는 단거리달리기(sprint)를 위주로 프로젝트를 진행하고 있지만 개발이라는 전체적인 관점에서는 꾸준히 달려나아가야하는 마라톤임을 잊지말아야 할 것이다!👍