쿠팡을 '개발자 천국'으로 불리우게 하는 것

일반입력 :2014/01/02 15:36    수정: 2014/01/02 17:40

야근, 물론 한다. 개발 진행 상황을 매일 공유하기 때문에 무슨 일을 얼마나 열심히 하고 있는지도 빤히 보인다. 게으름 피울 겨를이 없다.

기자가 직접 찾은 쿠팡은 개발자가 여유롭게 일할 수 있는, 이른바 '신의 직장'과는 거리가 멀어보였다. 그럼에도 쿠팡은 요즘 개발자 세계에서 나름 주목받는 회사로 떠올랐다. 일각에선 쿠팡을 놓고 개발자들의 천국이라는 얘기까지 들린다. 시간적인 여유말고 개발자들의 열정을 자극하는 뭔가가 있다는 뜻일 것이다.

여기저기서 들어보니 열정을 자극하는 뭔가는 개발 문화인 듯 하다.

쿠팡은 개발자로 하여금 해야 할 일을 스스로 정하고 개발에만 집중 할 수 있게 하는 조직문화가 있다. 국내에선 드물게 개발 조직 전체를 애자일 방법론으로 운영한다.

장기 계획을 구체적으로 세우고 계획을 잘 이행하려고 노력하는 것이 ‘워터폴’이라 불리는 기존 소프트웨어 공학 모델이었다면 애자일은 계획을 짧은 단위로 자주 세우고 시장의 변화와 시행착오에 유연하게 대응해 보자는 대안적 방법론이다.

쿠팡의 김명구 스크럼마스터(SM)는 요즘 들어 모든 산업분야가 길게 장기계획을 세워서는 빠르게 변하는 시장에 대처하기가 어렵다며 애자일 방법론의 필요성을 강조했다. “6개월짜리 프로젝트에서 한달 기획하고 개발하다 보니 4개월이 지나 버렸다면 만들어 놓은 제품은 이미 4개월 전 가치일 뿐”이라는 말이다.

쿠팡 개발자들은 어떻게 일하고 있는지 물었다. 김명구 스크럼마스터는 쿠팡에서는 애자일 중에서 스크럼이라고 불리는 조직관리방법과 익스트림프로그래밍(XP)라는 엔지니어링 실행법을 동시에 사용하고 있다고 전한다.

여기서 스크럼마스터는 애자일이 잘 실천돼 팀의 생산성이 높아지고 성장할 수 있게 팀원들을 트레이닝하는 역할을 한다.

김 SM은 헬스클럽에 있는 퍼스널 트레이너(PT)와 스크럼마스터를 비교하며 “운동이 좋은 건 다 알고 있고 또 운동을 하려고 헬스클럽에 가지만 혼자서는 어떤 자세로 운동해야 할지 잘 모르기 때문에 PT가 자세도 교정해주고 같이 운동도 해주지 않냐”며 “스크럼마스터도 각 팀에서 애자일을 잘 실천할 수 있게 트레이닝 해 주는 역할을 한다”고 설명했다.

보통 애자일을 도입하더라도 개발팀장이 스크럼마스터를 겸직하는 경우가 많은데 쿠팡은 각 팀마다 스크럼마스터를 한 명씩 두고 애자일을 지원하고 있다.

그는 먼저 조직운영 방법인 스크럼을 설명했다. 쿠팡은 두 달에 한번씩 20여 개 개발팀이 모여 하루 종일 중기 목표를 세운다. 이때 나온 계획은 구체적인 것이 아니고 큰 방향을 제시하는 정도다.

이를 바탕으로 각 팀의 프로젝트오너(PO)가 업무 우선순위 목록을 만든다. PO는 사용자에게 어떤 가치를 주길 원하는지만 정한다. 김 SM은 세부적인 그림을 그리지 않는 것은 개발자와 디자이너들의 상상력을 제한 할 수 있기 때문이라고 설명했다.

그 다음날 팀원들은 팀 목표에서 앞으로 2주동안 본인이 할 업무를 직접 선택해서 가져가고 구체화시킨다. 보통 회사에서 기획의 역할도 개발자와 디자이너가 맡는다. 팀원들은 2주 동안 본인들이 일을 어느 정도 속도로 얼만큼 어떤 기술을 통해 어떻게 구현할지만 생각하고 여기에 집중하면 된다.

2주 동안 매일 하루 15분 정도 회의를 하는데 이때 자신이 하고 있는 업무 진행상황과 문제점, 다음에 할일 등을 공유한다. 매일 회의를 하는 이유는 역설적이게도 회의에 낭비되는 시간을 줄이기 위해서다. 김SM은 매일 짧게 중요한 이슈를 공유하고 업무시간에는 가능하면 불필요한 회의로 방해받지 않게 하자는 의도라고 설명했다.

2주 동안 가능한 테스트를 모두 끝내고 출시를 해도 문제가 없도록 완결성 있게 마무리하는 것이 목표다. 그래서 쿠팡은 하루에도 수십번의 배포가 일어난 다고 그는 설명했다. 그는 새로운 기능들을 많이 많들어서 '짠'하고 개편하는 것보다 정말 필요한 기능을 적재적소에 빨리 만들 수 있는게 중요하다는데 방점이 찍혀 있다고 말했다.

개발 과정에서는 XP 실천법 중 두 사람이 한 코드를 같이 작성하는 짝프로그래밍법을 쓴다. 한 사람이 키보드를 치고 있을 때 다른 사람이 리뷰를 해주는 방식이다.

김 SM은 “버그가 발생한 시점과 이를 발견한 시점이 멀어질수록 바로잡는데 많인 비용이 발생하는데 리뷰자가 있으면 빠르게 버그를 찾아 낼 수 있는 것이 장점”이며 “같은 코드를 아는 사람이 두 명이기 때문에 조직의 입장에서도 어느 한 사람에 의존하지 않을 수 있다”고 말했다. 리뷰자가 상위에 있는 사람이 아니기 때문에 감시나 부담이 되진 않는다고 한다.

결과물이 나오면 팀원들과 관련된 마케팅팀 영업팀 등의 의사결정자들이 모여 회고의 시간을 갖는다. 이때 살릴건 살리고 별로라고 판단되는 것은 가차 없이 버려진다. 시행착오를 피할 순 없지만 그 기간을 짧게 줄여 발생하는 비용을 최소화하자는 의도다.

계획을 짧게 세우더라도 예상치 못한 변수들로 개발이 지연되기도 한다. 김SM은 “쿠팡에서는 그런 일이 생기면 회고 할 때 추정을 잘하지 못한 이유를 되짚어 보고 변수를 줄일 방법을 찾고 차츰 줄여나간다”고 설명했다.

이 과정을 4번 반복하면 2달 동안 중기목표를 어느 정도 달성하게 되고 또 다시 중기목표를 세우는 것이 쿠팡 개발자들이 일하는 방식이다.

김SM은 애자일 도입으로 쿠팡에서 개발 업무효율이 어느 정도 높아졌다고 말할 순 없지만 개발자들의 낮은 이직률이 만족도를 대변해 준다고 말했다.

그는 “개발자입장에서는 오로지 개발에만 신경 쓰면 되고 개인의 스타일에 따라서 업무 자율성이 있다는 것이 가장 큰 장점”이라며 “회사에서도 개발자들이 번아웃되지 않을 만큼 스스로 업무량를 조절하면서 장기적으로 학습에 투자하는 시간을 늘려 업무와 학습을 병행하도록 독려하는 분위기”라고 전했다. 쿠팡은 같은 직군의 직원들이 주기적으로 모여 스터디하는 ‘애자일 COP’라는 제도도 운영 중이다.

관련기사

회사의 입장에서도 개발자가 개발에만 집중하는 것은 분명 이득이다. 실제 쿠팡이 애자일을 도입하게 된 것도 김범석 대표의 결단이 가장 결정적이었다는 평이다. 개발자 조직에서 애자일을 실천하려는 움직임도 있었지만 김 대표가 회사가 가려는 방향에 애자일 방법론이 가장 적합하다고 판단해 일주일간 모든 업무를 중단하고 조직 구조를 변경하고 컨설팅을 받았다고 한다.

김SM은 개발의 목표가 고객 만족에 있기 때문에 개발자가 개발에만 집중할 수 있게 하는 게 곧 고객에 집중하는 것과 같다”고 설명했다.