Railsによる開発体制統一に踏み切った、Glossomのアドテク業界サバイバル戦略
2014/09/30公開
GlossomでRails移行プロジェクトの中核を担う開発エンジニアの山口智之氏(右)と顔文駿氏
開発に使用する技術の選定は、エンジニア個人の裁量に任せるべきか、会社として統一していくべきか――。
その答えは会社の規模やフェーズによって変わるだろうし、単純な二元論では語れないのも本当だろう。だが、多くの企業が判断を迫られるポイントであることは確かだ。
グリーグループでネット広告事業を担うGlossomは今、「統一」の方向へ大きく舵を切ろうとしている。開発現場で使用するフレームワークを、Ruby on Rails(以下、Rails)に移行するプロジェクトが進行中だ。
ネット広告業界はスマートフォン向けを主戦場に、2013年時点で対前年比193%増の約1652億円と、市場規模が急拡大。今後も年11〜39%の成長が見込めるとして、新たなプレーヤーの参入も相次いでいる(シード・プランニングなど調べ)。
現在の社名で再出発を切って、まだ1年足らず。抱えるエンジニアは20人程度と、決して大きいとはいえないGlossomが、この激戦区を勝ち抜くべく打った一手が、今回のフレームワークの統一という。
そのメリット/デメリットをどのように考えて決断を下したのか。「スーパーRailsチーム」を目指して移行を先導する、現場エンジニア2人に話を聞いた。
情報共有がままならず、技術力を持て余した以前の開発体制
アドネットワークの「AdLantis」と、リワード/アフィリエイトの「GREE Ads Reward」の2つを主力事業とするGlossom
Glossomの主力事業は、アドネットワーク事業の「AdLantis」と、リワード/アフィリエイト事業の「GREE Ads Reward」の2つ。基本的に、前者はRailsで開発されている。
問題は、その周辺の業務ツールや管理ツールを開発する際に顕在化した。今回の移行の提案者の一人、山口智之氏は次のように語る。
「担当者それぞれが、自分の知っている技術を使って勝手に開発している状態でした。知識さえあればもっと簡単な方法でできるのに、無駄に労力を割いているケースや、誰かが以前突き当たった問題に別の人がまた頭を悩ませている、といったことが多く発生していました」
課題の背景には、親会社であるグリーから転籍してきたエンジニアが多く、それぞれが担当してきたプロジェクトに依存した技術を使わざるを得なかったという事情があった。
自作のライブラリを言語コミュニティで公開するような技術力の高いエンジニアを複数抱えながら、そのリソースはこれまで十分に活かされてこなかったと山口氏は振り返る。
「競争の激しい業界にあって、決して大きくない開発体制の弊社に、限られたリソースを浪費している余裕はありませんでした」
今年1月、待ったなしで開発体制の見直しが決まった。
想定以上の成果を挙げたチャット部屋での技術交流
Glossomでは、以下の4ステップでRailsへの移行を進めてきたという。
【1】組織としてRailsを使うという方針を決定
【2】バラバラな開発を避けるためのガイドライン策定
【3】レガシーコードを生み出さないためのコードレビュー体制作り
【4】気軽に質問や状況共有ができる場としてのチャット部屋の利用
「チャット部屋を技術交流の場として再設定したことが、エンジニア同士で助け合う文化の醸成につながっている」と話す顔氏
中でも、現場エンジニアが最も大きな成果を上げたと考えているのが、【4】のチャット部屋の利用だ。
従来は上意下達の伝達手段でしかなかったチャット上に技術的なテーマごとのチャンネルを作成し、業務効率改善の方法やありがちな問題と解決方法などを、技術的に優れた「スーパー」なエンジニアに気軽に聞ける場として、設定しなおした。
実際、開設してみると想定していた以上に反応は良く、現時点では移行の対象外であるリワードの開発部門からも、自発的な参加が相次いでいるという。
AdLantisの開発を担う顔文駿氏も、業務の傍ら、質問の回答役を務める「スーパー」なエンジニアの一人。新卒として入社して2年足らずながら、Railsに限らず、さまざまな言語を使いこなす。
「エンジニアが一人で完結するような案件でも、相談したり、助言したりするマインドや文化が徐々に生まれてきています。そうした中で、教える側の自分も成長できる環境が整ってきていると感じています」と、その効果を実感しているという顔氏。
寄せられる質問は現状、どういったライブラリを使えばいいか、といった初歩的なものが多いというが、そこに表れるエンジニア間の情報共有マインドの醸成、ひいてはノウハウの蓄積による開発効率の向上、運用コストの低減こそが、Glossomの開発ポリシー、そして今回のRails移行の狙いでもある。
競合ひしめくネット広告業界に一撃必殺の「銀の弾丸」はない
山口氏(右)は理想のエンジニア像を「Railsに使われるのではなく、使いこなせる人」と表現する
競合ひしめくネット広告業界を勝ち抜く上で、一撃必殺の「銀の弾丸」はない、と山口氏は言う。
「誰もやっていないアイデアで勝負するとか、小さなことをコツコツと積み重ねて高い質を担保するとか、そういったことを地道に、平行してやっていくしかないと思っています」
急がば回れの開発体制見直しは、まさにそのための一手。情報共有の活性化による「車輪の再発明」回避、蓄積ノウハウの活用こそが、サービスの質や開発スピードを上げるための最良の方法だというのが、Glossom開発チームの考えだ。
「Railsの大きなメリットの一つは、ライブラリの豊富さです。個々の状況に応じて使えるライブラリの存在を教えてあげるだけで、相当な効率アップにつながります」(顔氏)
「オープンソースで書かれているものも多く、参考にしやすいので、定番・基本を押さえるのが比較的容易ということもあります。共通認識の下に作られたものであれば、要望があった時に、素早く機能を追加することも可能です」(山口氏)
Rails移行プロジェクトの進捗は「まだ30%」(顔氏)。まずは限られた数人の「スーパー」なエンジニアから学んでいる段階だ。ただ、基礎が浸透していきさえすれば、その先は早いというのが山口氏らの見立てで、最終的にはリワード事業も含めて全社的に統一したいと考えている。
同時に、採用面でもRailsを重視した動きを活発化させている。その際に重視するのは、「Railsに使われるエンジニアではなく、使いこなすエンジニアかどうか」だという。どういうことだろうか。
「Railsももちろん万能ではありません。得意なところがあれば、不得意なところもある。それをしっかり理解し、複数の選択肢を自身の中に持った上で、乗るべきときにレールに乗れる人を求めています。なぜレールに乗るのか。また、乗らないという選択をした場合には、どう設計/開発すべきか考えられる。それができて初めて『使いこなすエンジニア』と言えると思っています」(山口氏)
一つの技術に特化することは、同時に組織としての柔軟性を失いかねないリスクを秘めると見る向きもあるが、確かな基準で選ばれた本物の技術者であれば、技術の幅は決して失われないというのが、Glossomが出した答えだ。
取材・文/浦野孝嗣 撮影/竹井俊晴