ニュース

レガシー脱却を図るヤフーと3つのモダナイゼーション

「Yahoo! JAPAN Tech Conference 2019 in Shibuya」が12月13日に開催

ヤフーは12月13日、同社のテクノロジーを紹介するイベント「Yahoo! JAPAN Tech Conference 2019 in Shibuya」を開催した。基調講演では同社取締役 常務執行役員 CTOの藤門千明氏が登壇し、近年の開発において重視している3つのポイントについて解説。テクノロジーやワークスタイルの変革を進めようとしている企業の旗印となりそうなヒントを提示した。

レガシーからの脱却を目指す3つの「モダナイゼーション」

ヤフー株式会社 取締役 常務執行役員 CTOの藤門千明氏が基調講演

今や日本のインターネットの「玄関口」とも言える巨大ポータルサイトを運営し、サーチエンジン、オンラインショッピング、ニュース、決済、地図や災害情報、その他ライフスタイルに寄り添う多数のサービスを提供しているヤフー。全サービスにおけるリクエスト数は、藤門氏によるとたった1日で1,132億に達するという。

マスコットキャラクター「けんさく」も応援(?)にかけつけた

同社では近年「価値をどれだけ早く届けられるか」という意味での「スピード」を最重要視している。「プロダクトや価値を早く世に出すことで早くフィードバックが得られ、早い改善につなげられる」というメリットが得られ、さらに「サービスのリリース回数が増え、ビジネスのチャンスが増える」という循環を生み出し、現在の同社の成長へとつながっているとした。

1日の全サービスへのリクエスト数は1,000億をゆうに超える

しかしながら、2014年頃までは「スピードが鈍化していた」と藤門氏は明かす。これは「技術的な負債」が溜まり、事業においてさまざまなところで「レガシーなプロセス」が増え、長年事業を続けてきたことによる「ビジネスに付随するしがらみ」に囚われるようになってきたことが原因だったとのこと。

そこで藤門氏がCTOに就任した2015年、再び「スピードを取り戻す」ために取り組んだのが、「モダナイゼーション」だ。過去にモダナイゼーションに向けたチャレンジも行なったが、物事が進まない理由を他人の責任にしたり、古い環境で開発効率が低下していたり、開発における考え方が古く、時とともに増えていったルールに縛られていたり、といった「レガシー」が蔓延していたために失敗に終わっていた。

2013年にチャレンジしたテクノロジーだけのモダナイゼーションは失敗に終わった

そのため藤門氏はテクノロジーだけをモダナイゼーションするのではなく、エンジニア・デザイナーの「マインド」「テクノロジー」「習慣」という3つの面で同時にモダナイゼーションしていくことで、「レガシーからの脱却」を図った。

3つのモダナイゼーションを同時に進めていくことが必要

マインド変革とともに社内制度もそれに合わせて整備

1つ目の心構えを変える「マインドのモダナイゼーション」では、まず2015年にYahoo! JAPANの当時の全エンジニア・デザイナー約2,000人を東京・名古屋・大阪の3箇所の会場に一斉に集め「決起集会」を開催。経営陣から単純にメールなどで社員にメッセージ発信して意志を共有しようとするのではなく、実際に集まって目の前で直接訴え、意見を交わす機会を設けることで、エンジニア・デザイナーにマインドを変えることへの意識を高めさせた。

2015年に2,000人を集めた決起集会を実施

ここで強調したのは「全ての結果を自分ごとにする」こと、「社外に対してオープンになる」こと、「困難なことにチャレンジする」ことの3点。他に責任を求めるようなことはしないのが第一であり、良いインプットを得て、良いアウトプットをすることが会社や自らの成長につながると知ることも重要だとした。また、レガシーな環境ではチャレンジ自体が難しく、妥協や他者の模倣で終わらせてしまいがちだが、大きな会社だからこそ大きなこと、困難なことに立ち向かうべきだと訴えた。

社内外、国内外のイベント、交流や副業までをも推進

また、それと合わせて人事制度も変えた。エンジニア・デザイナーがクリエイターとして成長できるよう、社員による社内外活動を積極的に推進し、技術力を高めるための活動費用の補助、国内外の技術カンファレンスへの参加支援、Googleなどグローバル企業との交流推進や副業を支援する制度を整備した。

人事制度もモダナイゼーションの方針に合わせて改革

こうした意識・制度改革を行なった結果、マインドはどうなったか。藤門氏は、これとは別にエンジニアらに課していた2つの宿題の達成率を成果として紹介した。1つは同社が毎年1万台ずつ導入しているというサーバーの「仮想化の促進」で、マインドのモダナイゼーションの効果により、1年で新規サーバーのうち90%が仮想サーバーになったという。もう1つは開発作業の自動化を実現するシステム「CI(継続的インテグレーション)の導入」で、これもおよそ半年で全プロジェクトに導入された。

1年で新たなサーバーの9割が仮想化、半年でCIはすべてのプロジェクトに導入された

これは藤門氏がそう指示したから、というわけではなく、そもそも「それら(サーバー仮想化やCIの導入)をすべきだと考えるエンジニアが実はたくさん眠っていたから。(意識改革や制度変更によって)その背中を押すことができた」のが実現に至った最大の理由だったと振り返った。

安定した最新テクノロジーのために新会社を設立

2つ目の「テクノロジーのモダナイゼーション」では、「任せること」が大きな鍵となった。CTOが「“ぼくのかんがえたさいきょうの”アーキテクチャ」を考えて強制するのではなく、「方針はCTOがしっかり作るが、やり方はみんなが考える」というコンセプトで進めることにした。

「“ぼくのかんがえたさいきょうの”アーキテクチャ」を押しつけない

そもそも多岐に渡るヤフーのサービスすべてについて、それぞれに最適なアーキテクチャを1人のCTOが検討するのは時間がかかり、現実的に不可能でもある。重視するべきは「スピード」だということも忘れてはいけない。同社では当時、2020年に向けて「(OSなどの動作環境となる)コンテナ技術を活用したクラウドネイティブな開発環境」を目指しており、結局この際に藤門氏が指定したのはコンテナだけだった。

そして10名のエンジニアを呼んでこうした方針を説明し、その10名を中心に2015年11月ゼットラボを設立、巨大なヤフーのサービスを支えられる開発環境基盤の開発に専念させた。結果的には2017年、オープンソースソフトウェアをベースに構築したZCPという基盤技術の完成に至っており、現在は負荷の高いヤフーのさまざまなサービスで採用され、安定運用を実現している。

10名のエンジニアを中心にしたゼットラボを設立、開発環境基盤ZCPを開発した

それ以外にも、サービスを開発するうえで自社で作らざるを得ない部分は最小限にしながら、他社製品やオープンソースソフトウェアでまかなえるところは積極的にそれを活用するなど、柔軟な考えに変わってきていると藤門氏。これによってサービス開発メンバーはアプリケーションそのものの開発に集中して取り組むことができ、スピードアップを実現できているという。

クラウドネイティブな開発環境とすることで、サービス開発者はアプリケーション開発に集中できるように

ルールはごくシンプルに。ペアプログラミングも積極導入

最後3つ目の「習慣のモダナイゼーション」は、負債が増えないようにする習慣を変えることを目的としたもの。これについては、モダナイゼーションが大事なことだと社内で繰り返し訴えることが重要だと判断し、社内広報媒体や社内イベントなどで経営陣から何度もメッセージを発信し続け、エンジニアやデザイナーだけでなく、ヤフーの他の部門のスタッフにも伝わるようにした。

経営陣からの「モダナイゼーションが重要である」というメッセージはあらゆる社内媒体を使って繰り返し発信

ルールが増えすぎていることに関しては、「シンプルにし、ドキュメントを残す文化」へと変えてきた。開発に関わる同社のガイドラインはかつて117個あったが、そのなかから本当に必要なもの、不要なもの、不足しているものなどを精査。30個にまで絞り込み、1箇所で参照できるように改善した。

増えすぎて複雑化しているルールはシンプルにし、最小限の数に減らして1箇所にまとめた

古く非生産的な開発手法は排除し、新たな開発手法を採用する取り組みも積極的に行なっている。開発プランを短期間ごとに立て、進捗状況をメンバー間で毎日確認しながら進めていく「スクラム開発」のほか、1台のPCを2人のプログラマーで共有し、同じプログラムを共同で開発していく「ペアプログラミング」も導入しているとのこと。ペアプログラミング用のPC環境はオフィス内に100セット用意しているのだとか。

スクラム開発やペアプログラミングを導入している

10倍超の負荷にも即対応。モダナイゼーションの効果は着実に

以上3つのモダナイゼーションにより、以前に比べプロダクトのビルド回数(テスト回数)は2.3倍に、デプロイ(リリース)回数は4倍にそれぞれ上昇。実際のサービスにおいても、たとえば「Yahoo! 天気・災害」では、クラウドネイティブな環境にしたことでサーバーのキャパシティを容易に変更できるようになった。2019年10月の台風19号上陸時は、通常の10倍以上の負荷があったものの、無事乗り越えることができたという。

ビルド回数は2.3倍、デプロイ回数は4倍に
台風19号上陸時は平常時の10倍以上のアクセスがあった「Yahoo! 天気・災害」だが、無事さばききった

さらに、「Yahoo! トラベル」ではCIの導入などにより開発効率が28%改善。QRコード決済のPayPayでお得に利用できるヤフーの新サービス「PayPayフリマ」「PayPayモール」は、2019年10月に開始したばかりだが、「非常に短期間で開発するため手戻りが許されなかった」ことから「ペアプログラミング」を選択した。これにより実際にリリースまでの期間を大幅に短縮できたとのこと。

「Yahoo! トラベル」はCIの導入などで開発効率が28%アップ
「PayPayフリマ」「PayPayモール」はごく短期間でリリースにこぎつけた

まだすべてのモダナイゼーションは終わっておらず、現在も継続しているところだとしながらも、藤門氏は最後に「ユーザーにびっくりするほど便利なサービスをどんどん提供して、インターネットって面白いよね、日本っていいよね、と思えるような会社にしていきたい」と宣言し、基調講演を締めくくった。

「ユーザーにびっくりするほど便利なサービスを届ける」