2022.02.17(木)
CTOに就任して6年。伊藤直也と一休の「これまで」と「これから」
▲伊藤直也さん(執行役員 CTO)
新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてなブックマーク」などの開発を主導。グリー株式会社では統括部長としてSNSを担当した。2016年4月、一休に入社し執行役員CTOに就任。
Q.一休のCTOに就任した経緯を教えてください
きっかけはあるエンジニアの熱意
グリー株式会社を退職したあと、フリーランスでいくつかの企業の技術顧問をしていた時期がありました。その頃に、あるカンファレンスで僕のプレゼンテーションを聞いてくれていた一休のエンジニア――田中さんという、今も幅広く活躍しているメンバーなのですが、彼が、「一休のアドバイザーになってください!」と声をかけてくれて。僕はもともと一休のユーザーだったので、「ああ、あの一休さん」とは思いましたが、すでに顧問契約を結んでいる企業がいくつかあったので、最初は丁重にお断りしました。しばらく経ち、忘れたころに田中さんから再び依頼のメールが届いて、熱量に負けて技術顧問を務めることになったのが、一休との関わりのスタートです。
一休に100%コミットすることになったワケ
当時、一休の開発チームは疲れている状態でした。創業以来15年くらいやってきたことの整理がつかなくなってしまっていた。システムも古く複雑になってしまって、いろんなことが非効率になってしまっていました。そこで、自分たちはどうしていったらいいかを教えてもらいたいと、田中さんが僕に声をかけてくれたのです。僕も最初は、外の人がアドバイスするだけで行き詰っている人たちが息を吹き返すことがあるのかわからなかったのですが、やってみたら案外物事が前進し始めました。そんなことがあって、2年くらいやった頃から、ここで本腰入れてやってみるのも面白いかもしれないなと思うようになりました。ただ当時複数社で技術顧問を務めていて、そんな中でなぜ一休だけ特別に「100%コミットします」となったのかというと、実はあんまり、自分の中で答えが持てていなくて。人が好き、事業も面白そう……でも他の会社もみんないい人だよなと。
ただやっぱり、一緒に働いていた人たちが個性的で面白かったっていうのは大きかったです。田中さんをはじめエンジニアのみんなもそうだし、CEOの榊さんもそう。みんな圧がすごいんですよね(笑)。だからやれそうと思ったのかなと。あとは純粋に、自分がユーザーだったということもあって、サービスが好きでした。自分が使っているサービスを自分たちで運営するというのは、できそうで意外とできないことなんです。いざ旅行をしよう、食事に行こうという時に、自分のサービスを当たり前のように使って予約をするわけですが、世間で自分が使うものを自分で作る仕事ができている人って多くない――という部分が僕の中で大きく、一休のCTOへの就任に至ったのです。2016年春、一休がヤフーにグループインし、第二創業期を迎えたタイミングでした。
Q.一休では初の「CTO」でしたが、ミッションは何だったのですか?
シンプルに、「もっと強い開発チームにすること」でした。システムを強くしたいし、組織としてももっと強くしたいよねと。
蓄積された「レガシーシステム」の問題
ITの用語で、システムが古くなっていることを「レガシーシステム」と呼ぶことがあるのですが、当時の一休のシステムがまさにその状態でした。
昨今のソフトウェア開発は、作ってそこで終わりではなくて、そこから改善を積み重ねて長い期間そのシステムでサービスを運営し続けますよね。長い期間システムを使い続けるには、本来それを考慮していろんな工夫をする必要があります。多数の開発者で一つのシステムを開発し続けるのですから、何も工夫をしないと、自分以外の人が入れた変更が何をしているのかわからなくなっていく。システムの中ではサブシステム同士が依存しあっていて、あっちを直せばこっちが壊れる、みたいなことが起きるようになる。目の前の問題を解決しようとして手を入れたら、他の人が作った機能を壊してしまう……そういう問題が年々蓄積されいって身動きとれなくなったシステムが、レガシーシステムです。何かをするとすぐ壊れる……たとえるならゲーム終盤のジェンガみたいなものですね。レガシーシステムに苦しんでいる会社は、当時の一休に限らず、多くあります。というよりは、どんな会社でもいずれ経験する問題だと思ったほうが良いでしょう。この問題をどう解決するか、というのは現代のソフトウェア開発の大きなテーマのひとつと言ってもいいと思います。
当初のCTOに求められていた力
当時の一休を振り返ってみると、みんな「レガシーシステムは嫌だ、これで開発するのはつらい、それが原因で僕たちの開発スピードは遅くなっている」と言うのだけど、実際にそれを新しくする活動をしている人はほとんどいませんでした。僕に声を掛けてくれた田中さんがほぼ一人でもがいていた、という状況でした。僕からすれば、改善できていないのは必ずしも開発スキルの問題ではなく、大きな課題を解決するためにプロジェクトを動かしていく力が必要で、そこをやれる人がいなかったのだと思いました。これぐらい大きな問題になると実行にはリソースが要りますよね。そこで必要とされるのは、技術力だけではだめで、課題解決の意義やリソースについて経営陣や事業責任者に説明し、説得する力でした。だから僕が経営に入って、そういったコミュニケーションをとれる立場で大きな課題解決を進めていくことが、CTOとしてのひとつのミッションでした。システム側のイシューと、他の経営陣から出てきたビジネス側のイシューと、その両輪をきちんと回すことが強い開発チームへとつながるのです。
Q.一休に入社してからどんなことをしてきましたか?
より良いシステムへの旅の始まり
当時の経営のビジネス的な関心事は一休.comや一休.comレストランの顧客体験を改良することでした。ユーザーに向き合うことで予約が伸びるはずなので、そちらの開発を中心にやってほしいと。
ですが、先ほども言ったように、当時の一休のシステムは「レガシー」だったので、顧客体験をアップグレードするのに、まずはそこから直していかなくてはなりませんでした。アドバイザーとしての2年間でもそれなりに新しくしていったつもりだったのですが、中に入ってソースコードを見てみたら、わかってはいましたが、やっぱり中身はまだまだ全然という状況で。この問題を放置して表向きの機能改善ばかりに終始していたら、数年後にはにっちもさっちもいかなくなるだろうなあと。なので、入社して半年経った頃から覚悟を決めて、一休.comレストランのソースコードを僕一人でイチから書き換え始めました。長い旅の始まりだな、と思いました。みんなからしたら、CTOが突然プログラム書き始めて、なんかよくわからないけど作り変えているみたいな感じだったと思いますが……。
しばらく一人で黙々とやっていたのは、みんなが新しいシステム基盤で開発できるように、最初の部品を作る必要があったからです。こういうものは合議制で作っても良いものが出来るわけではなく、正しいアプローチが分かっている人が作らないと意味がないので、一人でやっていました。基盤部品がある程度出来てきたところで、何人かで新しいシステムを使って部分的なシステムリニューアルを実施しました。こういう成功体験を少しずつ社内に拡げていって、気づけば新しいシステム基盤でみんなが開発している状況になっている……というところまで地道に活動領域を広げていきました。
心臓部を止めずにシステムを入れ替える 一大プロジェクト
新システム基盤の導入の次にやったのは、一休.comレストランの空席を管理するシステムの根幹部分を刷新することです。いくら技術基盤のシステムを新しくしても、顧客に提供する価値や機能が新しくならなければ意味がないですから。新システム基盤を整えていく過程で、空席――僕たちは「在庫」と呼んでいるのですが、一休.comレストランの在庫管理システムの設計が上手にできていないことに気がつきました。ここを新システムで書き換えれば、顧客向けにも大きく体験を改善することができると考えました。
これがまぁ、やってみると結構大変でした (笑)。 在庫システムは一休.comレストランの心臓部。つまり、このプロジェクトは動いているシステムの心臓部分を止めないように全部入れ替えていくという開発だったんです。全部止めて新しく作って、はい、入れ替えとできるなら簡単なのですが、毎日そこで予約してくれるお客さんがいて、そこに在庫を出してくれる店舗さんがいて、お金の計算をするシステムも回っているのを、止めずに少しずつ切り替えていくので、一筋縄ではいかないんですね。
並行して、果たして自分たちが考えている課題は本当に正しい課題なのか、お店が本当に改善して欲しいと思っている問題にフォーカスできているのかを確かめる必要がありました。いろんなお店に直接出向いて、何を望んでいるのかをヒアリングさせてもらいました。こうして社内外の人から聞いた課題感を洗い出して、やるべきことをクリアにして、実装して、止めずに入れ替える。お店には、新在庫管理システムを案内して、全てのお店に移行を行ってもらう。1年以上かかる、大きなプロジェクトでした。
Q.昨年リリースした「RESZAIKO」というシステムについて教えてください!
「RESZAIKO」とは?
RESZAIKOはレストランが複数のグルメサイトに提供する在庫や各サイトからの予約情報を一元管理するシステムです。昨今の言葉でいうと店舗業務をデジタル化する SaaS (Software as a Service) ですね。店舗のグルメサイトの管理業務に割く時間を最小化して、本来時間を割くべきサービスに集中できるようにと企画したものです。先ほどお話した一休.comレストラン単体の在庫管理システムの開発のあとに着手し、2021年の春にリリースしました。現在はセールスやカスタマーサクセスのメンバーが中心となり、飲食店への導入を進めています。RESZAIKO を利用してもらうことで、予約管理の効率化やオーバーブッキング等のリスク軽減につながり、レストランの皆さんをテクノロジーでサポートすることができます。
2つのビジネス領域を扱う一休だからこそ予測できた未来
実は、宿泊のオンライン予約市場では「サイトコントローラー」と呼ばれる、複数サイトの情報を一元管理できるシステムが10年くらい前から存在しています。僕たちは宿泊予約と飲食店予約というよく似た2つのビジネス領域を扱っているので、両者を比較することで市場環境の違いを理解したり、未来を予測できることがあります。デジタル化という点では、宿泊予約市場の方が10年ほど先に進んでいて、飲食点予約市場では10年くらい遅れて同じことが起こっているんです。おそらく飲食店予約市場でも宿泊予約のようにサイトコントローラーが出てくるだろうということを僕たちは比較的早い段階からわかっていたんです。その時代を見据えてRESZAIKOという飲食店予約市場向けのサイトコントローラーの開発に着手したというのが裏側の経緯です。このサイトコントローラーを自社開発する前に、そもそも自社のグルメサイトである一休.comレストランの在庫管理システムを刷新しておきたかった、というのが前段の開発プロジェクトと繋がっています。
Q.宿泊予約サイトの一休.comとはCTOとしてどのように関わってきましたか?
「Yahoo!トラベル」との統合
宿泊予約システムの方ではグループ会社のヤフーが提供する「Yahoo!トラベル」と一休.comとのシステム統合が自分にとって大きな仕事でした。Yahoo!トラベルは、2021年夏に一休.comと完全統合を行ってデザインやシステムを刷新したのですが、これは50人規模で半年ほど費やした大きなプロジェクトでした。
ここでもまた「レガシー」を新しくしていく必要がありました。一休.comの古いシステムの上に、新しく作ったYahoo!トラベルのシステムを統合するのではレガシーの上に新システムを重ねることになってしまいます。急がば回れで、まずは一休.comのシステムを新しくして、その上にYahoo!トラベルを統合することにしました。
立ちはだかる2つの「レガシー」
たとえば……最近、一休.comの検索が使いやすくなったと思いませんか?実は一休.comには以前は検索窓がなぜか2つあったんです。おかしいですよね、普通、検索窓はひとつあれば十分なはずなのに、2つ置いてある。これは完全にシステム上の都合で、キーワード検索と日付を指定する検索機能が別々に作られていたことに起因しています。そこがレガシーシステムになってしまって、手をつけられない状態になっていた。仕方がないから2つ検索窓を置いて、ユーザーに使い分けてもらっていた・・・つまりシステムの都合でユーザーに負担を強いていたわけです。
Yahoo!トラベル統合を前に、このあたりを全部作り直して統合し、検索窓は1つにしました。ユーザーから見れば、検索窓が1つになっているというのは当たり前のことなのですが、システムの作り直しが絡むと例によって面倒な作業でして。
「同じような検索窓なんだから、1つにするのも難しくないでしょ? 」というのが大方の見方だと思います。一方、我々からすればイメージとしては、六本木ヒルズと赤坂のアークヒルズを1つに合体するようなものなのです。「同じオフィスビルなんだから、1つに統合するのも簡単でしょ? と言われても、さすがにちょっと難しいかな・・・」みたいな (笑)。
どちらか1つを壊せばいいというものではなく、しかも今回もシステムを動かしながら短期間で入れ替えなければならない。大変なのですが、まずそれをやらないと、Yahoo!トラベルでもなぜか検索窓が2つあるということになってしまうわけです。検索窓の件は一例で、そういった類のプロジェクトチームをいくつか立ち上げて、システムを統合しYahoo!トラベルのリニューアルが完了しました。
▲「同じような検索窓なんだから、1つにするのも難しくないでしょ? 」というほど単純ではない2つのレガシー統合プロジェクト
Q.この6年間、一休のエンジニアにはどんな変化がありましたか?
困難さ < インパクト
今の一休のエンジニアに何が大事かを聞くと、たぶんみんな「プロダクト、サービスをよくすることが大事」と、本気で言ってくれる気がします。それはきっと成功体験を積んでいるからじゃないかなと思っています。「やるべきことを当たり前にやる」というのは、簡単なようでいて、実際には大きな問題から目を背けずに向き合わなくてはいけないので大変なのです。レガシーシステム問題にしても、一休.comレストランの在庫管理システムの問題にしても、一休.com に検索窓が2つある問題にしても、誰もがそれを直したほうがいいとは思っていた、でもやれなかったからこそ長年問題を抱えてしまったわけです。
そういうことから目を背けずに実行する。やるべきことをやると、困難さよりも、それをやったときのインパクトの方が大きいから、やって良かったと思う。その繰り返しを経験してきた結果、プロダクトやサービスを良くするためのアプローチで仕事に向き合う方がいいよねと、たぶんみんな感じているんじゃないかな~と、勝手に思っています。
エピソード① ~一休.com UIチームの話~
これは一休.comのUIを担当するチームの話なのですが――。このチームは、どこかうまく機能していない時期があったんです。チームとしてのパフォーマンスが出ていないだとか、みんなで仕事しているのに全員の力が発揮できていないとかいう実感はあって、ミーティングをしてみたり、開発の仕方を変えてみたり、いろいろ試してみたけどどうにも上手くはまらない時期がありました。そんな時、GoToトラベルキャンペーンが実施されることになりました。GoToトラベルキャンペーンは、ご想像の通りこれまた難局だったんですよね。刻一刻と変わる状況の中で日々対応に追われて、チームが一丸とならないと乗り切れないという状態になったのです。でも、そういう状況になったら、みんなが自然にまとまり始めて、自発的にリーダーが生まれた。そこからですね、あのチームがものすごく強くなってきたのは。
エピソード② ~RESZAIKO開発チームの話~
RESZIKOの開発チームもそうでした。いざプロジェクトスタートという時に、新型コロナウィルスが拡がりはじめ、在宅勤務になったんです。それまでエンジニアはホワイトボードに書き出しながら対面でコミュニケーションして開発項目をブレイクダウンするのが通常だったのですが、それができなくなった。zoom の小さな画面で、いままでと同じようにはディスカッションできない。でも議論すべきことは山積み、どうしよう……というかんじでしたが、やっているうちに別の方法でできるようになっていきました。みんな、自分の考えていることを絵に描いて、スライドにまとめて持ってくるようになったんです。僕のような開発マネジメントをしている人間からすると、これは変化だなあと思いました。ソフトウェアエンジニアというのはソースコードを書くのを優先したい人たちなんですよね。資料を作っている暇があったら、一秒でも多く実装に時間を使いたいものなんです。その方が早く問題解決できますから。それもあって以前は彼らが一生懸命スライド資料を作ってくるというシーンはほとんど見ることはありませんでした。
けれども、対面での会話ができないオンラインが日常になり、間に視覚化されたものがないと話が成立しないとなったら、みんな自発的に思考をまとめた資料を作るようになりました。それをもとに繰り返しディスカッションを重ね、衝突しながらもお互いに理解をしていくことで、一人で仕事をしているのではなく、チームみんなの脳みそを使っている状態になりました。結果、チームが一人ではなし得ない大きな力をもっているという状態になったんです。
今までどおりのやり方ができないのを環境のせいにして「zoom ではできなくなったねえ」で済ませる、思考停止するのは楽なんですけど、それだけではやるべきことを達成できない。だから変化に適応したという結果だと思います。
チームビルディングのHowtoよりも重要なこと
世の中にはチームビルディングの手法とか、いろんなHowtoがあります。そういうのも大事だとは思いますが、重要なことはそこよりも、どういうミッションをクリアしなくてはならないかということなんだと思います。達成すべきゴールがあって、それをクリアするために知恵を振り絞る。それをクリアするたびにチーム力が強くなっていく。この5~6年でそういうことがいろいろあって、一休のエンジニアも変わってきたかなという印象です。かつては、そのゴール設定が会社としてできてなかったな、と思います。
Q.今後はどう変わっていきますか?
業界自体が大きく変わっていくと考えています。最近「DX(デジタルトランスフォーメーション)」という言葉をよく聞きますよね。宿泊予約業界の DX はいまよりも進むでしょうし、飲食業界はもっと進むと思います。コロナや人手不足をきっかけにデジタル化・効率化していく市場の中で、僕たちもそれに対応していかなくてはなりません。そのためには、開発組織をもっと大きくしていかなくてはならないし、エンジニアの人たちは自分たちの業界がどうデジタル化されていくのが一番いいのかを、真剣に考えて取り組んでいかなくてはならない。そのためにすべきことは……山のようにあります。もうすでに着手していることもたくさんあります。
“数年後の世の中”に関わる仕事
振り返ると僕のキャリアは、基本的には「今どうなっているか」ということより、「数年後にたぶんこうなるはずだから、それに向けてこういうものを作っていこう」っていう仕事が多かったんです。世の中にまだブログっていう言葉がないときに「ココログ」っていうシステムを世に提案したりとか、ソーシャルメディアという概念がまだない頃に「たぶん3年後はみんな人づてでニュース見るようになるから」とSNSを統合したニュースメディアを作ったりとか、そんな感じでした。
宿泊予約業界や飲食店予約業界も数年経つと大きく変わっているはずだから、そこに関わるのはけっこう面白いんじゃないかなと思いますよ。旅行と食事のニーズはなくなりませんし、ITの世界も終わらないので。
▲毎週水曜に社内配信している「IKYU RADIO」。ともにDJを務めるCHRO 植村と、週替わりゲストとの絶妙なトークが大好評!
人気記事