온라인 근무를 길게 하게 되면서, 팀이 함께 일하기 위해 고민했던 것들을 공유합니다. 뒤돌면 있던 팀원들이 없는 환경에서 보다 더 많이 이야기 하고 더 많은 의견을 나누기 위해 노력했던 내용들입니다.

짝 프로그래밍 그리고 온라인 근무

2019년에 먼데이라는 프로젝트가 있었습니다. 몇 달간 주말 출근도 불사했어야 하는 고강도의 프로젝트였습니다. 그 당시 우리팀(배민 상품시스템팀)은 짝 프로그래밍을 했었는데, 일정 압박과 모든 것을 새로 만들어야 하는 어려운 환경에서도 짝 프로그래밍을 유지했습니다. 짝 프로그래밍을 해도 절대로 속도가 느리지 않고 다른 팀 보다 장애 없는 시스템을 만들 수 있다는 멋진 모습을 눈으로 봤습니다. 물론 2명 짝이라고 2명의 퍼포먼스를 내지는 못 합니다. :D 대신, 그 때 이후로 장애가 거의 없는 유일한 팀일 것입니다. 내가 아니어도 다른 팀원(짝)들이 뒤에서 매의 눈으로 지켜보고 있기 때문에 믿고 쭉쭉 진행할 수 있었습니다. 조금 느려도 장애로 시간 뺏기지 않고 서비스가 잘 돌아갈 수 있다면 기꺼이 그 시간을 투자할 가치가 있다고 생각합니다.

매일 같이 다가오는 데드라인 앞에서도 우리팀이 일하는 방식을 깨지 않으려고 짝 프로그래밍을 고수했습니다. 2주 단위로 진행하던 스프린트도 1주 단위로 더 타이트하게 미친듯이 달렸고 매주 데모를 했습니다. 보여줄 화면이 없는 백엔드 데모였지만 여러 시스템 끼리 모여서 서로 제대로 주고 받는지 까지 확인했는데, 프로젝트 마지막에서나 발견될 법한 것들을 매주 발견해서 좋았습니다. (권남님이 쓴 팀 문화의 탄생 - 아래쪽의 “통합시연을 통해 확인해 보자” 참고) 예를 들면, 전달인자가 위도와 경도 인데, 경도와 위도 로 바꿔서 보내고 있던 문제들이 있었습니다. 바쁘다 보니 (라는 핑계로) validation도 없었고 서로 붙여보질 못 했으니 잘못 들어오는지 알 방법도 없었습니다.

이제 재택근무를 시작한지 거의 1년이 다 되어 갑니다. 작년 2월말 부터 시작했으니 이제 곧 만으로 1년. 중간에 잠시 주2일 출근을 몇 주간 했지만, 다시 또 코로나19 확진자가 늘면서 지금까지 재택을 하고 있습니다. 온라인으로 근무를 하면서도 어렵게 만들어 온 팀문화를 유지하려고 많은 노력을 하고 있습니다. 짝 프로그래밍은 Zoom을 통해 같은 화면을 보며 개발하는 형태로 유지해 나가고 있고, 기획도 항상 함께 모여서 많은 것을 이야기 하며 진행하고 있습니다. 재택근무로 인해 혼자만 알게 되는 정보나 지식들이 많아지게 되고, 서로 무슨 일을 하는지 알기도 어렵습니다. 그래서 짝 프로그래밍을 하면서 서로 공유되는 정보들이 늘어날 수 있게 하고, 짝도 주기적으로 바꾸면서 일부 팀원만 알고 있는 정보를 줄이기 위해 노력하고 있습니다.

짝 프로그래밍 덕분인지 고된 프로젝트로 인한 전우애인지 모르겠지만, 함께 일하는 팀원에 대한 믿음이 더 크게 느껴졌습니다. 내 뒤를 받쳐주는 이 팀원들과 함께 라면 더 어려운 일도 할 수 있을 것 같습니다. 내일은 오늘 보다 더 나은 팀이 되기 위해 노력하고 있고, 그 중 하나가 주기적으로 진행하고 있는 회고 입니다.

회고

개인적으로 회고는 항상 하려고 합니다. 바쁘다면 한 번은 미루고 지나갈 수 있지만, 두 번 연속은 안 된다는 기준을 가지고 있습니다. 이전 회사에서 지나온 팀들을 돌아 보면, 매 스프린트 마다 회고를 하다가 회고를 안 하기 시작하는 순간 팀이 무너졌습니다. (제가 있던 모든 팀에서는 그랬습니다.) 하나 둘 팀을 떠나고, 심할 때는 모든 팀원이 다른 팀으로 떠나기도 했습니다. 물론 선후 관계나 인과 관계는 모르겠지만.. 내가 힘들고 바쁜데 회고할 시간이 어디 있으며, 다른 팀원들의 생각을 듣고 감정소모 까지 할 여력이 없을지도 모르겠습니다. 잡담도 많이 하면서 보내는 회고 시간이 팀이 무너지거나 번아웃이 오는걸 조금이라도 늦추는 방법 중 하나이지 않을까 하고 생각합니다.

최근에 엄청난 피로감의 프로젝트가 있었습니다. 팀원들 모두 스트레스를 많이 받았을 것 같습니다. 그래서 이번엔 조금 다른 방법으로 회고를 해보려고 했습니다. 회고가 끝나면 다음 회고 진행자를 사다리타기로 뽑고 있지만, 왠지 요즘 제가 자주 걸리는 이상한 현상이.. =_= 이번에 또 회고 진행자로 걸렸고, 마침 프로젝트가 끝나가는 시점이기도 해서 평소와는 조금 다른 방법으로 진행해 봤습니다.

회고 방식은 여러 방식이 있지만, 일반적으로 우리팀은 다음 순서로 회고를 진행합니다.

  1. 아이스브레이킹 게임
  2. 각자의 스프린트 소감 공유 (좋은점, 아쉬운점, 배운점, XX에게 고마워요)
  3. KPT (Keep, Problem, Try)
  4. (Try를 통한) Action Item 뽑기
  5. 회고에 대한 회고

이번엔 순서를 조금 바꿔서 진행해 봤습니다. 아이스브레이킹을 살짝 뒤로 밀고, 스프린트 회고가 아닌 2개월 넘게 달려온 프로젝트 회고로 할 얘기들이 많을 것 같아서 속얘기들을 더 많이 끄집어 내보려고 했습니다.

  1. 각자의 스프린트 소감 공유
  2. 아이스브레이킹 게임
  3. 좋았던 점 / 나빴던 점 돌아보기 (Good/Bad)
  4. Action Item 뽑기

아이스브레이킹

아이스브레이킹은 본 프로그램 앞에 어색함을 깨고 이후에 진행되는 프로그램에서 보다 많은 말을 할 수 있도록 하는 웜업(Warm-up) 같은 것입니다. 웜업 없이 갑자기 트래픽 받으면 서버가 힘들어 하듯이, 우리도 매일 보는 사람이지만 갑자기 회의실에 모이면 꿀먹은 벙어리가 됩니다. 편한 내 자리가 아닌 엄숙한 회의실 분위기라서 더 그런지 모르겠습니다. 그래서 아이스브레이킹으로 입을 풉니다. 일단 말을 많이 하게 하면 그 탄력을 받아서 본 프로그램에서도 계속 말을 많이 하게 되는 마법이 생깁니다. (한 번 해보세요. 달라집니다.) 진행자가 말을 많이 하는 것이 아닙니다. 참석자가 말을 많이 하도록 해야 해요.

우리팀은 주로 게임을 많이 하고, 회고 진행자가 이런저런 게임을 생각해 옵니다.

  • 영화의 소리만 들려주고 어떤 영화인지 맞추기
  • 각자 좋아하는 노래제목 을 적어서 회고진행자에게 전달하고, 회고진행자가 각 노래를 보여주면 다른 팀원들이 그 노래가 누가 적은 노래인지 맞추기
  • 노래제목과 유사하게 나는 이런 것들도 해봤다 를 적고 누구인지 맞추기
  • 회고진행자에게 자신을 나타내는 익명의 키워드 하나를 전달하고, 누가 보낸건지 맞추기

아이스브레이킹은 각자 입을 가볍게 해서 말을 많이 할 시동을 거는 방법이기도 하지만, 서로 모르는 사람들이 모인 팀에서 팀원들이 어떤 생각을 하고 있고 어떤 관심사가 있으며 어떤 사람인지를 끄집어 낼 수 있는 좋은 수단이 되기도 합니다. 제가 진행했던 게임은 나는 이런 짓(?)도 해봤다 라거나 나의 과거/현재의 고민거리 를 맞추는 게임 등을 했습니다. 그 팀원이 누구인지 맞추는 과정에도 대화가 많이 나오고 해당 팀원이 에피소드를 설명하는 과정에서도 많은 대화가 오고 갑니다. 나는 이런 짓도 해봤다 에서는 크리스마스 선물을 위해 동네 눈을 다 쓸고 다녔다 라는 대답이 나왔는데, 크리스마스 때 벼락 착한 일을 해서라도 산타 할아버지에게 선물을 받고 싶은 팀원의 고운 마음과 심성을 볼 수 있었습니다. (나만 그렇게 느낀건가?? =_=a 그 팀원은 왠지 다 자란 요즘도 동네 눈을 쓸고 다닐 것 같은 친구인걸 새삼 깨달았습니다.)

팀원들의 생각하는 방식을 조금 더 이해할 수 있고, 팀원에게 조금 더 가까이 갈 수 있는 좋은 방법이라고 생각합니다. 특히 요즘처럼 재택으로 일하는 기간이 길어지면서 옆사람과 잡담할 수 있는 시간이나 기회가 적은 시기에 팀원들을 알아가기 더 없이 좋은 기회인 것 같습니다. 오프라인으로 일하는 자리라면 옆에서 잡담하는 소리가 귀에 들리면 뒤돌아서 함께 이야기를 하면서 서로를 알아가지만, 온라인으로 대부분 일하는 요즘은 이런 자리를 만들기가 쉽지 않습니다. 일부러 티타임을 회의로 잡아서 이야기 하곤 합니다.

사실 제가 진행한 회고에서의 아이스브레이킹 게임은 이렇게 자기만의 생각이나 과거 이야기를 시작할만한 요소들을 적도록 의도된 것들이 많았습니다. (미안해요 팀원 여러분.) 물론, 아이스브레이킹이니 이런 부수적인 것 말고 말을 많이 하도록 시동을 거는 원래의 목적만 잘 달성해도 대성공입니다.

아이스브레이킹은 언제??

그러면 이번 회고 때는 아이스브레이킹을 가장 먼저 하지 않고 왜 회고 진행 순서를 바꾸었을까?? 우리팀 회고 방식에서 아이스브레이킹 게임과 각자의 스프린트 소감을 읽고 나면 1시간 정도가 흐릅니다. 보통 이 정도 시간이 흐르면 집중력이 떨어지고 화장실도 다녀와야 합니다. 더욱이 코로나 이전에 오프라인으로 회고를 할 때는 회사의 양평같은방 / 양평방 을 빌려서 맛난 음식을 시키거나 직접 만들어서 먹으면서 진행 했습니다. 회고는 깊은 속 마음을 끌어내야 하는데 딱딱한 회의실 보다는 편한 내 집 같은 분위기가 딱이고, 마침 회사에는 이런 좋은 공간이 있어 애용했습니다.

그런데, 맛난 음식과 커피를 눈앞에 두고 하다 보니, 먹고 나면 눕고 싶고, 누우면 자고 싶고.. 그러면 스르르 잠이 들고..

오늘은 내가 요리사 잠이가 와요

실장님(이 때는 팀장님)이 라구파스타를 위해 집에서 그 많은 준비를 해오셨는데, 너무 얻어먹기만 하고 죄송해요!!
마치 11명 대가족을 챙기는 아빠 같았음.

회사 시설은 너무 좋아도 안 된다..?? 양평방 만들어 준 봉진님 고맙습니다!! 열심히 사용할게요!!

일한다

사실은 이렇게 열심히 일했답니다!! 워크샵 진행하느라 팀원들이 안 굴러가는 머리 싸매고 하루종일 고생했어요. 어서 코로나가 사라지고 이렇게 다시 모이는 날이 왔으면 좋겠어요.

잠시 옆길로 샜지만.. 이 쯤 되면 아이스브레이킹 게임으로 힘들게 말문을 열었는데, 쉬고 돌아오니 다시 조용해 져서 진행자로서는 기운도 함께 빠집니다. 새로 아이스브레이킹을 해야 할 판이예요. 그래서 아이스브레이킹 순서를 조금 바꾸어 보았습니다. 각자의 스프린트 소감은 회고를 시작하기 전에 미리 적어 두고, 말로 다시 읽어주면서 이 스프린트 동안 이런 느낌으로 일을 했고 이런 것들이 좋고 아쉬웠음을 공유하는 시간입니다. (다른 사람이 적은 것을 눈으로 읽는 것과 직접 말로 전달하는 것의 차이가 있기 때문에, 우리팀은 읽어주는 것을 선호합니다.) 이 내용은 미리 적어오기도 하고 자기 차례가 아닌 대부분은 듣기만 하거나 가벼운 질문을 하는 정도이기 때문에 말문이 서서히 닫힙니다. 휴식시간도 문제였지만, 스프린트 소감도 아이스브레이킹의 효과가 조금 사라지는 지점이기도 해요.

이번 회고에서 가장 말을 많이 하고 의견을 많이 내야 할 포인트는 3번째 있는 좋았던 점 / 나빴던 점 돌아보기 (평소라면 KPT 를 진행하는 순서) 였습니다. 그래서 아이스브레이킹 순서를 바꿔 보았습니다. 미리 적어온 내용을 읽는 부분 보다는 말을 많이 해야 하는 부분 바로 앞으로. 효과는 대만족이었습니다. 평소에는 6개 부터 11개 정도의 의견이 보통 나왔고 많아야 14개 정도가 나왔는데, 이번 회고에는 무려 41개 의견이 나왔습니다. 물론, 이번 회고가 스프린트 회고가 아니라 프로젝트를 돌아보는 것이기 때문에 하고 싶은 말도 많았을지 모릅니다.

오프라인 흉내내기

오프라인에 익숙했던 사람이 갑자기 모든 것을 온라인으로 하다 보면 아주 간단한 것에도 피로도가 쌓이고 성취감이 떨어집니다.

할일거리를 스크럼 보드나 칸반 보드라 불리우는 형태의 화이트보드에 포스트잇으로 붙여둡니다. 일이 진행되는 것을 한눈에 알아볼 수도 있지만, 부수적으로는 일이 끝났을 때 포스트잇을 떼서 DONE 으로 옮겨버리는 것에서 오는 성취감도 있습니다. 그런데 재택근무를 하면서 온라인으로 하다 보니 이 손맛 이 살지 않습니다. 이 손맛 을 살려보려고 Jira의 swimlane 이나 trello 같은 툴을 사용하기도 하지만 조금은 아쉽습니다. (포스트잇이 잘 팔리는 이유는 잘 붙는게 아니라, 떼서 구겨 버리는 이 손맛 에 있는지도..)

팀에서 더 잘 하고 싶은 Keep과 문제라 생각하는 Problem을 적어두고, 더 잘하기 위해 또는 개선하기 위해 해볼 Try를 뽑는 KPT 를 회고 방법으로 쓰고 있습니다. 이 Try를 통해서 다음 스프린트 부터 실행할 Action Item을 만들어 냅니다. 이 KPT 를 할 때도 마찬가지로 손맛 이 필요합니다. 각자 Keep과 Problem, Try를 포스트잇에 간략하게 적어 붙이고 내용을 설명하면서 서로 공감을 하는데, 비슷한 내용도 꽤나 나오기 때문에 떼서 모으기 등을 반복해야 하기 때문입니다. 그리고 한정된 회고 시간에 모든 KPT 를 이야기 할 수 없기 때문에 이야기 해보고 싶은 것들에 투표를 하고 많이 나온 몇 개 내용을 논의 합니다. 이 역시 투표를 위해 스티커를 붙이거나 펜으로 점을 찍는 손맛 이 중요하죠.

온라인으로 회고를 진행하다 보니 포스트잇 대신 함께 작성할 공간이 필요했고, 최근에는 아래처럼 Google Sheets를 사용했습니다.

Google Sheets로 진행한 KPT

내용을 간략히 적고 투표를 하지만, 오프라인으로 모여서 할 때에 느끼던 그 느낌이 없네요. 포스트잇에 내용을 적고, 일어나서 붙이고 돌아오고, 투표하러 따봉 스티커를 챙기고, 다시 붙이고 돌아오는.. 이 모든 느낌을 따라할 수는 없지만, 포스트잇을 붙이고 떼는 행동만이라도 흉내내 보려고 Google Jamboard를 활용해 보기로 했습니다. 잼보드는 화이트보드를 온라인판으로 옮겨온 느낌이예요. 여러 사람이 함께 공유하는 보드를 함께 보면서 정리를 할 수 있습니다. 함께 만들어 가는 것이 재즈의 잼 공연과 비슷한 느낌이 듭니다.

이번 회고는 KPT 가 아닌 좋았던 점 / 나빴던 점 돌아보기 를 개인적인 것과 업무적인 것으로 나눴기 때문에 2X2 형태의 표가 생겼지만, 좋았던 점과 나빴던 점을 Keep과 Problem 으로 보면 KPT 와 크게 다르지 않습니다.

Google Jamboard로 진행한 KPT

컬러풀한 포스트잇 형태의 보드를 보니 Google Sheets 로 적었던 페이지는 왠지 더 정이 가지 않네요. 분명 내용상으로는 똑같은 결과물인데도 말이예요. 그리고 투표를 위해 스티커를 붙여야 하는데, 점을 찍으면 작아서 안 보일 것 같아 고민하고 있을 때 정섭님이 혜성처럼 따봉 스티커를 투척해 주었어요!! 각자 이 따봉 스티커를 복사해서 더 이야기 해보고 싶은 것에 붙였더니 확실히 보드가 살아 있는 것을 느낄 수 있었습니다. (개인적인 느낌인지 모르겠지만, zoom으로 전해지는 팀원들 목소리가 왠지 활기찼습니다.) 내 마음을 정말 강조하고 싶어서 뒤집어서 붙인 포스트잇도 보이네요.

마무리

팀원들이 함께 하기 위해 노력했던 것들을 적어봤습니다. 온라인으로 근무를 하면서도 유지하는 짝 프로그래밍과 잡담할 시간도 없는 팀원들끼리 더 잘 알아가기 위해 노력하는 것들. 그리고 KPT좋았던 점 / 나빴던 점 돌아보기 등으로 오늘 보다 더 나은 팀이 되도록 함께 만들어 가는 것들. 온라인으로 일을 오래 하다 보니 편한 점도 있지만, 익숙하지 않아서 불편한 점도 많습니다. 그렇다고 손놓고 상황이 좋아지기를 기다리는건 나 뿐만 아니라 팀 전체에도 도움이 되지 않기 때문에, 더 나은 팀으로 만들기 위해 노력해야 겠지요?? 배민 상품시스템팀은 이것저것 시도해 보고 있습니다. 혹시 더 재밌는 시도해 볼만한 것들이 있다면 알려주세요.

배민 상품시스템팀은 팀원들 각자가 팀을 위해 목소리를 낼 수 있고, 다른 팀원들은 그 목소리를 귀기울여 줍니다. 저 같은 일개 개발자도 조금씩 팀을 바꿔 나가는 것 처럼요. 함께 하는 문화가 좋으시다면, 여기여기(배민 상품시스템팀 소개)를 확인해 주세요.

고맙습니다. =)

참고