대규모 문서지옥에서 살아남아 게임 만들기
대규모 게임 프로젝트로부터 쏟아지는 문서들을 어떻게 관리해야 할까요. 제가 좋아하는 컨플루언스를 기준으로 방법을 알아보고 실제 사례를 살펴보겠습니다.

대규모 게임 개발 현장은 최소 수 백 명의 엔지니어, 게임디자이너, 아티스트, QA엔지니어, 운영, 마케터 등이 긴 개발 기간 동안 유기적으로 협업하는 여러 직군에 걸친 다중 파이프라인 환경입니다. 이런 복잡성 속에서 지식 관리와 문서화는 프로젝트의 명확한 목표 설정, 구현 사양의 불일치 완화, 반복되는 시행착오의 완화, 그리고 신규 인원의 온보딩과 지속적인 운영 지원을 가능하게 하는 핵심 기반입니다. 게임 개발 과정에서 하나의 기능이나 시스템이 반복적으로 설계 및 수정되고 다양한 직군이 동시에 참여함에 따라 설계 문서, 아트 가이드, 기술 사양, QA 체크리스트, 밸런싱 데이터, 배포 프로세스 등 수 십 종의 문서가 활발히 생성되고 관리되어야 합니다. 제대로 된 지식 관리 체계가 부재한 상황이라면 같은 실수를 프로젝트의 다른 구성원이 반복하거나 중요한 디자인 변경 사항이 개발에 즉시 반영되지 않는 등 혼란이 발생하여 거대한 규모의 손실로 이어집니다. 유비소프트, 징가, EA 등 글로벌 대형 개발사들은 사내 위키를 적극 도입해 문서의 일관성과 최신 정보를 보장하고 있습니다[^Tips for a More Organized Confluence Space]. 오늘은 컨플루언스를 중심으로 유명한 개발사들의 공개된 사례에 기반해 대규모 개발팀의 문서 관리 방식을 살펴보겠습니다.
초기 소프트웨어 업계에서는 미디어위키, 모인모인, 도쿠위키 등 오픈소스 위키가 널리 활용되어 왔습니다. 이런 위키 시스템들은 단순한 텍스트 기반 하이퍼링크 문서 연결, 협업 기록, 변경 이력 보존 등에서 큰 혁신을 가져왔습니다. 대표적으로 미디어위키는 위키피디아를 통해 전 세계적 표준으로 자리잡았으며 게임 업계에서도 2000년대 길드워, 이브온라인 등 여러 프로젝트에서 커뮤니티와 사내 위키 플랫폼으로 활용되었습니다[^Guild Wars Wiki:About]. 하지만 이러한 초기 위키 시스템들은 기능적 한계가 분명합니다. 표준 템플릿, 워크플로우, 권한 분리, 시각화 및 첨부파일 그리고 동적 컨텐츠 삽입, 강력한 검색 등 현대 게임 개발 조직이 요구하는 복잡한 정책과 유연성을 지원하는데 한계가 있습니다. 개발자 직군이나 이 직군 출신에게는 친화적이지만 아티스트, 게임디자이너, 운영 등 비 기술 직군에게는 높은 사용 난이도와 불편한 인터페이스가 장벽이 되었습니다. 메타데이터 기반 대시보드, 승인 및 변경 관리, 타 프로젝트 및 도구와 연동 기능 역시 미흡한 편이어서 실제 운영 현장에서는 추후 대체되는 경우가 많았습니다.
이러한 한계를 보완하기 위해 구글문서도구, 마이크로소프트 셰어포인트, 노션 등의 클라우드 협업 도구들이 도입되기도 합니다. 구글문서도구는 실시간 동시 편집, 쉬운 공유, 자동 저장과 같은 장점 덕분에 빠른 브레인스토밍과 경량 문서화에 탁월합니다. 셰어포인트는 깊은 조직 구조와 강력한 권한 및 감사 정책, 대용량 파일 관리 등 엔터프라이즈 환경에 적합한 통합 솔루션을 제공합니다. 그러나 대규모 게임 개발 조직에서 요구하는 문서 구조 계층화, 상태 기반 워크플로우, 템플릿 자동화, 지라 등의 작업관리도구나 퍼포스 같은 형상관리도구와 연동, 변경 이력과 메타데이터 기반 대시모드, 유연한 스페이스 정책 등에서는 여전한 한계를 드러냅니다. 특히 구글문서도구와 셰어포인트 기반 프로젝트는 문서의 일관성 관리와 버저닝 이슈, 대용량 조직의 검색에 의한 발견성 저하, 표준 승인 및 변경 정책 부족, 그리고 팀 규모가 커질수록 템플릿, 권한 관리의 복잡성에서 어려움을 겪는 경우가 많습니다. 이러한 이유로 대형 스튜디오들은 컨플루언스로 전환해 문서 중심 협업을 구축하고 있습니다[^Knowledge management using Confluence][^Enterprise Bridge to Confluence]. 게임 산업은 조직 규모, 여러 직군의 통합, 반복적 창작이라는 특유의 복잡성에 대응하기 위해 단순 협업 도구를 넘어선 전문화된 위키 기반 지식 관리 솔루션이 필요합니다. 이제부터 컨플루언스가 이러한 한계에 대응하는 구체적 관리 전략을 살펴보겠습니다.
게임 개발은 다른 소프트웨어 개발 분야와 근본적으로 특성이 다릅니다. 이러한 독특한 환경은 문서화와 지식 관리에도 도전 과제를 제시하며 전통적인 IT 업계의 문서 관리 접근 방법으로는 해결하기 어려운 복합적 요구사항을 만들어냅니다. 게임 개발에서 유일하고 또 진정한 요구사항은 재미라고 할 수 있습니다. 이는 매우 주관적이고 측정하기 어려운 개념으로 실제로 플레이 해 보기 전까지는 성공 여부를 알 수 없다는 특징이 있습니다[^Cowboys, Ankle Sprains, and Keepers of Quality: How Is Video Game Development Different from Software Development?]. 이러한 불확실성은 개발을 ‘카우보이 코딩’이 필요한 분야로 만들며 창의적인 욕구와 기술적 제약 사이의 지속적인 상호작용을 요구합니다. 전통적인 소프트웨어 개발과 달리 게임 개발에서는 반복적 프로토타이핑이 핵심입니다. 하나의 게임플레이 메커니즘을 완성하기 위해 여러 차례의 반복과 수정이 필요하며 각 반복마다 설계 문서 역시 수정되어야 합니다. 가령 세가 스튜디오 샌프란시스코에서 아이언맨을 개발할 때는 일일 블로그 매크로를 두입해 매일의 개발 진행 상황과 설계 변경사항을 기록하고 공유했습니다[^(Case Study) Sega On Game Development Software]. 이러한 환경에서는 문서가 ‘실시간 문서’의 성격을 가져야 합니다. 고정된 스펙 문서가 아니라 지속적으로 변화하는 비전을 담는 그릇 역할을 해야 하며 창작 과정에서 나오는 아이디어들을 빠르게 포착하고 팀 전체와 공유할 수 있는 유연성이 필요합니다. 또한 개인 공간을 활용한 브레인스토밍이 중요한데 이는 창의적 아이디어를 보호하면서도 팀과 공유할 수 있는 안전한 환경을 제공하기 때문입니다[^We’re giving you a personal space…automatically!]. 개인적인 경험 상 이러한 개인 공간을 회사나 프로젝트 차원에서 제공하지 않는 경우 작업자 개개인은 각자의 편한 방식으로 조각 정보를 기록하지만 이 정보는 결코 프로젝트의 정보자산에 통합되지 않고 개인 수준에서 소멸합니다.
게임 개발팀은 엔지니어, 아티스트, 게임디자이너, 사운드엔지니어, QA엔지니어 등 다양한 전문 분야의 창작자들로 구성됩니다. 각자의 창의적 비전을 하나로 통합하는 과정이 게임 개발의 핵심이지만 이는 동시에 가장 큰 도전이기도 합니다[^How is game dev different from standard software development?]. 특히 아티스트와 엔지니어 간의 소통은 전통적인 텍스트 기반 문서만으로는 한계가 있습니다. 컨셉 아트, 3D 모델, 애니메이션, 인터페이스 와이어프레임 등 시각적 자료가 핵심 소통 수단이 되며 이러한 자료들이 기술적 구현과 어떻게 연결되는지를 명확히 문서화해야 합니다. 징가에서 팜빌을 개발할 때는 시각적 컨텐츠 중심의 스페이스를 구축해 아트 에셋 갤러리와 기술 문서를 직접 연결했으며 이를 통해 팀 간 오해로 인한 재작업율을 크게 줄일 수 있었습니다[^(Case Study) Zynga On Game Development Tools]. 또한 게임디자이너가 작성한 게임플레이 메커닉을 엔지니어가 이해하고 구현할 수 있도록 하는 것도 중요한 과제입니다. 이를 위해서는 플레이시나리오, 인터페이스 플로우 다이어그램, 시스템 상호작용 차트 등이 필요하고 이러한 시각화 자료들이 실시간으로 업데이트되고 또 버전 관리되어야 합니다.
게임의 품질은 재미, 몰입감, 감정적 반응 등 주관적이고 측정하기 어려운 요소들로 결정됩니다. 이는 전통적인 소프트웨어의 객관적 품질 지표, 가령 성능이나 안정성, 그리고 기능 완성도 등과는 근본적으로 다른 접근을 요구합니다[^Critical Success Factors to Improve the Game Development Process from a Developer's Perspective]. 플레이테스트 피드백이 설계 변경의 주요 동력이기 때문에 문서 관리 시스템은 이러한 피드백을 신속하게 반영할 수 있는 유연성이 필요합니다. 가령 사이게임즈에서는 비디오 튜토리얼과 문서를 연계해 플레이테스트 결과를 바탕으로 한 수정사항을 즉시 문서에 반영할 수 있는 시스템을 구축했습니다[^Improve manual quality and enhance the efficiency of game development]. 또한 밸런싱 데이터 관리 역시 중요한 과제입니다. 게임의 공격력, 방어력, 경험치, 드랍율 등의 수치는 플레이어의 경험에 직접적인 영향을 미치며 이러한 데이터는 게임 출시 후에도 지속적으로 조정됩니다. 따라서 밸린싱 데이터와 관련 문서가 실시간으로 동기화되고 변경 이력을 완전히 추적할 수 있어야 합니다. 변경 관리에서 특히 중요한 것은 승인된 설계와 개발 중 변경사항의 분리입니다. 유비소프트의 어쎄신크리드 시리즈 개발에서는 ‘Comala Document Management’를 사용해 ‘승인’ 상태에서 ‘개발 중 변경’ 상태로 전환을 체계적으로 관리했습니다. 이를 통해 설계 안정성을 보장하면서도 필요한 변경을 체계적으로 반영할 수 있었습니다[^Confluence Best Practices: What Is The Best Way To Organize Your Confluence Space?].
현대 AAA 게임은 수 십만 개의 텍스처, 모델, 애니메이션, 사운드, 스크립트 등의 에셋과 수 백 기가에서 테라바이트 단위의 데이터를 포함합니다. 이러한 방대한 규모는 문서 관리 시스템에 특별한 도전을 제시합니다. 에셋과 문서의 연결이 핵심 과제입니다. 하나의 캐릭터 모델에는 컨셉 아트, 3D 모델링 가이드, 애니메이션 스펙, 텍스터 스펙, 구현 노트 등 수 십 개의 관련 문서가 있습니다. 이러한 문서들이 에셋과 연결되어 있지 않으면 에셋을 수정할 때 관련 문서를 찾는데 시간을 소모하게 됩니다. 넷플릭스는 15년에 걸쳐 축적된 방대한 문서로 인한 데이터 찌꺼기 문제(Data Cruft)를 겪었습니다. 이를 해결하기 위해 별도 자동 진단 도구를 개발해 테스트를 통해 불필요한 문서들을 체계적으로 아카이빙했습니다[^The space between: Netflix's cloud migration story | Team '23 | Atlassian]. 검색 성능도 중요한 고려사항입니다. 수 천 개의 페이지와 수 만 개의 첨부파일이 있는 환경에서 작업자가 필요한 정보를 빠르게 찾아낼 수 있어야 합니다. 이를 위해 메타데이터 기반 검색, 레벨링 전략, 페이지 프로퍼티 리포트를 활용한 필터링 등이 필요합니다. 또한 다국어 지원도 글로벌 게임 개발에서 필수적입니다. 하나의 게임이 수 십 개의 다른 언어로 현지화되는 과정에서 각 언어 별 문서와 원본 문서 간의 동기화, 번역 진행 상황 추적, 지역 별 특화 요구사항 관리가 복합적으로 이루어져야 합니다. 이러한 게임 개발 업계 특유의 복잡한 요구사항에 효과적으로 대응하기 위해서는 단순한 문서 저장소를 넘어선 통합된 지식 관리 플랫폼이 필요합니다. 이제 이러한 도전과제들을 컨플루언스로 어떻게 해결할 수 있는지 살펴보겠습니다.
컨플루언스의 역사는 2002년 호주 시드니에서 시작되었습니다. 마이크 캐넌 브룩스와 스캇 파쿠아가 대학 졸업 후 창업한 아틀라시안의 두 번째 주력 제품으로 2004년 5월에 출시되었습니다[^Evolution of a titan: A timeline in the history of Atlassian]. 당시 창업자들은 기존의 미디어위키나 도쿠위키 같은 단순한 위키 시스템의 한계를 극복하고 기업 환경에 특화된 협업 플랫폼을 만들고자 했습니다. 컨플루언스 초기 버전들은 전형적인 위키 기반 문서화 도구 성격이 강했습니다. 2004년 출시된 컨플루언스 1.2는 페이지 목록 보기, 이미지 썸네일, 스레드 댓글, 향상된 검색 기능 등 기본적인 위키 기능을 제공했습니다[^Confluence Release Summary]. 이후 2005년 컨플루언스 2.0에서 위지윅 편집기와 레벨링 시스템을 도입하며 단순한 위키를 넘어 협업 플랫폼으로 변화하기 시작했습니다. 특히 중요한 전환점은 2011년입니다. 아틀라시안은 기존 위키 마크업 언어를 제거하고 평문 편집 방식으로 전환하는 과감한 결정을 내렸습니다. 이는 기술적 배경이 없는 사용자들됴 쉽게 문서를 작성할 수 있도록 하는 중요한 변화였으며 개발팀의 아티스트, 게임디자이너들이 부담 없이 사용할 수 있는 환경을 조성했습니다. 2012년에는 아틀라시안 마켓플레이스를 출시하며 컨플루언스는 협업 도구에서 확장 가능한 플랫폼으로 변화했습니다. 현재 5700개 이상의 앱과 통합할 수 있으며 누적 매출 5억 달러를 넘어서는 생태계를 구축했습니다. 이는 게임 개발 환경에서 요구되는 유니티나 언리얼, 퍼포스, 마야 등과 통합을 가능하게 하는 기반이 되었습니다. 최근에는 AI 기반 기능과 화이트보드, 게이터베이스 등을 통합해 지능형 협업 플랫폼으로 변화하고 있습니다[^Features for knowledge management and project collaboration]. 이러한 변화는 게임 개발의 창의적 워크플로우와 시각적 협업 요구사항에 어울리는 환경에 가깝습니다. 2024년 기준 컨플루언스는 전 세계 10만개 이상의 조직에서 사용되고 있으며 지식 관리 분야에서 1.88%의 점유율을 차지합니다[^Atlassian Confluence Usage Statistics And Facts (2025)]. 이는 마이크로소프트 셰어포인트에 이어 두 번째로 큰 시장 점유율로 특히 중간 규모 이상의 기술 조직에서 압도적인 선택을 받고 있습니다. 시장 규모를 살펴보면 미국, 영국, 독일 순으로 선진 기술 시장에서 강세를 보이고 있습니다. 업계 별로는 정보기술 서비스, 컴퓨터 소프트웨어, 금융 서비스가 주 사용 분야이며 게임 개발이 포함된 엔터테인먼트 및 미디어 섹터에서도 꾸준하게 사용되고 있습니다[^Companies using Atlassian Confluence]. 기업 규모 별 채택 현황을 보면 직원 수 1000명 이상의 기업이 30%, 50명 이상의 중견기업의 46%ㅡ 소규모 기업이 24%를 차지하고 있습니다. 이는 컨플루언스가 대규모 게임 개발 조직에서 강력한 위치를 차지하고 있음을 보여줍니다. 경쟁 환경에서 컨플루언스는 독특한 위치를 차지하고 있습니다. 셰어포인트가 마이크로소프트 생태계 통합에 강점을 가지고 있다면 컨플루언스는 애자일 개발 워크플로우와 창의적 협업에 특화되어 있습니다[^Confluence vs SharePoint: Which One is Right for Your Team?]. 특히 지라와 네이티브 통합은 게임 개발의 반복적 프로세스와 이슈 추적에 최적화된 환경을 제공합니다.
컨플루언스가 게임 개발 업계에서 주로 선택되는에는 네 가지 강점이 있습니다. 먼저 통합성입니다. 컨플루언스는 지라와 완전한 연동을 통해 이슈 추적과 문서화를 단일 워크플로우로 통합합니다[^5 Business Benefits of Integrating Confluence and Jira]. 게임 개발에서 버그 리포트, 기능 요청, 플레이테스트 피드백이 지라 티켓으로 생성되면 관련 설계 문서와 자동으로 연결되어 맥락을 잃지 않는 협업을 할 수 있습니다. 또한 빗버켓이나 뱀부 등의 아틀라시안 생태계와 통합 뿐 아니라 아틀라시안 마켓플레이스 익스텐션을 통해 유니티, 언리얼엔진, 퍼포스 같은 게임 개발 도구들과 연계를 지원합니다. 다음으로 확장성입니다. 컨플루언스 클라우드는 단일 사이트에 최대 15만 명의 사용자를 지원합니다. 또한 다양한 마켓플레이스 앱을 통해 기능을 확장할 수 있습니다. 개발팀이 성장하며 새로운 도구나 워크플로우를 필요로 할 때 기존 문서 구조를 유지하며 새로운 기능을 추가할 수 있습니다. 커스터마이징과 표준화가 균형을 유지하면서도 조직의 성장에 맞춰 확장할 수 있습니다[^Advantages of Confluence in Project Management]. 샛째는 시각화입니다. 게임 개발의 핵심은 시각적 협업을 위해 컨플루언스는 화이트보드, 글리피 다이어그램 등의 시각화 도구를 제공합니다[^Visual collaboration with Whiteboards]. 아티스트의 컨셉아트, 게임디자이너의 인터페이스 플로우, 프로그래머의 시스템 아키텍처가 단일 문서를 통해 실시간으로 협업할 수 있습니다. 이는 게임 개발의 여러 직군에 걸친 협업에 최적화된 환경을 제공합니다[^Miro embed for Confluence: visual collaboration that enables teams]. 마지막으로 거버넌스입니다. 컨플루언스는 글로벌, 스페이스, 페이지에 걸친 세 단계의 권한 체계를 통해 세분화된 접근 제어를 제공합니다[^Confluence permissions structure]. 게임 개발에서 중요한 기밀 정보 보호, 승인 워크플로우, 변경 이력 추적을 체계적으로 관리할 수 있습니다. 앞서 언급한 ‘Comala Document Management’ 같은 고급 승인 프로세스와 페이지 프로퍼티 기반 메타데이터 관리를 통해 대규모 프로젝트에서도 문서 품질과 일관성을 유지할 수 있습니다[^Permissions best practices]. 이러한 네 가지 강점은 게임 개발의 창의성, 복잡성, 협업성, 품질 관리 요구사항을 종합적으로 해결하는 통합 플랫폼으로써 컨플루언스의 독특한 가치를 만들어냅니다. 이어서 이러한 강점들이 게임 업계의 특수한 요구사항에 어떻게 적용되는지 구체적으로 살펴보겠습니다.
게임 개발의 고유한 특성들은 컨플루언스 사용 방식에도 독특한 접근법을 만들어냅니다. 창의적 반복, 시각적 협업, 주관적 품질 관리라는 게임 업계의 요구사항들이 문서 관리 정책에 어떻게 반영되어 왔는지 살펴보겠습니다. 게임 개발에서 가장 중요한 문서인 게임 디자인 도큐먼트(GOD)는 전통적인 소프트웨어의 요구사항 문서와 본질적으로 다릅니다. GOD는 상시 업데이트 되는 문서로써 개발 과정 전반에 걸쳐 계속해서 수정되어 나가야 합니다[^Learning the Ways of the Game Development Wiki]. 이러한 특성을 지원하기 위해 게임 스튜디오들은 컨플루언스에 특별한 자동화 전략을 채택하고 있습니다. 실시간 업데이트가 가장 중요합니다. 앞서 소개한 세가 스튜디오 샌프란시스코에서는 일일 블로그 매크로와 GOD를 통합했습니다[^(Case Study) Sega On Game Development Software]. 이를 통해 매일 개발 진행 상황, 설계 변경사항, 플레이테스트 피드백이 자동으로 문서에 반영되어 GOD가 항상 최신 상태를 유지할 수 있었습니다. 개발자들은 어제 무엇이 바뀌었는지, 왜 바뀌었는지, 다음에 무엇을 해야 하는지를 한번에 파악할 수 있었습니다. 템플릿 자동화도 중요한 요소입니다. BfB Labs에서 치료용 게임을 개발할 때 기본 승인 워크플로우와 함께 커스텀 GOD 템플릿을 활용했습니다[^BfB Labs Builds Therapeutic Video Games with Confluence Cloud, Jira and Comalatech]. 새로운 게임 기능이나 시스템이 추가될 때마다 개요, 메커니즘, 밸런싱, 테스트 결과와 같은 표준 섹션이 생성되어 개발팀이 일관된 형식으로 문서를 작성할 수 있었습니다.
게임 개발의 창의적 특성 상 브레인스토밍과 실험이 중요합니다. 이를 위해 게임 스튜디오들은 개인 공간과 팀 스페이스를 구분해 운영합니다[^How to Organize Your Work Life with Your Confluence Personal Space]. 개인 공간은 창의적 샌드박스 역할을 합니다. 아티스트는 개인 공간에서 컨셉아트 초안을 실험하고 게임디자이너는 새로운 게임플레이 아이디어를 자유롭게 기록할 수 있습니다[^How to Make the Most Out of Your Confluence Personal Space]. 화이트보드를 활용한 아이디어 맵핑, 글리피 다이어그램을 통한 시스템 설계 실험, GOD 초안 작성 등이 모두 개인 공간에서 이루어집니다. 이렇게 개인 공간에서 충분히 다듬어진 아이디어만 팀 스페이스로 이동해 공유되어 팀 스페이스의 품질을 유지할 수 있습니다. 팀 스페이스는 협업과 통합에 집중합니다. 개인 공간에서 검증된 아이디어들이 팀 스페이스에서 스테이터스 매크로를 통해 ‘드래프트’, ‘리뷰’, ‘승인됨’, ‘개발중’ 상태로 관리됩니다[^What is a Confluence personal space? Here's how to use it]. 팀 스페이스에서는 페이지 프로퍼티 리포트 매크로를 사용해 모든 문서의 상태와 담당자를 실시간으로 추적할 수 있으며 지라 이슈 연동을 통해 개발 작업과 직접 연결됩니다.
게임 개발은 본질적으로 시각적 매체를 다루므로 텍스트만으로 전달할 수 없는 정보가 많습니다. 이를 해결하기 위해 게임 스튜디오들은 컨플루언스의 다양한 시각화 매크로를 활용합니다[^Visual collaboration with Whiteboards]. 화이트보드와 컨셉보드 활용이 대표적입니다. 아티스트와 게임디자이너가 실시간으로 협업할 수 있는 캔버스를 제공해 캐릭터 디자인, 레벨 레이아웃, 인터페이스 와이어프레임을 동시 작업할 수 있습니다[^How to use Confluence Whiteboards]. AI 기반 스티키 노트 생성을 사용해 브레인스토밍 세션을 효율화하고 아이디어를 자동으로 그룹화 해 아이디어를 체계적으로 정리할 수 있습니다. Miro나 draw.io 통합도 중요한 요소입니다. 복잡한 플레이시나리오 다이어그램, 서비스 디자인 등은 각각의 도구에서 작성한 다음 컨플루언스 페이지에 임베딩 해 문서화와 시각화 장점을 모두 활용합니다. 이렇게 생성된 시각화 자료들의 업데이트 내역은 문서에 실시간으로 반영되며 동시에 편집할 수 있어 효율을 크게 높입니다. 밸런싱 데이터 시각화는 게임 특유의 요구사항입니다. 전통적으로는 테이블 매크로와 페이지 프로퍼티 매크로를 조합해 대미지, 경험치, 확률 등을 동적으로 관리하고 현대에는 데이터베이스 매크로를 사용해 관리할 수 있으며 이러한 데이터가 변경될 때 관련 문서들이 자동으로 업데이트 되도록 구성할 수 있습니다.
게임 개발의 반복적 특성과 주관적 품질 기준을 관리하기 위해서는 유연하고 체계적인 승인 워크플로우가 필요합니다. 게임 스튜디오들은 스테이터스 매크로와 Comala Document Management를 조합해 이런 요구사항에 대응합니다[^Status Macro]. 스테이터스 매크로는 문서의 현재 상태를 시각적으로 표현하고 또 데이터상에 표시되도록 합니다. ‘드래프트’, ‘리뷰’, ‘플레이테스트’, ‘승인됨’, ‘개발중 변경’ 등의 상태를 색상 별로 구분해 문서의 진행 상황과 현재 상태를 파악할 수 있습니다[^Confluence Tips and Tricks: Using Interactive Statuses]. 특히 게임 개발에서는 프로토타입을 통한 플레이테스트 단계를 추가해 검증이 완료된 후 승인이 이루어지도록 합니다. Comala Document Management는 좀 더 정교한 승인 프로세스를 지원하는데 이는 지라 워크플로우와 무척 비슷합니다[^Document Approval Workflows in Confluence: Approval Path vs. Comala Document Management]. BfB Labs의 개발 과정에서는 의료진 승인, 게임디자이너 승인, 품질 보증 승인의 3단계 워크플로우를 구성해 각 전문 분야의 검토를 거쳐야만 문서가 승인되도록 했습니다. 전자 서명 확인 기능을 통해 컴플라이언스 요구사항 역시 충족했습니다.
게임 개발에서는 승인된 설계라도 개발 과정에서 지속적인 수정이 일어납니다. 플레이테스트 결과, 기술적 제약, 시장 반응 등에 따라 재미를 최적화하기 위한 변경이 필요하기 때문입니다. 이를 체계적으로 관리하기 위한 ‘개발 중 변경’ 관리 시스템이 필요합니다. ‘개발중’ 상태 전환 메커닉을 통해 승인된 문서의 안정성을 보장하면서도 필요한 변경을 수용할 수 있습니다. Comala Document Management에서는 ‘승인됨’ 상태에서 ‘개발 중 변경’ 상태로 전환할 수 있는 버튼을 제공하며 이 때 변경 사유와 담당자를 입력하도록 합니다. 상태 전환과 동시에 관련 팀원들에게 알림을 보내 변경사항을 인지할 수 있습니다. 권한 제어를 정교하게 설계할 수 있습니다. ‘승인됨’ 상태에서는 모든 팀원이 읽기 전용 권한을 가지지만 ‘개발중’ 상태로 전환되면 엔지니어 그룹에게 편집 권한이 부여됩니다. 이를 통해 승인된 설계가 무분별하게 변경되는 것을 방지하면서도 필요한 수정사항을 반영할 수 있습니다. 자동 스냅샷 시스템은 변경 이력을 완전하게 추적합니다. 문서 상태가 전환될 때마다 페이지 프로퍼티에 타임스탬프, 변경한 사람, 변경 사유가 기록되고 퍼포스 연동을 통해 코드 저장소에도 이 시점의 태그가 생성됩니다. 이렇게 하면 언제라도 승인된 원본 설계와 개발 중 수정된 설계를 비교하고 검토하거나 복원할 수 있습니다.
게임 프로젝트는 명확한 마일스톤 단계가 있으며 각 단계 별 문서의 완전한 보존이 필요합니다. 이는 단순히 오래된 문서를 정리하는 것이 아니라 프로젝트 히스토리와 학습 자료로써 가치를 보존하는 전략입니다[^An easy process to archive old Confluence pages]. 마일스톤 스냅샷은 각 개발 단계가 완료될 때마다 전체 프로젝트 스페이스의 완전한 복사본을 생성합니다. 가령 M4, M5 등의 아카이브 스페이스를 만들어 해당 시점의 모든 문서, 에셋, 의사결정 기록을 보존합니다[^Archive content items]. 이렇게 보존된 스냅샷은 후속 프로젝트의 참고 자료로 활용되고 또 포스트모템의 기초 데이터로 사용됩니다. 읽기전용 전환은 단계적으로 진행됩니다. 프로젝트가 다음 마일스톤으로 넘어가면 이전 단계 문서들은 편집 권한이 제거되고 읽기 전용으로 전환됩니다. 하지만 검색에 여전히 포함되어 필요할 때 빨리 찾을 수 있습니다[^Better Content Archiving for Confluence Data Center]. 이러한 과정을 도와주는 전문적인 도구를 사용하면 자동화된 수명 주기 관리를 통해 일정 기간 동안 접근되지 않은 문서들을 자동으로 아카이브 할 수도 있습니다. 이러한 아카이브 전략을 통해 게임 스튜디오들은 현재 작업의 효율성을 유지하면서도 과거 경험의 가치를 보존할 수 있습니다. 특히 어쎄신크리드나 콜오브듀티 등의 대규모 시리즈 게임에서는 이러한 히스토리가 새로운 시리즈의 설계 기반이 되어 개발 속도와 품질을 향상시킵니다[^Technical Writer - Blizzard Entertainment][^How Activision streamlined game development with Integration+ for Slack]. 게임 업계의 이러한 특수한 요구사항들이 컨플루언스 관리 정책에 반영되어 단순한 문서 저장소를 넘어선 창의적 협업 허브가 만들어집니다.
대규모 게임 개발 프로젝트는 수 백 명에서 수 천 명의 인력이 참여하고 수 년 단위의 긴 개발 주기를 거치며 수 십만 개의 에셋과 수 천 건의 문서를 생산합니다. 이런 환경에서 문서화는 단순한 기록이 아니라 협업의 중추 신경 역할을 수행하지만 동시에 여러 가지 심각한 도전 과제를 마주하게 만듭니다. AAA 게임 프로젝트 하나는 게임 디자인 문서, 기술 스펙, 아트 가이드라인, QA 플랜, 운영 매뉴얼 등 수 십 종 이상의 문서가 있습니다. 어쎄신크리드 발할라 프로젝트는 다섯 개 언어로 번역된 1200개 이상의 페이지와 수 천 개의 첨부파일을 관리했으며 이로 인해 검색 성능 저하와 중복 문서 발생 문제가 일어났습니다[^How do I manage pages with content in multiple languages?][^Confluence Best Practices: What Is The Best Way To Organize Your Confluence Space?][^Learning the Ways of the Game Development Wiki]. 이러한 정보 과부하는 개발자가 원하는 정보를 찾는데 소요되는 시간을 크게 늘립니다. 넷플릭스 역시 10만개 이상의 컨플루언스 페이지로 인해 검색 결과에 불필요한 문서가 섞여 나오는 문제를 겪었으며 이를 위해 별도 도구를 개발해 비활성 스페이스를 아카이빙해 검색 성능을 개선했습니다.
글로벌 스튜디오들은 미국, 유럽, 아시아 등 여러 지역에 분산되어 협업을 수행합니다. 유비소프트의 어쎄신크리드 발할라 개발팀이 30개국 이상에 흩어져 있었고 언어, 문화 차이로 인한 문제를 줄이기 위해 다국어 스페이스와 용어집 스페이스를 운영했습니다[^UNIVERSAL REGISTRATION DOCUMENT][^A Linguistic Guide to Assassin’s Creed: Valhalla]. 또한 엔지니어, 게임디자이너, 아티스트, 사운드 디자이너 등 여러 직군의 팀원들이 각기 다른 언어와 포멧을 사용하는 탓에 문서 포멧을 통일하는 것 자체가 도전이었습니다. 이 문제를 해결하기 위해 징가는 페이지 프로퍼티와 페이지 프로퍼티 매크로를 사용해 각 페이지에 ‘담당자’, ‘최종 업데이트’, ‘언어’, ‘상태’를 메타데이터로 삽입하고 대시보드에 통합 조회되도록 해 팀 감 투명성을 확보했습니다[^(Case Study) Zynga On Game Development Tools][^Improve manual quality and enhance the efficiency of game development]. 게임의 재미와 밸런스는 플레이테스트, 피드백, 수정 사이클을 수 십 차례 반복하며 완성됩니다. 그때마다 GOD와 밸런싱 데이터, QA 체크리스트가 갱신되어야 하는데 이는 문서 유지보수 부담을 크게 증가시킵니다. EA의 FIFA 22 프로젝트는 매주 라이브 피드백을 문서로 기록하고 스테이터스 매크로를 통해 ‘개발중 변경’ 상태로 전환해 변경 이력을 추적했습니다[^4 Metrics for Video Game Project Management]. 동시에 컨플루언스의 지라 연동 스크립트를 통해 단계적 배포 이슈와 문서 상태를 자동으로 동기화해 매 주 평균 50여건의 문서 업데이트를 한 달에 걸쳐 안정적으로 처리했습니다. 프로젝트 주기가 길어지면 레거시 문서가 누적되어 메인 스페이스의 사용성을 떨어뜨립니다. 징가는 분기 별 이벤트 스페이스를 자동 삭제하고 지속 운영이 필요한 라이브 옵스 문서만 남겨 메인 스페이스 부하를 줄였습니다. 넷플릭스는 12개월 이상 사용되지 않은 스페이스를 아카이브했고 검색 색인에는 남겨두되 메인 인스턴스 결과로부터 제외해 검색 성능을 개선했습니다.
대규모 게임 개발 조직들은 컨플루언스를 단순한 지식 저장소 이상의 협업 허브로 활용해 복잡한 워크플로우를 관리하고 출시와 운영을 지탱하고 있습니다. 이번에는 앞서 언급한 유비소프트와 징가의 사례를 살펴보고 또 넷플릭스나 페이팔의 구체적 정책도 함께 알아보겠습니다. 유비소프트의 글로벌 프로젝트인 어쎄신크리드 발할라는 전 세계 30여개국의 스튜디오에서 800명 이상의 개발자가 참여한 대형 협업 환경이었습니다. 컨플루언스가 이 프로젝트에 수행한 역할을 살펴봅시다. 첫째, 스페이스 구조화입니다. ‘AC_Valhalla_Project’라는 메인 스페이스 하위에 디자인, 아트, 엔지니어링, QA, 로컬라이제이션 등의 계층을 나눠 문서를 명확히 분리해 관리했습니다. 둘째, 템플릿과 매크로를 적극적으로 활용했습니다. GOD 페이지는 글리피 매크로를 사용해 시각적 표현과 인터페이스 와이어프레임을 삽입하고 페이지 프로퍼티 매크로를 사용해 페이지의 메타데이터를 일관되게 관리했습니다. 셋째, Comala Document Management를 통한 승인, 변경 관리입니다. ‘드래프트’, ‘리뷰’, ‘승인’, ‘개발 중 변경’의 네 단계의 워크플로우를 정의해 상태 전환마다 슬랙 알림과 지라 에픽 동기화를 자동화했습니다. 넷째, 아카이브 전략입니다. 마일드톤 별 스냅샷 스페이스를 생성하고 프로젝트 종료 90일 웋 읽기전용 스페이스로 이관해 메인 스페이스를 최적화했습니다[^Tips for a More Organized Confluence Space]. 징가의 팜빌은 라이브 이벤트와 실험이 빈번한 소셜 게임으로 매 주 수 십 건의 밸런싱 업데이트와 이벤트 문서가 생성되었습니다. 징가는 컨플루언스의 기능을 통해 운영 부담을 줄였습니다. 먼저 기능 별 계층구조입니다. 라이브 옵스, 이벤트, 유료화, 기술 문서 등 기능 단위로 스페이스를 분리해 각 분야 문서를 독립 관리했습니다. 이벤트 종료 후 임시 스페이스를 30일 내 삭제하도록 스크립트를 운영해 각 스페이스의 부담을 줄였습니다. 다음으로 페이지 프로퍼티 및 페이지 프로퍼티 리포트 매크로를 사용해 담당자, 업데이트 날짜, 언어, 상태 등 메타데이터를 삽입했습니다. 이를 통해 리뷰 상태 문서만 필터링 해 QA팀이 우선 검토하도록 하는 식으로 효율을 개선했습니다. 마지막으로 스테이터스 매크로를 사용해 문서 상단에 문서 상태 태그를 삽입하고 상태 변화가 일어나면 담당자 알림 및 지라 티켓 연계를 자동화했습니다.
한편 라이엇게임즈는 컨플루언스를 전사 인트라넷으로 활용해 개발 문서 뿐 아니라 공지, 정책, 가이드, 팀 별 위키 등 사내 모든 정보를 통합했습니다. 흥미로운 점은 스크립트러너 플러그인으로 컨플루언스에 라이브 스트림 비디오 임베딩 기능을 구현한 점입니다[^Utilizing ScriptRunner for Confluence plugin to play livestream video]. 이를 통해 사내 공지 채널에서 컨플루언스 링크를 클릭하면 개발자 및 운영팀이 동시에 라이브 개발 브리핑에 참여할 수 있었습니다. 이로 인해 라이엇은 분산된 팀 전원이 한 번의 클릭으로 라이브 이벤트에 참여하고 스트리밍 자료와 연동된 문서를 실시간으로 확인할 수 있도록 했습니다. 물론 수많은 다른 도구가 비슷한 기능을 제공하지만 이벤트에 사용할 컨플루언스 문서 스스로가 이러한 기능을 제공하도록 한 것에 의미가 큽니다. 또 CDPR은 위처 3의 모딩 도구인 REDKit 사용자 가이드를 컨플루언스를 통해 호스팅하고 있습니다[^The Witcher 3 REDkit]. 유저 가이드 페이지를 통해 설치, 환경설정, 월드편집, 퀘스트 및 NPC 편집, 애니메이션과 사운드 설정에 걸쳐 단계 별 튜토리얼을 제공하고 있습니다. 이를 통해 모더 커뮤니티가 개발자 툴을 동일한 환경에서 학습하도록 했습니다. 또한 페이지 권한을 통해 내부 개발자와 커뮤니티 기여자를 분리해서 관리하고 있습니다.
넷플릭스는 클라우드 인프라 마이크레이션 프로젝트에서 컨플루언스를 지식 허브로 사용했습니다. 수 천 개의 문서와 커스텀 스크립트, 보안 가이드, 마이그레이션 체크리스트가 컨플루언스에 저장되었고 몇 가지 전략을 적용했습니다. 먼저 별도 개발한 진단 도구로 비활성 스페이스와 오래된 문서를 식별해 아카이빙 전용 인스턴스로 이관했습니다. 다음으로 엘라스틱서치 클러스터를 증설하고 인덱스를 최적화해 검색 속도를 개선했는데 이는 앞에 살펴본 다른 사례에서 페이지와 스페이스를 아카이빙 해 검색 속도를 개선하는 것과는 상당히 다른 접근입니다. 그리고 깃 연동 자동 스냅샷을 도입해 보안 가이드 등 중요 문서의 상태가 전환될 때마다 ‘security-guide-v2-indev’와 같은 리파지토리 태그를 생성해 변경 이력을 보존했습니다. 한편 금융 기업인 페이팔은 13000개 이상의 컨플루언스 스페이스를 라이브, 완료, 사용종료의 세 등급으로 구분한 페더레이션 아카이브 모델을 도입했습니다. 먼저 프로젝트가 완료되면 완료 상태로 전환한 다음 6개월 동안 보존하고 이후 사용종료 상태로 이동하도록 정책화했습니다. 연합 아카이브 사이트에 사용종료 스페이스를 집중 보관해 메인 검색으로부터 제외해 성능을 유지했습니다. 또한 정기적으로 보고서를 생성해 슬랙으로 발행해 유휴 스페이스와 만료 예정 스페이스를 관리자가 확인할 수 있도록 만들었습니다. 이러한 정책을 통해 대규모 컨플루언스 사이트가 너무 거대해지지 않도록 관리하고 또 빠른 접근을 유지할 수 있었습니다.
대규모 게임 개발 환경에서 컨플루언스를 도입할 때는 체계적인 로드맵, 조직에 최적화된 구조, 일관된 템플릿과 매크로 활용, 강력한 온보딩 프로세스, 지속적 성과 측정 단계가 필요합니다. 먼저 단계 별 전환 로드맵을 수립해야 합니다. 초기에는 소규모 파일럿 팀을 선정해 컨플루언스 기본 기능인 페이지 작성, 댓글, 레이블 등을 경험하도록 유도합니다. 이후 핵심 팀으로 확장하면서 페이지 프로퍼티, 스테이터스 매크로 등의 고급 기능을 순차 도입합니다. 마지막 단계로는 전사적 통합 및 외부 연동 자동화를 완료하는 과정을 거칩니다. 다음으로 조직 구조에 맞춘 스페이스 설계가 필요합니다. 글로벌 프로젝트는 프로젝트 스페이스와 기능 별 계층구조 패턴이 효과적입니다. 네이밍 규칙을 통일하고 각 스페이스에는 담당 팀만 접근할 수 있도록 권한을 설정합니다. 이러한 규격화된 네이밍과 권한 설정은 징가의 팜빌 라이브옵스 이벤트 문서 관리에 성공적으로 적용되었습니다. 또한 템플릿과 매크로 라이브러리를 구축해 문서 일관성을 유지합니다. GOD, 기술 스펙, 회의록, 밸런싱 데이터 등 주요 문서 유형 별로 표준 템플릿을 만들고 테이블, 글리피, 페이지 프로퍼티 매크로를 사전에 삽입해 반복 작업을 줄여야 합니다. 어쎄신크리드 발할라 프로젝트에서 미리 정의한 GOD 템플릿은 현지화 팀과 개발 팀 간 협업 효율을 향상시켰습니다. 마지막으로 개인 공간에 플레이북을 마련합니다. 신규 입사자는 개인 공간에서 직접 템플릿 실습, 매크로 전환, 다이어그램 삽입 등을 직접 수행하며 컨플루언스 사용법을 익히도록 합니다. 마지막으로 지표 측정을 통한 지속적 개선이 필요합니다. 페이지 수정 빈도, 승인 워크플로우 대기 시간, 검색 응답 시간, 중복 문서 발생률 등의 지표를 정기적으로 모니터링해야 합니다. 넷플릭스는 검색 속도와 사용량 지표를 개선한 후에도 분기 별 리뷰를 통해 유지보수를 수행했습니다.
현대에는 컨플루언스 뿐 아니라 다양한 대규모 문서관리 도구가 있습니다. 대규모 게임 프로젝트로부터 쏟아지는 문서와 이들이 만들어내는 문서지옥으로부터 살아남아 프로젝트를 완수하기 위해서는 기본적으로 문서를 관리하는 전략으로부터 출발해 컨플루언스 또는 이와 유사한 전문적인 도구를 사용해 구조적이고 일관적으로 문서를 관리해야 제한된 자원 안에서 자원을 최대한 낭비하지 않고 프로젝트를 수행할 수 있습니다. 컨플루언스가 아니더라도 몇 가지 원칙을 지켜야 합니다. 프로젝트 기능과 팀 단위로 문서 저장소나 계층구조를 분리하고 문서 유형 별 표준 템플릿과 메타데이터를 관리해야 합니다. 그리고 상태 전환 기반 워크플로우가 문서에 적용되도록 해야 합니다. 또한 검색 속도, 수정 빈도, 아카이브 비율 등의 지표를 측정해 개선해야 하며 마지막으로 온보딩 과정에 신경을 써야 합니다. 이러한 전략을 다른 도구나 심지어 단일 문서 작성 도구만으로도 달성할 수 있지만 전략을 체계적으로 달성할 수 있는 프레임워크를 제공하는 서비스를 통해 상황을 크게 개선할 수도 있습니다.