brunch

You can make anything
by writing

C.S.Lewis

by 이기곤 Jun 30. 2020

더 나은 개발 팀 만들기

개발 팀이 추구하는 핵심 가치를 찾는 방법, 그 첫 걸음

신입 개발자 시절에는 스스로에 대한 생산성만 신경썼던 것 같다.

하지만 시간이 지날 수록 자신보다는 팀 전체를 신경쓰는 비중이 점점 더 커졌다.


사람마다 추구하는 커리어가 다르기 때문에 단순히 경력이 많다고 팀을 신경써야 하는 건 아니다.

내 경우 테크 리드(Tech Lead)라는 역할에 대한 커리어 욕심이 있기 때문에, 이런 고민을 하는 것 같다.


이 글은 커리어를 쌓아오면서 '더 나은 개발팀을 만드는 방법'에 대해 스스로 고민한 것과 팀원들과 공유한 것들, 그리고 앞으로 해야 할 것들에 대해 정리한 글이다.


더 나은 개발팀?


나는 이상적인 개발 팀을 생각하면 프로게임 팀, 프로스포츠 팀을 떠올린다. 

프로게이머 팀과 프로스포츠 팀은 나름 명확한 목표를 가지고 있다. 그것은 바로 경기에서 우승하는 것이다.

살아온 환경, 나이, 성별, 종교나 인생관까지 다른 이 사람들이 우승이라는 명확한 목표를 가지고 움직인다.  


개발 팀도 크게 다르지 않다. 시장을 압도할 제품을 만드는 것이 우승과 다를 바 없기 때문이다.

그래서 더 나은 개발 팀은, 시장을 압도할 제품을 만들 수 있는 팀에 다가가는 걸 의미한다.


더 나은 개발 팀을 만드는 방법 1


막연하게 더 나은 개발 팀을 만든다고 해서 만들 수 있는 건 아니다. 개개인의 역량도 중요하고, 팀 호흡도 잘 맞아야 하기 때문이다.


개인의 역량을 키우는 방법은 여러가지가 있지만, 그릿(http://www.yes24.com/Product/Goods/32616060)과 탤런트 코드(http://www.yes24.com/Product/Goods/3424313), 그리고 칙센트 미하이의 몰입 이론을 통해 나름 답을 찾을 수 있었다.


그것은 바로 몰입할 수 있는 환경을 만들고 충분히 도전적인 일을 맡김으로써 성장할 수 있는 환경을 제공하는 것이다. 경험을 토대로 비춰봤을 때, 나의 역량 또한 도전적인 일을 끈기있게 할 때 가장 크게 성장했던 것 같다.


하지만 이것만으로는 부족하다. 아무리 개인의 능력이 뛰어나도 팀의 호흡이 맞지 않으면 작은 일에도 쉽게 흔들리고, 서로에 대한 불신으로 생산성이 크게 떨어지곤 했다.

싸움이 잦고, 모든 책임을 회피하려 하고 모든 일에 부정적인 팀이 되기 쉬운 것이다.


더 나은 개발 팀을 만드는 방법 2


팀의 호흡이 잘 맞다는 것은 무엇을 의미할까? 나는 이를 '서로 신뢰할 수 있는 팀'으로 정의한다. 

앞서 이야기했던 프로게임 팀이나 프로스포츠 팀을 생각해보자. 두 형태의 팀 모두 각자의 역할이 명확히 정의되어 있다. 공격을 하는 역할이 있으면, 수비를 하는 역할도 있으며 그 사이에 생기는 빈 공간을 적절히 채워주는 역할도 있다.


이처럼 모든 팀원들은 각자의 자리에서 충실히 자신의 역할을 수행한다. 이 때 서로가 최선을 다하고 있다고 믿는다면 개개인 모두 본인의 역할에 충실할 것이고, 그렇지 않다면 모든 상황에서 '팀원이 제 역할을 다 하지 못했을 때 벌어지는 일'에 대해 생각을 하고 움직이기 때문에 본인의 역할에 충실하지 못하는 경우가 많아진다. 그리고 이는 곧 팀 전체의 역량이 떨어지는 결과를 낳는다.


여기서 중요한 것은 개개인의 역량이 아니다. 서로가 서로를 진심으로 신뢰하고 각자의 역할에 충실할 수 있냐는 것이다. 나는 이러한 믿음이 개발 팀에게도 필요하다고 생각한다.


우리가 서로를 신뢰할 수 있다면, 개개인은 본인의 역할에 충실하게 될 것이다. 그렇게 되면 개개인 모두가 자신이 잘 하는 분야에서 다른 사람들을 이끌 수 있고, 그로 인해 모방에 의한 태도 변경을 형성할 수 있다(이에 대한 이야기는 http://www.yes24.com/Product/Goods/3615186에 자세히 설명하고 있다). 즉 다시 말해, 서로가 서로를 리더로써 이끄는 건설적인 문화가 만들어질 확률이 높아진다는 것이다.


서로를 신뢰하는 방법 - 핵심 가치 찾기


신뢰라는 것은 규약, 즉 서로가 상호간에 정의한 것들을 잘 시켰을 때 생긴다. 그래서 신뢰할 수 있는 팀을 만들기 위해서는 먼저 모두가 동의하는 원칙(Principle)을 세우는 것이 중요하고, 그 원칙을 잘 따르는 것이 중요하다. 이 원칙에는 정답이 없고, 시간이 지나면서 언제든지 바뀔 수 있지만 팀 모두가 동의한다는 점에서 신뢰를 쌓고, 쉽게 흔들리지 않는 팀을 만드는 데 중요한 역할을 한다.


우리가 어떤 원칙을 정한다면, 그 기준에 부합하는 행동을 했을 때 상대방을 신뢰할 수 있다고 정의할 수 있고, 그렇게 하면 서로 신뢰 가능한 팀을 만들 수 있다고 생각한다.


나는 이 원칙을 세우는 데 필요한 가치들을 찾고 팀원들의 의견을 물어보기 위해 키벨류스(https://www.keyvalues.com)에서 필요한 가치들을 고른 후, 설문조사를 시작했다.


감이 잘 오지 않는다면, https://www.keyvalues.com와 같은 웹 사이트를 통해 찾아보자.


여기 모든 결과를 담을 수는 없지만, 크게 두 가지 결과를 공유하려 한다. 설문조사는 서베이몽키(https://ko.surveymonkey.com)를 통해 진행했는데, 무료로 익명 설문조사가 가능했기 때문에 매우 유용했다.


첫 번째로 공유할 것은, 개인이 선호하는 가치를 고르는 설문조사 결과다.

"자신이 선호하는 팀의 가치를 7개 선택해주세요" 에 대한 답변

개인이 선호한다는 말은, 한편으로 '우리 팀에는 이런 것이 부족하다'는 말과도 일치한다고 생각한다. 너무나 추상적인 질문과 답변이지만, 최소한 모두가 공감하는 이 답변들을 토대로 원칙을 만들 수 있다는 점이 중요하기 때문에 이정도로도 충분하다고 본다.


두 번째는 엔지니어링 측면의 설문조사 결과다. 많은 사람들이 코드 리뷰를 원했고, 이를 통해 수준 높은 코드를 만들고 싶어했다. 또한 안정적인 것을 추구하기보다는 납득할만한 수준에서 리스크를 감내하고 다양한 것들을 시도하길 원하는 것 같다.

"엔지니어링 관점에서 지켜야 할 가치는 어떤 것들이 있을까요? 4가지를 선택해주세요." 에 대한 답변


다음 이야기


이 설문조사는 몇달 전에 작성했다. 지금은 나, 그리고 우리 팀 모두가 이 질문에 대한 답변을 토대로 원칙을 세우고 이 원칙들이 잘 동작하는 지, 그러니까 신뢰를 줄 수 있는지 확인하고 있다.

그리고 다시 한번 설문조사를 통해 우리가 올바른 방향으로 가고 있는지 확인해볼 것이다. 사람은 항상 자신이 맞는 방향으로 가고 있는지 확인해야 안심하고, 이러한 사람들이 모여있는 팀 또한 마찬가지기 때문이다(이 문구는 피플웨어 http://www.yes24.com/Product/Goods/13657193 에서 발췌했다).

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari