Nokiaが3年で地に堕ちた理由(1) ~ソフトウェア開発事業のファブレス化~

February 8th, 2011

粗末なアーキテクトによる車輪の再実装に膨大なリソースを浪費した

私はNokiaに入社するとN-Gageプロジェクトに配属された。N-GageとはNokiaの携帯上のゲーム用プラットフォームで、スペックの基準を満たした対応端末上でゲームをダウンロード購入して遊べるというものだった。ゲーム内課金や、ネットワーク対戦機能など、クオリティは低かったものの機能と仕組みはあった。

私の任務は当時は主流だった3Dアクセラレーターの載っていない端末上でも3Dゲームを動かせるようにソフトウェアのOpenGLES1.1スタックの実装することだった。しかしこれは自前でエンジンを実装、サポートすることがプロジェクトにとってナンセンスであり、HIのエンジンをライセンスするべきであるという度重なる主張が退けられた挙句に渋々受け入れたもので、会社の判断としては非合理的だと思った。当時はソフトウェアレンダラを書くのは自分の趣味のようなものだし、まぁカナダに来たばかりで英語の勉強をするゆとりがもらえたと考えるとラッキーだなぁという程度で、ただNokiaの大らかさに驚くばかりであった。

毎日定時帰りの超マイペースで開発を続け、スケジュールどおりの8ヶ月後に無事フルアセンブラのラスタライザによりSymbian標準のソフトウェアレンダラの4倍以上のフレームレートの出るエンジンが完成した。直ちにサードパーティのデベロッパーへの展開も進められた。

しかし、その2週間後にN-Gageプロジェクトのキャンセルが決定した。

もちろん3Dエンジンの投入の遅れが原因ではない(と思う)。しかし、もし8ヶ月前の時点で3D描画機能がフラグメンテーションなしで提供されていたとしたら、一日に100万台以上売れるNokiaのスマートフォンは現在のiPhoneの普及台数ですら及ばないもので、デベロッパーの目にはまさに広大なブルーオーシャンに映ったに違いない。そもそもNokiaがゲームデベロッパー向けに提供していたSDKは単純なフレームバッファへのアクセスのみで、スプライトの描画すら自前で実装する必要があった。描画レイヤの実装コストがバカにならずDOS時代以前のPCゲーム開発やフィンランドのデモシーンに通じたコーダーでもない限り、C言語による実装はJavaのパフォーマンスにすら及ばなかった(注:DoCoMoのJava2Dは速いですけどね:)。家庭用コンソールにおいてはファミコンの時代から既にハードウェアアクセラレーションが当然なので、日本の大手ゲームメーカーですら躊躇し、リスク軽減のためにミドルウェアを導入することは自然な流れだった。

結局N-Gageプロジェクトは、携帯電話用のゲームプラットフォームを作るといいながら未熟な技術者の自己満足で不安定なミドルウェアを作っただけで、既にSymbian用のレイヤーを持っていたミドルウェアベンダーにとっては、パフォーマンスを落とす冗長なレイヤーに過ぎなかったはずだ。同時にプラットフォームとしてのビジョンやコンセプトを著しく欠いており、DSの成功には目もくれずカジュアルゲームを軽視して重厚なメジャータイトルを揃えたり、エコシステムを銘打っておきながらマーケティングリサーチを怠って盲目のままさまよった結果、サードパーティーを巻き込んで大きな損失を被った。

枯れた技術の水平展開≠枯れた技術の再実装

その点、任天堂は極限まで徹底したスタイルを貫いている。彼らが最もエネルギーを割きたいのはコンテンツ創出とそれを支えるプラットフォーム作りであり、職人に任せた方が良いものが出来る、逆に言うと、職人なら誰でも出来る「作業」には社内リソースを浪費しない。SDKやファーストパーティータイトルのコーディングですら外部に委託するのだ。もちろんそのコンセプトを伴う設計は部署を横断して社員総出で練り上げる。この過程こそがまさにプロダクトを創出する本質なのであろう。

ファブレス化はハードウェアだけの話ではないのである。

但し、ソフトウェアのファブレス化においては、人件費の削減よりも試行錯誤のフットワークを軽くするという効果がある点が決定的に重要である。この点を無視したアウトソーシングは逆にコントロール失うことによるクオリティの低下をもたらす。

シリコンバレーでスタートアップが成功するために如何に多くのイテレーションを成し遂げられるかが重要であると言われる。コンセプトの検証と改良、いわば試行錯誤だ。これはオープンソースの資産をつなぎ合わせて作られるプロジェクトであればそこそこのプログラマー数人でカバーできるだろう。しかし、Nokiaのような規模になるとメインプロダクトラインを社内リソースに依存してイテレーションさせることが無謀であることは明白だ。

ソフトウェア開発をファブレス化することで、イテレーションの回数は何倍にもなる。例えば任天堂のセカンドパーティーのアカウントマネージャーは、常に一人で三つぐらいのタイトルは抱えている。これは、社内に20人のチームがあった場合、同じ期間で一つの試作品を手に入れるか、60個の洗練された試作品を手に入れるかという60倍の差を生む。試作品が相互にフィードバックを反映していれば成功率と言う観点でその差はさらにひらく。

わずか3年足らずで新参者がトッププレイヤーに取って代わるのである。作業の次元で時間を浪費することがどれほどリスキーなのか、これは資本の有無に関わらず考慮するに値すると思う。

ちなみに、Nokiaは今日でも同じことを続けている。Symbian^3はiPhoneを、maemo改めMeeGoはAndroidをお手本に模倣品を作るべく必死だ。社内で新製品、サービスが発表される度に、社員からはまだAppleにGoogleに劣っているという声が上がり、上層部はそれを認めた上で、「遅れていても我々は着実に正しい方向に進んでいる」と強調する。設計図を元に作業してもそこにイノベーションはない。もし彼らに追いついた(同じものを作った)先にしかイノベーションがないとNokiaが本気で考えているとしたら、Nokiaは市場に起こったことをまだ理解していないし、市場を取り戻す方向には進んでいない。11日の発表が楽しみだ。

2 Responses to “Nokiaが3年で地に堕ちた理由(1) ~ソフトウェア開発事業のファブレス化~”

  1. […] NokiaはN-Gageプロジェクトをキャンセルしつつ、これからはデバイスだけでなくメディア、サービスを収益源として確立するという目標を掲げた。しかし、コンテンツやサービスを生み出すためには、綿密な計算と経験からもたらされる仮説に裏付けられた狙い撃ちができる力が必要で、そのための試行錯誤の重要性は先のエントリーでも書いた通りである。試行錯誤の記憶がプロジェクトごとに消えていたのでは長期的に企業として発展し得ない。さらに悪いことに少なくともN-Gageプロジェクトに限って言えば貴重なエコシステムの一部を担う外部企業の信頼をも同時に失ったのだ。 […]

  2. […] http://www.exilis.org/?p=10 » Nokiaが3年で地に堕ちた理由(1) ~ソフトウェア開発事業のファブレス化~ | for what it's worth # […]

RSS feed for comments on this post. And trackBack URL.

Leave a Reply

*