Microsoft Office, Source Depot에서 Git으로의 성공적인 대규모 마이그레이션 전략

🤖 AI 추천

대규모 소프트웨어 개발 조직의 버전 관리 시스템 전환을 계획하거나 경험한 개발자, 프로젝트 관리자, CTO에게 강력히 추천합니다. 특히 복잡한 레거시 시스템을 현대화하고 개발자 경험을 개선하려는 팀에게 실질적인 통찰력을 제공할 것입니다.

🔖 주요 키워드

Microsoft Office, Source Depot에서 Git으로의 성공적인 대규모 마이그레이션 전략

핵심 기술: Microsoft Office 팀은 오랜 기간 사용해 온 중앙집중식 버전 관리 시스템인 Source Depot에서 개발자 경험 향상과 기술 혁신을 위해 Git으로 대규모 마이그레이션을 성공적으로 수행했습니다. 이 과정에서 VFS for Git과 같은 신기술 개발, 수백 명의 엔지니어와 수년간의 노력이 투입되었습니다.

기술적 세부사항:
* 기존 시스템의 한계: Source Depot은 중앙집중식, 느린 브랜칭, 불편한 워크플로우, 긴 코드 체크아웃 시간, 불편한 병합 방식(Reverse/Forward Integrate) 등으로 생산성 저하를 야기했습니다.
* Git 마이그레이션의 복잡성: 수백 명의 엔지니어와 수년에 걸친 작업이 필요했으며, 전체 개발 인프라(빌드, 릴리스, 워크플로우)와의 강한 결합으로 인한 단순 교체의 어려움이 있었습니다.
* VFS for Git 도입: 200GB 이상의 거대한 코드베이스를 효율적으로 다루기 위해 GitHub와 공동 개발한 Virtual File System for Git (VFS for Git)을 사용하여 실제 필요한 파일만 다운로드받는 방식으로 Git의 한계를 극복했습니다.
* 병행 시스템 운영 및 동기화: Source Depot과 Git 간의 실시간 동기화를 위한 브리지 서비스를 구축하고, 24/7 자동화 시스템으로 메인/Private 브랜치 동기화 및 빌드 과정을 운영했습니다.
* 철저한 검증: 세 번의 재시도 끝에 안정적인 병렬 시스템을 구현했으며, 모든 테스트 스위트를 두 시스템에서 반복 실행하여 완벽한 동등성을 입증했습니다. 줄바꿈 방식, 대소문자, 테스트 결과 포맷 등 미묘한 차이까지 수개월간 디버깅하여 해결했습니다.
* 인간 중심의 접근법: "챔피언" 중심의 소통 체계(hub-spoke 모델), 과감한 투명성, 실용적이고 실전 중심의 교육(실습 환경, 비디오 라이브러리), 즉각적 롤백 전략(Director의 "레드 버튼") 등 협업적이고 인간 중심의 접근법을 강조했습니다.
* 커뮤니케이션 전략: 4,000명 이상의 엔지니어와 수십 팀의 스케줄 조율을 위해 팀별 "Developer Satisfaction Champion"을 지정하고, 중요 공지는 최소 3회 반복 전달했으며, 문제 발생 시 즉각적이고 투명한 정보 공개로 신뢰를 확보했습니다.
* 교육 및 지원: 10년간 Source Depot에 익숙한 엔지니어들을 위해 실습형 교육 환경, 전환 명령어 안내, 실제 시나리오 기반 학습을 제공하며 불안 해소와 역량 강화를 지원했습니다.

개발 임팩트: 마이그레이션 이후 온보딩 시간 50% 단축, Git 선호도 89% 증가, 빌드 성능 개선, 코드 리뷰 효율성 및 협업 증가 등 개발자 생산성이 크게 향상되었습니다. 또한 엔지니어들은 산업 내 변환 가능한 기술 습득을 긍정적으로 평가했습니다.

커뮤니티 반응:
* 커뮤니티에서는 VFS for Git이 없었다면 대규모 Git 마이그레이션이 거의 불가능했을 것이라는 점에 동의하며, Perforce에서도 유사한 기술이 있음을 언급했습니다.
* 아직도 Perforce를 사용하는 회사들이 많으며, 특히 AAA 게임 개발에서는 자산 파일 락(lock) 기능 때문에 Perforce를 선호하는 경향이 있다는 의견이 있었습니다.
* Git이 특정 부분만 선택적으로 체크아웃하는 기능을 제공하지 않는 것에 대한 의문이 제기되었습니다.
* 과거 Source Depot을 사용했던 경험에 대한 다양한 의견과 함께, Git 도입으로 인한 개발자 개개인의 워크플로우 제어 능력 향상 및 개발 루프에 대한 신뢰 회복이 혁신적이었다는 평가가 있었습니다.
* Visual SourceSafe (VSS)와 같은 과거 Microsoft의 다른 버전 관리 시스템에 대한 언급과 함께, 그 시절의 기술적 어려움과 고충에 대한 회상이 있었습니다.

📚 관련 자료