WebパフォーマンスのExpertsが目指す 持続性の高いWeb開発

技術・デザイン

当社には、特定の分野に抜きん出た知識とスキルを持ち、第一人者として実績を上げているエンジニアを選出する「Developer Experts制度」があります。Webパフォーマンス領域のDeveloper Expertsとして、「Ameba」を始めとしたサイバーエージェントを代表するプロダクト開発を手掛ける原に「長くユーザーに愛されるプロダクトを目指すための、Webアプリケーション開発のあり方」を聞きました。

Profile

  • 原 一成 (AmebaLIFE事業本部)
    Developer Experts(担当領域 Webパフォーマンス)
    2008年新卒入社。主に「Ameba」関連の事業運営、開発を担当。パフォーマンス、アクセシビリティ、アーキテクチャなど、Webアプリケーション品質の向上に注力している。

Developer Expertsが取り組むソフトウェアテストのカルチャー形成

── 原さんの、現在のエンジニアとしての役割を教えて下さい。

私が所属するメディア事業部のライフスタイル管轄では「Ameba」や「ピグパーティ」、「ドットマネー」など、ユーザーのライフスタイルに寄り添うサービスを提供しています。

現在は、CTO統括室(グループ全体の技術戦略策定を行う横軸組織)に参加したり、ライフスタイル管轄の経営ボードに参画したりしています。事業やプロダクトに関連するトレンドや技術的、組織的な課題を分析し、短期的な課題解決や中長期的な技術戦略を立てるのが私のミッションです。

また、Webパフォーマンス分野のDeveloper Expertsとして、技術を使った品質改善や課題解決の活動もしています。最近は、Webアプリケーションのテスト自動化、デザインシステム「Spindle」の開発、プロダクトにおけるWebパフォーマンス改善などを手掛けています。

── Web分野のDeveloper Expertsとして、プロダクト開発におけるどんな課題に向き合っていますか?

Webアプリケーション開発において、テストの重要性は以前から指摘されています。テスト不足は、不具合や表示遅延などの原因になりやすく、利用者に不便をかけ、サービスの信頼性を損なう結果につながりかねません。しかし、既存のプロダクトに新たにテスト環境を導入する際には、工数の確保やスケジュールの調整、組織への周知など、様々な課題があります。そのため、導入がスムーズに進まないケースや、テストが後回しになってしまうプロダクトもあります。

Webが社会インフラの重要な一部となった現在、Webサービスの信頼性や一貫性が、社会を支える重要な要素になっているのが現状です。「ABEMA」も災害時には緊急チャンネルを増設し、緊急地震速報などを24時間リアルタイムで被災地向けに情報発信をする事で、インターネット時代の新たな情報インフラとしての社会的役割を果たしています

「どこでも、どんな環境でも安心して使える」というWebサービスのクオリティを担保するためにも、テスト環境の導入は必須と言えます。

そんな中、テストツールの発達やDevOpsの浸透など環境が整ってきたことにより、プロダクトに自動テストを導入するハードルも下がってきました。

── サイバーエージェントではどんなテスト環境を導入していますか?

すでに取り組んでいる様々な自動・手動のテスト環境がありますが、最近グループ全体での導入と運用を検討しているのが、ソフトウェアテスト自動化プラットフォーム「Autify」です。競輪・オートレース ネット投票サービス「WINTICKET」で既に「Autify」を導入していて、テストの自動化において十分な効果を発揮しています。

動作のテストに加え、ビジュアルリグレッションテストと呼ばれる「画面やコンポーネント単位の視覚的な検証」の自動化が可能で、テスト対象の新規変更と過去のスクリーンショット画像を比較し、意図していない差異がないかをピクセル単位で自動チェックします。

従来は人の手で行っていたテストシナリオが、これらのテスト自動化により大幅に軽減されました。例えば「WINTICKET」では、これまで約40時間かかっていたテスト作業が、1時間で完了するケースも報告されています。さらに、ノーコードでテストケースを作成できるので、エンジニアの工数を削減するだけでなく、職種を問わずテストを実施することが可能となっています。

こうした事例から、サイバーエージェントグループ全体に展開する価値があると実感し、2023年に開催された技術者版あした会議「CA BASE SUMMIT」で社長の藤田をはじめとした経営陣に提案しました。当日のプレゼンの結果、「テストによる品質担保やコスト削減は経営として投資する価値がある」と判断されました。現在はクライアントテスティング室を設立し、全社展開を進めています。

「CA BASE SUMMIT」でクライアントテスティング室設立を提案しました
「CA BASE SUMMIT」でクライアントテスティング室設立を提案しました

── テスト環境の導入の際に、重視しているポイントを教えて下さい。

重視しているのは、持続的で一貫性のあるプロダクトを目指すことです。「どこでも、どんな環境でも安心して使える」プロダクトを目指すことは、障害の予防や、アクセシビリティ向上につながります。その結果、機会損失や事業リスクが軽減し、サービスがより長期にわたってユーザーに愛されるものへと成長していきます。

つまり「テストによってビジネス的なメリットが十分にある」という共通の価値観を、組織で持つことが重要だと考えています。例えば先ほどの「WINTICKET」のテスト導入の例では、テスト項目に対して「事業リスク」を評価してその項目が満たせない際のインパクトを測ったりしていました。とても良い考え方でそのほかの事業でも転用できると感じました。

エンジニアにとっても、テストが開発サイクルの中に入っていれば、機能追加や修正、リファクタリングの際に何が満たされていれば目指している品質が担保されるか、一つの基準になります。

── そのような取り組みをする時に、サイバーエージェントのDeveloper Expertsとして、どのようなことを重視していますか?

我々Developer Expertsの活動を通して「プロダクトにおける見えない限界や課題を専門的な視点でフォローし、ビジネス・技術両面の可能性を示したり、限界を広げること」を重視しています。

プロダクトの開発現場において、メンバー自らで改善を尽くし、ベストソリューションを模索することは重要ですが、チーム内での努力だけでは限界があります。そんな時、我々Developer Expertsがもっているようなスキル・知見や業界との繋がりが、解決の糸口になればと考えています。

先日も、Figma Japan社でデザインシステムの開発事例について登壇しましたが、社外の技術コミュニティや技術提供をするプラットフォーム企業とのつながりは、プロダクトの課題解決において大きなヒントになりました。

2019年にアメブロのパフォーマンス改善でフルCDN化が大きな役割を果たした際も、社外からの知見に助けられました。世界を見渡すと既に先行して同様の課題に直面している会社があり、解決策もいろいろ検討されていました。それらをみていたため、導入のためのロードマップが描けたという背景がありました。

そういった知見を継続的にチームでより活用できるようにする取り組みとして、日本CTO協会が進めている、プロダクトのユーザー体験と変化に適応するチームのためのガイドライン『Webフロントエンド版DX Criteria』の作成に監修という形で参加させていただきました。私自身もとても勉強になりましたし、多くのチームで活用できるものに仕上がっていると思います。

クオリティで「持続的で一貫性のあるプロダクト」を目指す

── 「Ameba」は2024年9月にサービス開始20周年を迎えます。「持続的で一貫性のあるプロダクトを目指す」という点で「Ameba」のように長く続くサービスのクオリティの維持をどう担保するのでしょうか?

まさに「Ameba」のように長く愛されるサービスでは、クオリティの維持が重要です。開発チームが流動的に変化する事を前提としながら、ブランディングコンセプトの実現と担保、属人化の回避、意図しないデザイン派生の防止など様々な課題が生じます。また、プロダクトデザイン自体も、時代に合わせていかなければ、メンテナンスされていないサービスの印象を形成しかねません。

そういった課題をもとに、ブランディングの持続性をコンセプトに開発されたのがデザインシステム「Spindle」です。「Amebaらしさ」を定義し、それらを体現するために作られ、十分にテストされたアイコンやボタン、ダイアログなどのコンポーネントを、簡単に利用できるので、エンジニアは実装の際に再度開発することなく、プロダクト開発に集中できます。

「Spindle」がプロダクトのクオリティを担保するため、属人化を防止し、デザインコンセプトやアクセシビリティの担保が容易になります。「Ameba」を表現するためのあらゆる仕組みが提供されているので、エンジニアの生産性や開発効率を向上できています。試しに最近その生産性を計測してみたのですが、2024年6月時点で約3倍の時間的改善 (67%時間削減) を実現していました。また、最近のアップデートで「Figma」との連携機能を強化しました。今後は更にローコードなデザイン実装を目指しています。

「Spindle」のコンポーネントは、Storybookで動作確認が可能で、ソースコードはGitHubでも公開しています。私自身も業界の知見に助けられているので、この事例が他の場所で何かしらチームの課題解決に役立てられたらと考えています。

流れが速い時代だからこその、エンジニアの本質的な価値とは?

── クオリティやパフォーマンスに関して、エンジニアが当たり前のように意識する技術カルチャーを形成するために、どんなことが重要だと思いますか?

1つヒントになるのは、当社若手のWebフロントエンドエンジニアたちが運営している「Muddy Web」という技術コミュニティです。このコミュニティでは「Webフロントエンドの現場における泥臭い開発事例」を勉強会ポッドキャストで発信しています。

更に「Web Speed Hackathon」というWebアプリケーションのパフォーマンス改善コンテストを毎年開催しています。マンガアプリやベッティングサービスなどをお題に、非常に重たい Web アプリをチューニングして、いかに高速にするかを競う競技で、毎年多くの社会人や学生が参加して腕を振るっています。

これらの活動に共通するのは、一見すると泥臭い失敗談や試行錯誤を、参加者が楽しそうに共有している点です。勉強会では日本経済新聞社LINEヤフー社をゲストに招いて、お互いの知見を共有していたりもします。

当事者が、こういった前向きなチャレンジやトライアンドエラーを率先して学びの場に変えているのが、サイバーエージェントの技術カルチャーの良いところだと思っています。「Muddy Web」のように勉強会を開催したりポッドキャストを配信しながら、楽しく啓蒙活動する事で、技術カルチャーが醸成されていくのではと考えています。

── 「持続的で一貫性のあるプロダクトを目指す」という方向性がありながら、生成AIや技術のコモディティ化によって、エンジニアリングのありかたが変わる可能性もまたあります。Muddy Webの若手からも「生成AI時代に求められるスキルセットは?」という相談の声が寄せられました。エンジニアリングマネージャーでありながらDeveloper Expertsでもある原さんは、これからのエンジニアのあり方をどう考えていますか?

生成AIの浸透もあり、サービスやアプリを開発するための環境や生産性は飛躍的に向上しています。その一方、自分のスキルセットが陳腐化するような不安を覚えたり、同じ環境に居続けている事に対してキャリア的な不安を感じる気持ちもよくわかります。

例えば、サイバーエージェントでは1,000名以上のエンジニアがGitHub Copilotを活用し、約4割のエンジニアから「コーディング業務を2割以上削減できた」というレポートがあります。生成AIの活用により生産性が向上しましたが、エンジニアの仕事が減ったわけではありません。むしろ社内における生成AIの活用が一通り周知された状況の上で、新たなビジネス課題を前に、エンジニアにも新しい役割が求められていると言えます。

特に「生成AIをどう既存プロダクトに組み込むか?」は注目すべき課題です。2024年5月のGoogle I/Oにおける新バージョンのChromeに、生成AIをオンデバイスで利用できる機能の搭載が発表されました。Googleが公開したデモで「Amebaブログ」の記事作成を、Chromeの生成AI機能がサポートしているシーンが紹介されました。

エンジニアリングの役割は、複数の事象から課題を見極め、技術で解決方法を模索し解決することで、ビジネスやサービス、組織の価値を向上させる事にあります。

どんな時代であっても課題は常に存在し、生成AIをはじめとする技術はその解決手段として使っていくものだと思います。

課題に対する取り組み方や解決方法は進化していますが、地道な検証や技術的な探究心を持ち続けることが重要です。例えば、パフォーマンス計測ツールで満点が出たとしても、実際の利用者の環境では違っているかもしれませんし、サービス運営していくうちに劣化しているかもしれません。継続的にモニタリングし、ボトルネックを発見し、よりよくしていく姿勢が必要です。

「持続的で一貫性のあるプロダクトを目指す」とありますが、この方向性は「持続的なエンジニアのキャリア形成」にもつながると思っています。持続するためには、既存の事柄を改善したり、新しいことにチャレンジしたりして進化していく必要があります。「持続性」というキーワードが、長くエンジニアを続けていく上でも、重要な要素になっていけば良いなと思っています。
 

この記事をシェア

オフィシャルブログを見る

記事ランキング

生成AIで競争力強化「AIオペレーション室」設立1年の取り組み

技術・デザイン

Page Top