400명짜리 팀으로 개발할 수 있을까

소프트웨어 개발 업계에서는 아주 오래된 경험에 기반해 늦어지는 프로젝트에 추가로 인원을 투입하면 투입하기 전보다 더 오래 걸린다는 사실을 알고 있습니다. 새로운 인원들에게 프로젝트가 돌아가는 방법을 교육하고 한 사람 몫을 하도록 만드는데 드는 추가 비용이 차라리 그들 없이 개발하는데 필요한 기간보다 더 크기 때문인 경우가 많습니다. 전설 속에 전해 오는 어떤 프로젝트들은 신규 인원의 온보딩 과정을 철저하게 잘 정리해 온보딩에 최소 비용만이 들기 때문에 교육 비용이 최소화 되어 신규 인원을 빠르게 받아들여 추가로 투입된 인원이 빛을 발하기도 한다고 하던데 아직 그런 사례를 한 다리 건너 듣는 수준으로 전해 들은 적은 없습니다.

게임을 빨리 만들면 좋겠다는 생각은 우리들에게 돈을 내는 스폰서 뿐만 아니라 우리들 스스로도 그러기를 원하고 고객들도 그러기를 원할 겁니다. 게임을 더 빨리 만들 수만 있다면 오랜 기간 수입 없이 개발팀 전체를 먹여 살리는데 드는 비용이 줄어들 테니 회사는 우리들에게 적어도 본전 이상은 뽑을 수 있는 게임을 만들어내라며 고객들의 감정을 제어해 결제에 이르도록 하는 여러 메커닉을 연구하며 애증의 표현 ‘매출 귀신’ 같은 소리를 들을 필요도 없고 고객들 입장에서도 이미 이 게임 수명은 끝난 것 같은데 회사에서 이를 인정할 수 없어 지루하게 계속되는, 하지만 거절할 수 없는 업데이트와 성장 인플레이션에 고통 받아 가며 계속해서 플레이 할 필요가 없어질 뿐 아니라 개발 기간이 짧아지니 프로젝트를 운영할 위험성도 감소해서 모두가 행복해질 수 있을 것 같습니다.

한편 지난 십 수년 사이에 중국에서 개발한 게임들이 이전에 한국에서 개발하는 방식으로는 도저히 설명할 수 없는 엄청난 속도로 개발하는 모습을 보며 이미 그 분들은 우리들의 생산성을 아주 오래 전에 추월했고 지금은 이미 비교가 불가능한 수준이라는 사실을 느낍니다. 우리들이 한 3년쯤 피똥 싸며 간신히 만들어 아슬아슬하게 돌아가는 플러이어블을 만들 기간이면 중국에서는 한 1년 좀 넘겨 그 수준에 도달하고 한 2년쯤 되면 이미 컨텐츠를 충분히 갖춰 안정적으로 서비스 할 수 있는 수준에 도달한 다음 런칭해 버립니다. 사람들과 술 마시다가 이쯤 되면 게임 그만 만들고 다른 직업을 알아봐야 하는 것이 아닐까 하는 이야기를 꽤 심각하게 했는데 생산성에서 이 정도 차이가 난다면 사실상 시장에서 경쟁 자체가 성립하지 않을 것이기 때문입니다.

한 가지 희망적인 점은 그들도 사람인지라 그들이 우리가 모르는 마법 같은 방법을 사용해 엄청난 생산성을 유지하는 것은 아니라는 사실입니다. 우리들에 비해 엄청난 기술력과 훌륭한 의사결정 프로세스, 단단한 추진력과 자금력에 기반해 만들고 있기는 하겠지만 이 목록에 우리가 그들보다 못한 점이 많지는 않습니다. 의사결정 프로세스나 추진력, 자금력은 우리 스스로 해낼 수 있지는 않지만 이미 이런 걸 잘 하는 플레이어들이 업계에 널려 있습니다. 여기서 우리가 잘 못하는 것은 개발 속도 그 자체이고 이것이야말로 방금 나열한 항목과 달리 우리들 스스로가 직접 어떻게[ 해볼 수 있는 영역에 해당하기도 합니다.

간단히 말해 우리들이 100명짜리 팀으로 개발하면서 이 커다란 조직으로부터 필요한 수준의 생산성을 끌어내는데 엄청나게 고생하는데 비해 그분들은 400명짜리 팀으로 개발하면서 적어도 표면적으로는 생산성의 뚜렷한 저하 없이 많은 인력을 투입한 효과를 내고 있는 것처럼 보입니다.

더 많은 인력을 투입해 프로젝트를 더 빨리 만들어 위험요소를 줄이는 방법은 이론적으로 가능합니다. 다만 업계에서 100명 전후 규모로 개발하는 것조차 쉽지 않아 허덕이는 마당에 과연 그보다 훨씬 커다란 조직을 운용하기 위해서는 무엇을 어떻게 해야 할 지 아직 잘 모르는 상황입니다. 그렇다 보니 업계에서 어느 정도 기반을 닦은 회사들은 시장에서 경쟁하기 위해 비슷한 고민을 하고 있는 것 같습니다. 한번은 오래 일하신 분을 만나 커피를 마시다가 최근 각자가 하고 있는 고민, 그리고 각자의 조직이나 각자의 회사에서 하던 고민을 공유해볼 기회가 있었는데 그 중 하나는 ‘과연 400명 짜리 조직으로 개발을 할 수 있는가’ 였습니다. 이 고민은 지금까지 이야기한 앞으로 이 업계에서 게임을 개발하며 생존하기 위해 넘어야 할 산 같은 존재라고 할 수 있습니다.

개인적으로 국내에서 흔한 100명 전후 규모 조직을 운용하던 방식과 아주 크게 다르지는 않은 방식으로 400명 규모 조직을 운용해 개발할 수 있다고 생각하는데 이유를 설명하겠습니다.

개발팀 규모가 커질 때 게임 프로젝트가 다른 소프트웨어 개발 프로젝트에 비해 문제를 더 심하게 겪는 가장 큰 세 가지 이유는 먼저 요구사항이 명확하지 않은 상태에서 요구사항을 정확히 이해하지 못한 채 개발을 시작하게 되고 또 개발이 진행됨에 따라 요구사항이 구체화되는데 이 때 구체화된 요구사항이 이전까지의 개발을 매몰비용으로 만들어버릴 가능성이 있으며 마지막으로 개발된 세부 기능 각각이 서로 상호작용하며 만들어내는 예상하기 어려운 문제를 해결하는 과정을 반복하며 개발하기 때문입니다. 종종 요구사항이 명확하지 않은 단계를 없애기 위해 기획서를 미리 다 써 놓고 개발을 시작하면 되지 않겠느냐는 분들을 만난 적이 있는데 이 분들은 그 다음에 설명한 요구사항을 구체화하는 과정을 실제 개발이 아니라 머릿속 시뮬레이션으로만 해낼 수 있다고 믿는 것 같고 이론적으로는 가능하지만 실제로는 우리들이 사고 실험이 가능한 아인슈타인이 아닌 이상 불가능합니다.

또한 문서 상으로는 어지간히 꼼꼼하고 똑똑한 사람이라도 기능 사이에 일어나는 상호작용으로 인한 예상하지 못한 동작을 미리 예상하는 것 역시 쉽지 않습니다. 경험이 쌓일 수록 이를 미리 눈치채는 직관이 발달하기는 하지만 오직 이런 직관에 기대 위험성을 감수하는 것은 이렇게들 많이 하고는 있지만 아주 바람직한 방향은 아닙니다.

그럼 어떻게 하면 400명 짜리 조직으로 개발할 수 있을까요. 팀 전체에서 단 한 명만, 아니면 이 한 명을 대신할 아주 작은 소수 인원으로 구성된 조직이 있고 팀 전체에서 오직 이들만 불행하면 됩니다. 그러면 나머지 399명에서 397명 쯤 되는 사람들은 나름 행복한 상태를 유지하며 개발할 수 있습니다. 그 개인은 게임의 비전을 가지고 있고 비전에 따른 방향성을 제시할 수 있으며 개발이 진행되어 감에 따라 단 한 사람의 취향과 의도에 맞춰 개발이 이루어지도록 관리자 그룹에 일관될 수도 있고 또 일관되지 않을 수도 있는 요구사항을 계속해서 발행하는 역할을 합니다.

이런 개인은 보통 작은 변화에 민감하고 비전을 달성하는데 필요한 기능들을 빌드로부터 본능적으로 느길 수 있지만 실제로 이를 구체화하는데 재능이 없을 가능성이 높은데 단단한 관리자 그룹이 이 비전을 가진 개인으로부터 나오는 요구사항을 실현 가능한 명세로 바꿔 팀 전체의 자원을 통해 개발을 진행시키는 역할을 수행합니다. 이 광기에 찬 개인은 민감하게 수많은 사람들이 관여해서 만든 일관되지 않은 동작을 귀신보다 더 잘 느낄 수 있고 이런 과정을 반복하다 보면 이 개인은 처음엔 멀쩡한 사람이었겠지만 점차 불행해지고 또 종종 광기에 가득 차게 됩니다.

다시 말하면 지금까지 우리가 해 오던 방식과 크게 벗어나지 않는 범위에서, 즉 우리들이 이해할 수 있는 방식에 기반해 400명이 개발하는 더 빠르고 효율적이며 훌륭한 결과를 내놓는 개발팀을 구축하기 위해서는 팀 전체에서 비전을 가진 광기에 찬 개인 한 명을 불행하게 만들면 된다는 이야기입니다. 이 결과로 개발팀은 이론적으로 4배 더 큰 볼륨을 가진 엄청난 게임을 만들거나 기존보다 4배 더 빨리 비슷한 규모의 게임을 만들어낼 수 있습니다.

광기에 찬 개인이 팀을 쥐어 짜 나머지 사람들에게 고통을 일정 부분 전가해 훌륭한 결과를 만들어낸 사례는 세계에 널려 있습니다. 굳이 게임 이름을 말하며 우리들의 멋진 기억을 망가뜨리려 하지는 않겠지만 결국 광기에 찬 게인이 그 광기를 감당하지 못하고 주변 사람들을 함게 불행하게 만들고 나아게 범죄로 이어지거나 소송으로 연결되는 사례를 이미 나라 밖에서 여러 차례 봐 왔습니다. 그럼에도 그 팀에서 나온 결과는 게임 역사에 큰 획을 긋고 오랜 세월에 걸쳐 고객들에게 칭송 받으며 모두의 기억에 남고 또 거대한 경제적 성과를 거뒀습니다.

다만 그 댓가로 어떤 개인들은 마음에 큰 상처를 입어 업계를 떠나거나 성격이 완전히 바뀌어 개발을 계속하게 됩니다. 사실 중국에서 어떻게 그렇게 거대한 인력을 한 팀에 묶어 프로젝트를 완수할 수 있는지 아직 잘 모르겠습니다. 그들에게는 우리가 모르는, 가령 외국에서 그토록 보고싶어하는 삼성전자 반도체 생산 공정을 절대로 볼 수 없는 것처럼 우리들이 그토록 알고 싶지만 여간해서는 알 수 없는 뭔가의 비밀이 있을지도 모릅니다. 다만 우리가 우리들의 경험에 기반해 상상할 수 있는 범위 안에서는 한 사람이나 극 소수로구성된 작은 그룹의 사람들을 광기에 가득한 불행한 사람으로 만들면 규모가 큰 개발을 수행할 수 있습니다.