ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [크리에이터] 개발을 확실하게 파탄내는 세 가지
    97가지 시리즈/게임 크리에이터 - Part2 2018.10.31 19:40

    #게임_크리에이터가_알아야_할_97가지_Part_2 vol.2

     개발을 확실하게 파탄내는 세 가지 by. 中林 寿文


    게임에 온라인 요소가 더해진 뒤 세상의 관심은 데스크톱에서 모바일로 옮겨가고 있다. 필자의 본업인 커뮤니티 서비스가 온라인 게임과 친화성이 높아서, PC, 피처폰 앱, 스마트폰 앱, 공식 사이트, 브라우저 게임 등 다양한 플랫폼용 온라인 게임의 구축과 개발을 지원해왔다. 또한, 유연함이 요구되는 게임과는 얼핏 보면 정반대에 있는 거로 느껴지는 엔터프라이즈 시스템의 설계와 구축을 다룬 적도 있기 때문인지 요즘에는 릴리스 직전이거나 예정일을 훨씬 지난 이른바 "불타오르는 프로젝트"의 소방수 역할로 투입되는 일도 잦아졌다. 이런 불타오르는 프로젝트의 화재 현장에서 공통으로 찾아볼 수 있는 발화 원인을 설명한다.


    원인 1: 사람은 잘 틀리는 동물이란 원칙을 잊어버린다

    PC용이건 모바일용이건 컨슈머 게임기용이건 모든 디지털 게임은 소프트웨어로 구현되어 있다. 또한, 그 모든 것은 인간이 설계하고 작성했다는 사실도 모두 똑같다. 인간은 잘 잊어버리므로 메모를 하는데 시스템 개발에선 설계서와 같은 문서 작성과 비슷한 행위이다. 또 인간은 잘 틀리므로 만에 하나 뭔가를 틀리더라도 최악의 사태가 일어나지 않도록 예방조치를 취해 두곤 한다. 프로그래밍으로 치면 함수로 전달하는 인수의 값이 타당한지 체크를 한다든지, 부정한 값이 전달되면 확실하게 에러 처리를 하고 그로 인한 문제를 조기 발견할 수 있는 처리를 심어두는 것과 비슷하다. 불타오르는 프로젝트에서 불을 끄기 위해 코드 리뷰를 해보면 대부분은 문서는 초기의 기획서 정도고 '명세서 = 소스코드' 가 된다. 그 소스 코드조차도 주석도 에러체크도 충분하지 않고 원래 기대한 동작이 뭔지 추측하기조차 어렵다. 개발자 간의 공통 인식의 토대가 되는 문서가 없다는 것이 인식의 차이와 오해를 확대하는 요인이 될 때가 많다.


    원인 2: 방법론에 휘둘린다

    '소프트웨어 공학'은 이미 역사가 깊은 공학 분야이지만 최근에서야 게임 개발 현장에서도 다루게 됐다. 이 분야에서 최근 가장 많이 듣는 키워드는 '애자일'이다. 애자일 소프트웨어 개발기법은 1~4주 정도의 비교적 짧은 기간을 두고, 계획, 요구 분석, 설계, 구현, 문서화라는 공정을 반복해서 실시하는 것이 특징이다. 그런데 1988년에는 설계부터 프로그래밍까지를 6개월부터 2년 정도로 반복해서 실시하는 '스파이럴 모델'이라는 개발 기법이 제창되어 있었다. 또한, 소프트웨어 개발뿐만 아니라 프로젝트 관리의 일반적인 기법으로 Plan(계획) / Do(실행) / Check(평가) / Act(개선)를 반복적으로 실시하는 'PDCA 사이클'이란 것도 있다. 이러한 기법들은 '설계/계획→구현/실행→개선을 위해 반복'이라는 본질적인 특징이 일치할 뿐만 아니라, 이러한 여러 기법의 이름을 지을 필요도 없이 개발에서 극히 당연하게 이루어지는 공정들이다. 방법론이란 어디까지나 수단으로서의 모범 사례 중의 하나일 뿐이다. 방법론을 정한다고 공정이 모두 최적화되는 것 같은 극적인 효과가 있는 것이 아닌데도, 프로젝트 관리, 설계방법 등 다양한 국면에서 하나의 방법론에만 지나치게 구애되어 매달려 있을 때가 많다.


    원인 3: 작업의 목적을 공유하지는 않는다

    소프트웨어를 프로덕트라는 측면으로 보면, 일정, 매출, 예산 등 달성해야 할 목적이 분명하다. 대다수의 경우 목적 달성에 필요한 전문 분야의 멤버로 팀이 구성되지만, 개발이 진행되면 진행될수록 각자의 전문성이 국소적인 부분에 집중하게 된 나머지 국소 최적화에 빠지게 된다. 팀의 목적과 목적 달성을 위해 각각이 무엇을 하고 있고 무엇을 해야 하는지 항상 강하게 인식이 공유되어 있지 않으면 과잉 국소 최적화를 초래하게 되고, 사양 개선이 어려워지거나 혹은 과도한 변경이나 일정 지연 등 목적 달성에서 멀어지는 경우가 많다.


    이처럼, 일할 땐 무엇을 위해서 그 일을 하는 것인지 항상 목적을 공유하고, 공유를 확실히 하기 위해서 문서를 만들고, 목적을 달성하기 위한 최적의 방법을 선택하는 유연함을 가져야 한다. 이러한 노력을 게을리하면 개발은 확실하게 파탄에 이른다.



    저자: 나카바야시 토시후미(中林 寿文)

    1974년생.

    1999년 사이버즈 주식회사를 창업하여 대표이사 취임.

    커뮤니티 포스 서비스의 운영이나 컨설팅 외, 온라인 게임/소셜 게임의 개발 지원도 하고 있다.

    또, 본업의 한편 대학원에 다니며, 석사(공학)를 수료.

    2012년 12월에 IGDA JAPAN의 NPO 법인화에 따라 부이사장에 취임.

    후쿠시마GameJam 태스크포스 정식 도우미로 참여했다.


    [크리에이터] 개발을 확실하게 파탄내는 세 가지


    [출처] ゲームクリエイターが知るべき97のこと2 (O'Reilly Japan)

    이 글은 [CC-by-3.0-US]에 의해 라이센스 되었습니다.




    댓글 0

Designed by Tistory.