DeNAに見る、
社内ベンチャー型の開発チームとは
星暁雄(コモンズ・メディア)2010/6/11
※ トリックスター……この連載でのトリックスターのイメージは、相反する2つの者同士が、別個に機能する共同体をつなぐ役目を果たす人。閉鎖的な空間に風穴を開けて風通しを良くする人。エンジニアとコーダー、デザイナの機能システムが組み合わさった緩やかな共同体を創造する人たちです。
“アイデア”と“プログラミング”のチームワークを探る
携帯電話向けゲームサイト「モバゲータウン」で急成長を続けるディー・エヌ・エー(以下、DeNA)は、2009年以降、新作ゲームの開発体制に新たな考え方を取り入れた。いわば「社内ベンチャー」のように、小さく経験が浅い開発チームに大きな権限を与えるやり方だ。その成果である携帯電話向けソーシャルゲーム「海賊トレジャー」の開発チームへの取材から、どのようにチームの力を引き出したのかが見えてくる。
「海賊トレジャー」は、2009年8月にベータ版を公開し、同年10月に正式にオープンした。開発チームは、企画担当の上條景介氏(ソーシャルメディア事業本部 ソーシャルゲーム統括部 企画第一グループ)と、開発担当の越智峻介氏(ソーシャルメディア事業本部 ソーシャルゲーム統括部 システム第一グループ)の2名の若手が選抜された。
未経験でソーシャルゲーム開発を開始
取材中に驚いたのだが、2人ともそれまでゲーム開発の経験はなかったということだ。それが、いきなり新作ゲームの開発を任されたのである。同じ時期、同社内では少人数チームに大きな権限を与えたプロジェクトが複数立ち上がっていた。あたかも複数のベンチャー企業を設立して競わせるかのように。そして「海賊トレジャー」は、その中で生き残ったプロジェクトの1つなのである。
2人は、まるでベンチャー企業の立ち上げ期のような猛烈な勢いで働いた。1日の大半は一緒に仕事をした。背中合わせの座席配置だったが、打ち合わせが必要なことがあると「振り返って愛用のホワイトボードを使ってさっと打ち合わせて」(越智氏)、また仕事に取り組んだ。
開発担当の越智氏は、こう振り返る。「ソーシャルゲームは、業務アプリケーション開発とは全然違う。どんなゲームだと面白いと思ってもらえるのか、どんな人がユーザーになるのか、当初は分からない。リリース後も、どのようにユーザー数が伸びるのかの予測は難しい。そこで企画がどう『受ける』のかを手探りしながら作ることになる。企画書を作って会議を重ねてではなく、話し合って作ってみて反応を見る、という形です」。時間をかけて実装した機能がユーザーには受けず、その機能を削除することもあった。「がんばって機能を考えても、『面白くない』と判断されたら、それで終わりです」(越智氏)。
ディー・エヌ・エー ソーシャルメディア事業本部 ソーシャルゲーム統括部 システム第一グループ 越智峻介氏「年末の里帰り返上でイベントを作りました」 |
迅速な開発、増強を可能にするチームとは
同社にはインフラ担当のチームがあり、開発部隊は開発に専念できる体制となっている。だが、今回のプロジェクトではインフラチームとの密な連携は欠かせなかったという。
同社のゲームでは「イベント」と呼ぶ仕組みがある。例えば、キャンペーン期間を定め、その間に所定のゲーム内成果を達成すると、特別アイテムがもらえる。このような「イベント」をタイミング良く実施するには、サーバ増強などの措置を事前に実施できる態勢が欠かせない。
「例えば、重たいデータベース処理があったとき、普通のやり方でサーバ負荷の取っていると時間がかかりすぎて、肝心なタイミングを逃してしまうことがあります。そこで、開発側も重いSQLの分割をするから、インフラ側もDB分割に素早く対応してもらう、といった形で協力していました」(越智氏)。
開発環境として、プログラミング言語Perlと、DeNAの取締役である川崎修平氏が開発したオープンソースのフレームワーク「MobaSiF」を活用した。同社内にはPerlプログラマの先輩が大勢いる。いざというときには質問できる。これは心強いことだった。
「ソーシャルゲームは、2〜3分だけ遊ぶもの」
「海賊トレジャー」は、順調にユーザー数を伸ばし続けたわけではない。10月の正式オープンの後、ユーザー数が伸び悩み、「このままではプロジェクトが消えてしまう」とチームが奮起した時期があった。
「このときは、話し合いを徹底的にしました。もう議論というよりケンカ(笑)」(上條氏)。徹底的に話し合い、悩み抜いて、リニューアルの方向性を考えたのだ。
ディー・エヌ・エー ソーシャルメディア事業本部 ソーシャルゲーム統括部 企画第一グループ 上條景介「スピードがないとユーザーが付いてきてくれない」 |
チームが出した結論は「さくさく遊べるゲーム」だった。それまでのゲームの作りは「腰を据えてプレイする」発想の企画で、プレイ時間の単位も15分ほどが必要だった。だが、携帯電話でゲームを楽しむユーザーの大多数は、電車の移動時間などすき間の時間を使ってプレイする。「2〜3分遊んで、また間隔を空けてプレイする、場合によっては数日後にプレイするような遊び方に対応できるよう、大改修しました」(越智氏)。
リニューアル版のリリースは、なんと年の瀬の2009年12月29日。さらに、リリース後に上條氏はこういった。「イベントをやりたい」。里帰りするつもりでいた越智氏は、結局、予定を変更して取り組み12月31日にイベントがリリースされた。「こういうスピード感で作れるのが重要。スピードがないとユーザーが付いてきてくれない」(上條氏)。
リニューアルのとき、チームは何を考えていたのだろうか。
「やはり、このゲームをずっと作ってきて、思い入れがある。ここで消えてしまうのは悔しかった。それに、こういう開発の仕方は楽しい」(越智氏)。
自分たちのプロジェクト、自分たちのゲームという強い意識が、開発とリニューアルで猛烈に働く日々を支えたのだ。
「これは僕らのプロジェクト」
年末のリニューアルの後も、例えば「ユーザー間バトル」のシステムの導入など、大規模な改修が続いている。「この改修はもう1本のゲームを作るぐらいの規模でした」(越智氏)。
大規模なソーシャルゲームでは、日々飛び込む突発的な出来事への対処も発生する。そういうときに、どのような心構えで臨んでいるのだろうか。「このゲームに最も詳しいのは上條と私。何かが起きたら、解決策を与えられるのは僕たちをおいて、ほかにない」(越智氏)。「僕らのゲーム・プロジェクト」という強い意識が、日々の運用にも反映されている。
「海賊トレジャー」は、社員2名で始めたが、その後のユーザー数増大に伴い、いまのチームは、デザインなどの協力会社のメンバーを含め、5〜6人規模に増強されている。DeNAは、2009年以降、このように「小さなチームに権限を与えて開発し、成功すると増員する」というスタイルを積極的に取り入れているという。小さなチームによる開発は、ベンチャー創業期のスタイル。そして、DeNAの成長エンジンとなった「モバゲータウン」も、まさにベンチャー的な少人数チームで作られた。いわば原点への回帰である。
少人数のチームに大きな権限を与えることで、複数の「僕らのプロジェクト」が立ち上がる。成功したプロジェクトには大きなリソースを投入する。このような同社の取り組みには、厳しい時代に成長を続けるためのヒント、そしてデザイナとプログラマの協業のヒントが隠されているように思われる。
【関連記事】
Silverlight制作をデザイナと開発者でコラボしてみた 実録:デザイナ×開発者コラボを成功するポイントとは Expression Blend×Visual Studioのコラボは本当に簡単なのか? 面白コンテンツの制作過程をドキュメントでお届け |
Flex/AIR開発でデザイナとの協業を楽にする「yui」 デザイナとプログラマを“結”ぶオープンソース(前編) Flex/AIR開発でデザイナと協業することになったら、ぜひ試してみてほしいオープンソースのフレームワークがあります 「リッチクライアント & 帳票」フォーラム 2008/10/1 |
人・チームが成功の鍵となるリッチクライアント WCR Watch [6] 大手国内航空会社の航空券予約サイトなど、RIA開発に豊富な実績を持つセカンドファクトリーに、RIA構築における成功のポイントを聞いた 「Web
Client & Report」フォーラム 2005/8/4 |
GoogleSitesを使って制作プロジェクトをハックしよう GoogleSitesでプロジェクト管理(1) Web制作の現場をサンプルに、GoogleSitesをツールに用いたプロジェクト管理の方法を紹介する。使いこなしてプロジェクトをハックしよう |
[an error occurred while processing this directive]
「デザインハック」コーナーへ |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|