분산 개발에 대해 어떤 말을 들었던 간에 분산 개발은 비용이 더 저렴하지도 않고 훨씬 어렵지만, 대신 그만한 가치가 있다. 이달 초 런던에서 열린 몽키 그라스(Monki Gras) 컨퍼런스에서 잭 얼록커는 바로 이 메시지를 전하고자 했다. 그는 그의 경험과 개발자들과 함께 일했던 관리자들 다수의 경험을 조합해서 ‘분산 개발 관리를 위한 12가지 실용 팁’을 전했다.
얼록커는 현재 젠데스크(Zendesk)의 COO며 그전에 MySQL에서 제품 담당 부사장으로 근무했다. MySQL과 젠데스크에서 얼록커는 분산 개발 팀과 일해볼 기회가 전혀 없었다. 그의 설명에 따르면 젠데스크는 두 개의 개발 센터와 네 개의 사무실, 160명의 직원을 두고 있다. MySQL은 분산 개발이 한층 더 진행된 형태를 갖추고 있었는데 당시에만 40개국에 400명 이상의 직원들이 퍼져 있었고, 개발자들 중 95%는 자택에서 근무했다. 이 아래 깔려 있는 기본적인 생각은 "지역과 관계없이 가능한 최고의 개발자들을 고용하자"는 것이었다.
하지만 그러한 생각을 어떻게 실현시킬 수 있을까? 정말 많은 관리자들이 직원들을 같은 사무실에 둬야 한다는 편견에 사로 잡혀 있다. 하지만 직원들이 어디에 있든 자택에서 일할 수 있게 한다면 더 뛰어난 인력들을 고용할 수 있고 생산성을 향상시킬 수 있다.
분산 개발 팀 관리를 위한 실용 팁
얼록커가 아키반(Akiban)의 마크 드비셔에게 전한 첫 번째 팁은 ‘툴셋으로 행동을 정의하라’는 것이다. 기업들은 개발자가 사옥 근처에 있든 대륙 너머에 있든 전세계 어디에서나 접근할 수 있는 툴들을 사용해야 한다. 젠킨스(Jenkins) 같은 지속적인 통합 툴을 사용해 문제들이 곧바로 드러나게 하는 것도 중요하다.
그는 또 적어도 한 달에 두 번은 코드 데모가 가능해야 한다고 덧붙였다. 프로젝트에 문제가 있다면 개발 주기의 마지막에 가서 그것들을 보완할 수 없으므로 그 즉시 고쳐야 한다는 것이다.
또한 프로젝트들은 처음부터 잘 분배해야 한다. 즉 분산 개발 팀에게 적합하게 만들어진 기트허브(GitHub), 머큐리얼(Mercurial) 및 기타 개발 개발 툴들을 사용해야 한다는 말이다. 코드 체큰인은 새로운 커밋(commit)에 대해 간략하고 요점만 설명하는 정보들로 잘 문서화돼야 한다.
소통하라, 하지만 SNS는 신중하게 이용하라
기업들은 직원들이 적당한 소셜 툴들을 사용하게끔 강요할 때 매우 신중할 필요가 있다. 대체로 개발자 팀은 IRC 같이 자신들이 선호하는 툴들로 자연스럽게 모여들 것이다. 팀에서 그것을 사용하고 싶어하지 않는다면 굳이 야머(Yammer)나 37시그널스 스위트(37Signals suite)를 밀어붙이지 말아라. 그러나 그들이 위의 툴들을 사용하기로 한다면 꽤 가치 있는 투자가 될 것이다.
설령 팀이 모두 한 장소에 모여 있다 해도 투명성은 중요하다. 하물며 인력이 분산되어 있다면 투명성은 두 배로 더 중요해진다. 얼록커는 투명성에 대한 팁을 전하기 위해 스티브 윌슨(Steve Wilson)을 인용하며 분산 팀들이 솔직한 요구나 문자로 하는 의사소통에 더 많은 시간을 들여야 한다고 강조했다. 멀리 있는 사람들과 일할 때에는 더 많은 의사 소통이 필수적이다.