「古いコードが放置されているのは自社の看板が汚れているのと同義」ZOZOTOWN×Oisix×LIFULL HOME’Sが向き合う“レガシー”との戦い
商品取扱高2120億円、セール時には1秒間で120件もの注文が殺到する国内最大級のファッションショッピングサイト『ZOZOTOWN』。利用者数190万人を超える有機野菜中心の食材宅配サービス『Oisix』。物件数No.1を誇る不動産・住宅情報サイト『LIFULL HOME’S』。
2018年2月、人の生活に欠かすことのできない衣・食・住に関するサービスを提供する注目企業3社が集結してのコラボイベントが開催された。3社共に、創業から約20年という月日を経て主力サービスを育て上げてきた実績を持つ。しかし、それ故に生まれてしまったブラックボックスや、残されたままの古いコードが存在するに違いない。蓄積したレガシーといかに向き合い、改善していくか。各社のエンジニアが、その葛藤と本音を語った。
「自前主義」というポリシーが高品質のサービスを生む
イベントは、各社の開発体制や直近の取り組みに関するLTで幕を開けた。
「衣」分野からは、『ZOZOTOWN』の開発に携わるスタートトゥデイ工務店の橋本祐樹氏が登壇。同社は、ZOZOTOWNを運営するスタートトゥデイの拡大を背景に、エンジニア、デザイナー、アナリストなどが集結して2015年に設立された制作のプロフェッショナル集団だ。自社サービスに誇りを持ち、自分たちの手で作り、運用し、育てていく「自前主義」というポリシーを掲げる同社のエンジニアの特徴を、橋本氏は次のように語った。
「当社のエンジニアを表わす文化として、競争ではなく協調を重んじるという点があります。多様な人材が集まって1つのサービスを作っているという認識を持っているからこそ、仲間のアイデアを実現させるために協力したいと思いますし、互いを認め、支え合う雰囲気が醸成されています。
一方で、一人一人が自分で考え、自分で作り、自分で運用するという自覚を持っていることも特徴です。エンジニアだからといって『開発するだけ』『運用するだけ』という考えで仕事をしている者は、当社にはいません。私自身、営業やマーケティングのメンバーと一緒に施策を考え、実行しています。自分が考えたものなので高品質のアウトプットを目指しますし、その後の運用も自ら行うつもりでいるからこそ、運用しやすいコードを意識してプログラミングしようという意識が根付いているのです」(橋本氏)
アプリ継続率10~30%アップを実現した施策とは?
「食」分野からは、『Oisix.daichi』のiOS・Androidアプリ開発を担当するオイシックスドット大地の佐藤光氏が、自社アプリの成長促進のために行った3つの施策を紹介した。
1つ目は、Google Apps Scriptとスプレッドシートを用いることでシンプルかつ効率的な配信・分析環境の構築に成功したプッシュ通知活用。2つ目は、受注率・受注単価アップに貢献したAndroidアプリのリリース。そして3つ目が、メールマガジンやLINEでの通知から直接アプリを起動させることによるアプリ継続率の向上施策だ。
「定期的に配信しているメールや通知の中に、特に購入につながりやすいものがありました。そこで、リンクから直接Oisixアプリを起動させることでアプリのアクティブ率向上にもつながるのでは?と考えたのです。
その過程で、LINE に関しては OS ごとに対応が必要でした。Android の場合は、メールマガジン同様にトーク画面からURLにアクセスするだけでDeepLinksで Oisix アプリを起動できたのですが、 iOS のUniversalLinksではそうはいきませんでしたので、一度トーク画面のURLからLINEのwebviewに遷移した後、カスタムスキーム(oisix-app://)を活用してアプリ起動へとつなげました。この結果、アプリの週間の継続率がセグメント別で10~30%と大きくアップさせることに成功しています」(佐藤氏)
「ないなら作れば良い」エンジニアだから応えられるユーザーニーズがある
最後に「住」分野から、『LIFULL HOME’S』を運営するLIFULLの中島拓哉氏が、同サービスの過渡期にジョインし成長を支えてきた立場から、成熟領域のサービスの価値を向上させていくブレークスルーについて語った。
中島氏がジョインした2010年当時、同サービスには不動産ポータルサイトにとって必要とされる各種検索機能がすでに実装されていた。リニューアルを重ねたことで、UIもリッチで見やすくなり、レスポンスタイムも改善され、掲載物件数も右肩上がり。数値上は確かな成長を実現しているものの、中島氏はその状況に不安を募らせていたという。
「例えば友人に『LIFULL HOME’Sを作っている』と話しても、『そのサイトって昔からあったでしょ。そこで何をしているの?』と言われてしまう。この反応こそが、外から見た本質なのではないかと思ったのです。どんなに改善を繰り返しても、ユーザーにとっての価値は変わっていないのかもしれない。競合にも同じような機能がある状況において、ユーザーがLIFULL HOME’Sを使う理由はないのかもしれない、と。
そこで、家探しに必要な機能は本当にLIFULL HOME’Sに存在するのか?と改めて考えてみました。思い出したのは、就職のために上京して物件を探した時のこと。LIFULL HOME’Sを使って検索してみても、東京の地名も路線もわからない私は理想の物件に出会うことはできなかったんです。駅名、路線、家賃相場など、必要な情報はそろっているはずなのに。そろってはいるものの、ユーザーが求める状態にはなっていなかったのです。
そこから、全ての機能をユーザーが使いやすいように可視化する開発を進めていきました。路線図を見やすくして、乗り入れ路線を記載して、家賃相場と通勤時間を掛け合わせて見られるようにする。開発が難しい機能ももちろんあって、諦めたくなることもありました。ですが、諦める必要なんてないのです。なぜなら、私たちはエンジニアだから。今ないものは作ればいいだけですし、いきなり作るのが難しいのであれば、まずは必要となるツールから開発していけばいい。そう考えて実行していくうちに完成した機能もあります。特に地図検索ページのスピードはなかなか速くなりました。最初は、これ以上速度を上げるのは無理だと思いもしましたが、向き合い続けていくと道は開けていくんですよね。
まだ習得してない技術であっても、避ける必要はない。勉強すれば何とかなるのが、エンジニアの素晴らしいところだと思います。世の中に溢れる課題の中には、エンジニアリングを必要とせずとも解決できるものもあるかもしれません。一方で、エンジニアだからこそ提供できる解決方法もたくさんあるはずなのです。もしかしたらその中に、10年、20年先を生き続ける銀の弾丸があるかもしれない。私たちはそれを探し続けることで、ユーザーに『これがあるからこのサービスを使いたい』と思ってもらえるような機能を開発していきたいと思っています」(中島氏)
成長サービスが実情を告白! 蓄積するレガシーは、果たして負の遺産か?
イベント後半では各社そろってのパネルディスカッションが実施された。各社とも、サービスの誕生から今日まで、さまざまな機能をリリースし、改善を繰り返してきた歴史を持つ。その過程で生み出され、今やレガシーとなってしまったコードや運用フローも少なくないだろう。エンジニアであれば誰もがぶつかる壁にどう向き合っているのか、各社が考えを語った。
「目の前の開発に注力するあまり、過去のコードや運用フローと向き合う時間を取ってこれなかった」と前置きした橋本氏は、その上で、現状を打破するために同社が踏み切った取り組みについて説明した。
「ただ、レガシーが蓄積されているという認識は社内にもあったので、そこに切り込んでいくための新しいチームが立ち上がりました。5年後10年後を見据えてZOZOTOWNを作り直す専任チームです」(橋本氏)
事実、スタートトゥデイ工務店では2017年4月にエンジニアの大規模採用を実施。「ZOZOTOWNを作り直す」というミッションに意義を感じた数十名のエンジニアが新たにジョインしているという。
スタートトゥデイ工務店同様、リプレイスチームを立ち上げているのがオイシックスドット大地だ。2、3年後に向けたリプレイスを進める中で、佐藤氏は「レガシーは必ずしもネガティブではない」との思いを口にした。
「確かに、レガシーコードがあるがために新規の開発が進めづらくなることもありますし、自身が負の遺産を生み出しているのでは?という責任を感じることもあります。一方で、サービスの成長とレガシーの蓄積は比例していくものだとも思うのです。蓄積されたレガシーは、自分たちが挑戦してきた結果。そう考えると、ポジティブな部分もあるように思えます」(佐藤氏)
負の遺産とされるレガシーも、見方を変えるとネガティブさは解消されていく。あとは、これらとどう前向きに付き合っていくかが問題だ。その答えを、LIFULLの中島氏が語った。
「レガシーと向き合うのは、やっぱり辛いんですよね。ですが、ただ憤慨しているだけでは何も変わらない。仮に目の前で古いコードが放置されているのだとしたら、それは自社の看板が汚れているということなのです。その自覚を持つようになってからは、ちゃんと向き合わなければと思うようになりました。
そのうち、やり方を工夫していくと少しずつ面白みも感じられるようになっていきました。例えば、言語のバージョンアップが必要となった時、そのバージョンで破壊的変更があったとします。そういったリスクを検出できるようなツールを見つけ、使ってみる。そんなことに、楽しさを見いだすようになりました」(中島氏)
LIFULLでは四半期に一度、エンジニア全員が集まって今後のビジョンを話し合う総会を設けているという。そこで語られるビジョンに感化され、育つ若手も多い。結果、レガシーコードの対応を行う特別チームが結成されたこともあるそうだ。
各社とも、チャレンジングな施策を実施する裏側で、目の前のことだけでなく、過去の清算と未来に向けた投資を行っている。伸び続けるサービスに携わるエンジニアたちの言葉に、自身が携わるサービスの現状を見つめ直したエンジニアも少なくないのではないだろうか。近年の技術進歩は速い。だからこそ、時には過去と向き合うことが、結果としてより良い開発環境・体制へとつながるのだろう。
取材・文・撮影/秋元 祐香里(編集部)
RELATED関連記事
RANKING人気記事ランキング
米国優位が揺らぐ?ひろゆき「CPUの進化でGPU神話って崩壊しません?」【AI研究者・今井翔太が回答】
NEW!
表面的なテクニックより「基礎基本の重要性」に気付かされた一冊【Node.js 日本ユーザーグループ代表・古川陽介】
AWS認定資格10種類を一覧で解説! 難易度や費用、おすすめの学習方法も
NEW!
正論モンスター化に要注意!ぎくしゃくしない「ミスの指摘」のコツ【澤円「コミュ力おばけ」への道】
社会で成功するゲーマーに、ひろゆきが聞く「現実世界を攻略できないゲーマーに足りないものって何すか?」
JOB BOARD編集部オススメ求人特集
タグ