[NDC 18] "일정 급하다고 주먹구구로 해결하지 말라, 조직까지 망가진다"

조회수 2018. 4. 24. 17:22 수정
번역beta Translated by kaka i
번역중 Now in translation
글자크기 설정 파란원을 좌우로 움직이시면 글자크기가 변경 됩니다.

이 글자크기로 변경됩니다.

(예시) 다양한 분야의 재밌고 유익한 콘텐츠를 카카오 플랫폼 곳곳에서 발견하고, 공감하고, 공유해보세요.

넥슨 해외 메이플팀이 겪은 '기술 부채' 이야기

"당장 론칭, 매출이 급하다고 주먹구구로 해결하려 하지 마라. '기술 부채'는 쌓이면 쌓일수록 기하급수적인 문제 해결 비용을 요구한다."

 

급한 개발·서비스 환경 속에서도 중심을 잃지 말고, 미래를 보며 개발하라는 조언이 NDC 2018에서 주어졌다. 14년 간 기술 부채를 차곡차곡 쌓아 수년 간 피를 본 <메이플스토리> 해외 버전 개발팀이 직접 한 조언이다. 넥슨 해외 메이플팀 '박연'은 24일, '메이플스토리 해외서비스 사양변경 어떻게 해야 하나 - 로컬라이징의 득과 실에 대한 14년의 결과' 강연에서 기술 부채 해결의 중요성, 그리고 자신들이 이를 해결하지 못해 겪은 사례를 공유했다.

넥슨코리아 해외 메이플팀 박연

개발자들이 한 가지 단언하는 것이 있다. 세상에 시간과 예산이 풍족한 프로젝트는 존재하지 않는다고. 모든 개발은 시간·자원과의 싸움이며, 개발자들은 이 싸움에서 살아남기 위해 때론 (미래에 독이 될 줄 알면서도) 언 발에 오줌 누는 것처럼 급히 문제를 해결하곤 한다. 그리고 이건 사람은 적고 시간은 급한 해외 버전팀에게 더욱 자주 나타난다.


발표의 주인공인 해외 메이플팀도 이런 케이스다. <메이플스토리> 해외 버전 담당 팀은 로컬라이징은 물론, 자체 콘텐츠 개발, 버그나 어뷰징 해결 등 해외 서비스를 위한 종합적인 일을 담당한다. 일은 많은데 사람은 적다. 설상가상으로 <메이플스토리> 해외 버전엔 각국의 서비스 초창기부터 시간에 치여 급히 만든 코드와 콘텐츠, 일명 기술 부채가 곳곳에 산적해 있다. 그것도 국가별로 각기 다른 버전에 전부. 

 

근본적인 문제를 해결하기엔 항상 시간이 부족했고, 해외 팀은 일정을 맞추기 위해 다시 콘텐츠를 땜질했다. 십수 년 간 쌓인 기술 부채가 그렇게 탄생했다. 


# 콘텐츠, 나아가 조직까지 망가트린 기술 부채

 

이 대표적인 사례가 각국마다 조금씩 다른 독자 콘텐츠다. <메이플스토리>는 14년 간 다양한 해외 버전이 개발됐으며, 버전마다 수치는 물론, 프로그래밍 기조나 구조까지도 조금씩 다르다. 때문에 해당 콘텐츠를 국내에 재적용하거나 다른 국가 버전에 도입하려면 같은 게임인데도 콘텐츠를 처음부터 다시 분석해야 하는 일이 발생했다. 만약 해당 콘텐츠를 만든 사람이 팀에서 나갔다면 일은 더더욱 커졌다.

 

이는 결국 개발 콘텐츠의 활용도를 저해시켰고, 각 국가별 팀의 업무량 또한 가중시켰다. 종국에 이르러선 이런 경험 때문에 각 팀에서 자체 콘텐츠 개발을 기피하는 현상으로까지 발전했다. 이것이 전반적인 콘텐츠의 질을 저해시켰음은 물론이다. 기술 부채가 조직의 업무량은 물론 업무 기조에까지 악영향을 줬다.

기술 부채는 조직뿐만 아니라 콘텐츠 자체에 심각한 악영향을 주기도 한다. 대표적인 것이 핵 프로그램 관련 이슈다. 

 

<메이플스토리> 해외 서버 중 한 곳에서 동접 등 당시 더 중요하다 생각한 이슈를 해결하려고 '핵' 프로그램을 방치한 사례가 있었다. 파장은 예상을 뛰어 넘었다. 어느덧 해당 서버는 핵을 사용하지 않으면 게임 플레이가 불가능할 정도로 환경이 변했다. 핵에 버그가 생기니 일일 접속자가 반 토막이 나는 웃지 못할 일까지 벌어질 정도였다. 

다행히(?) 일일 접속자는 핵 프로그램의 버그가 수정되며 다시 회복됐다. ​하지만 핵으로 망가진 경제 시스템은 아직까지 복구되지 않았다. 

 

해당 서버는 핵 없이는 정상적인 플레이가 불가능한 환경이 됐다. 이 때문에 해당 팀은 그 서버에 새로운 콘텐츠를 추가할 때마다 메소(게임머니) 기반 콘텐츠를 다른 콘텐츠로 바꿔서 도입한다. 핵 때문에 메소가 의미가 없어졌으니까. 경제가 이러니 이벤트 허들도 당연히 높아졌고, 이는 다시 유저들이 핵을 사용하는 계기를 만들었다. 

 

해당 서버는 사실상 독자적은 경제 밸런스로 운영되고 있다. 물론 이를 위해 해당 팀은 콘텐츠를 추가할 때마다 매번 새로운 밸런싱 작업을 하고 있다. 잠깐의 외면이 돌이킬 수 없는 부채를 만든 셈이다. 이런 기술 부채는 이런 개발, 보안 영역 외에도 번역, 유료 모델 등 온갖 영역에서 일어날 수 있다. 

 

그 결과가 2012년 모 위키 사이트에 올라온 설명이다. 해외 메이플 팀은 이 때문에 한 때 직군별 남은 '시니어'가 1~2명에 불과할 정도로 팀이 망가졌다. 기술 부채가 팀의 성장 동력까지 앗아간 셈이다.

 

# 해외 메이플 팀이 기술 부채를 해결한 방법

 

해외 메이플 팀은 이를 해결하기 위해 수 년을 투자했다. 국가 별로 쪼개져 있던 팀을 직군 별로 합쳐 인적 자원 활용도를 높이고 노하우 공유를 쉽게 했다. 사용하지 않는 콘텐츠, 시스템, 코드 등을 통폐합해 관리를 쉽게 했다. 국가마다 다른 사양 정보도 통폐합해 관리의 품을 줄였다. 

 

그리고 무엇보다 조직의 목표를 매출이나 성장 같은 성과보다 기술부채 해결, 성공적인 팀원 세대교체(시니어가 거의 없으니까) 같은 미래지향적인 것으로 바꿨다. 강연자가 가장 강조해 말한 성과다.

 

다행히 많은 부분 나아졌지만, 완전한 해결은 아니다. 조직 통합, 조직 목표 재설정 등은 성공할 수 있었지만, 그동안 급히 땜질하며 빌린 기술 부채가 발목을 잡은 탓에 통합 시스템 구축엔 실패했다. 이 때문에 해외 메이플 팀은 계획에 없던 업무 부하에 종종 시달린다.

 

넥슨코리아 해외 메이플팀의 '박연' 강연자는 팀이 겪은 이런 경험들을 소개하며 청중들에게 '아무리 급하더라도 미래를 생각하지 않은 개발, 언 발에 오줌 누기 같은 기술 부채를 만드는 것은 최대한 지양'할 것을 당부했다.

시간과 예산을 아끼려다 더 많은 시간과 예산을 써야할 수도 있다.
이 콘텐츠에 대해 어떻게 생각하시나요?