事例紹介:ADWAYS DEEE App modernizationプロジェクトを振り返る(前編)

Wataru Kitamura
Product Run
Published in
Apr 23, 2024

こんにちは、Tanzu Labs PMのWataruです。今回は、少し前にこちらの記事で紹介したSWIFTメソッドを使って実際に行われた、アプリケーションモダナイゼーションのプロジェクト事例を紹介させていただきます。
2023年12月から約4ヶ月間、我々と共にプロジェクトを行ったADWAYS DEEE様に、色々とインタビューをさせていただいたので、その内容をベースにご紹介していきます。前編と後編の2本立てを予定していまして、今回はその前編となります。ではどうぞ!

インタビュー話し手(左:Magariさん、右:Mochiさん)@ADWAYSオフィス

インタビュー内容に入る前に、話を聞いたお二人と今回モダナイズを進めたプロダクト「JANet」を紹介します。

話し手

  • Magariさん
    今回のプロジェクトにDevとして参加。ADWAYS DEEE社内ではCTOを務める(CTO自らエンゲージメント参加!)長く社内のアプリ開発プロセスの見直しや改善に関わっている。
  • Mochiさん
    今回のプロジェクトにPMとして参加。社内でPMの統括を行う立場で、「JANet」にまつわるビジネスやユーザに関して豊富な知識を持っている。

プロダクト

JANetはWeb広告のトラッキングをサポートするプロダクトで、Affiliate Service Provider (ASP)の1つ。Web広告がいつ誰によってクリックされ、成果(コンバージョン)に繋がったかどうかを追跡し、広告主とサイト間の報酬などを管理している。プロダクトの立ち上げから約20年経過、現在も拡大を続けており、アフィリエイト業界において圧倒的な広告数を誇っている。

エンゲージメント開始前

— プロジェクト開始前のことからお伺いしたいのですが、もともとJANetにはどんな課題感があったんでしょうか?

Magariさん:長い歴史のあるプロダクトで、昨今はビジネスの変化にスピーディに対応していくのが難しい状況になっていました。こういったレガシーシステムに対しては、新しく作り直すかそのままにするかの2択しかない状況でした。うまくレガシーとモダンが共存・並走するような形もトライしようと何度かリソースを割いた過去もありましたが、どうしても事業やビジネスに直結するプロジェクトが優先になり、途中で止まってしまい、そのまま再開しないなどの状況が続いていました。

そんな中、今回CEO経由でTanzu LabsのSWIFTメソッドを知り、そのコンセプトに非常に共感したというのが大きいです。モダナイズに対する優先度が上げられていないものの、技術的な側面からのアプローチでのモダナイズは、我々なりに出来る自信がそれなりにありました。難しいのは、SWIFTにあるビジネスからありたいアーキテクチャを考える、という点で、そこは我々の引き出しに無かったので、非常に魅力的に感じました。なので実際、JANetをどうにかしたいということ以上に、SWIFTへの共感がプロジェクトのスタートポイントだったかなと思います。

— なるほど。プロジェクト開始前に相互理解のためのワークショップの機会をいただき、SWIFTについてさらに詳しく説明させていただきましたが、その時点での印象はいかがでしたか?

Magariさん: 事前に聞いて想像していた内容と近く、期待通りでした。SWIFT自体が我々の「技術改善チーム」(プロダクトにユーザ価値を加えていくチームとは違う、プロダクト維持の方のチーム)の戦略のベースに出来るなという感覚がありました。優先度の付け方なども含めて。先ほども言いましたが、正直、自分たちだけでもテクニカルな面から言えば、時間をかければ新しく作る/モダナイズできると思っていて、レガシーとモダンの結果を比べて整合を取って・・など具体的なイメージはできている部分はありましたし、実際一部のツールはそういうことを見越して構築したりもしていました。でも「技術改善チーム」は、当然ですがどうしてもテクノロジーに行きがち。モダンな技術を使っているけども、ビジネス的なドメインとしてはバラバラで統廃合しにくかったり、なんてことも起こりかねない。なので、そこにビジネスの観点を入れたかった。事業貢献のためにテクノロジーのあり方を考え続けるんだよっていう部分をSWIFTはやり続けられるというのは期待通りでした。

— 今回人選が印象的で、CTO自ら参加されたり、マネージャクラスにエースの若手など、優秀な人を集めてくださったり、その辺は何か狙いがありましたか?

Magariさん:あくまでプロジェクト期間はキッカケに過ぎず、組織全体の文化に変化を与えるために、各チームからメンバーを集めました。ただ、当然それぞれのメンバーへの意図はあって、成長を期待していたり、今まであまり向き合ってこなかった部分と向き合ってもらったり、そういったことを総合的に考えてこの人選にしました。このメンバーを出すために他の社内メンバーが仕事を拾ってくれたりと頑張ってくれたので、それは非常に助かりました。

— 始めるにあたって不安な点はありましたか?

Mochiさん:モダナイゼーションにおけるPMってなにやるんだろうという不安はありましたが、事前のワークショップで、通常のプロダクト開発と大きな流れは変わらないということや、ビジネス視点の必要性について説明をいただき、ある程度は解消していました。実際にユーザーストーリーを書いて開発に入るまで、どのようなことが吸収できるか漠然な不安はありましたね。

SWIFT開始

Tanzu Labs東京オフィスでSWIFT開始。メンバー都合で日本語/英語が飛び交う形に

— そして実際12月からプロジェクトが始まり、SWIFTが始まったわけですが、初日はどういう印象でしたか?

Magariさん:まず、疲れましたね(笑)。場所も変わるし、メンバーも新しいし、英語もあるし、刺激が多かった。転職した、みたいな感じでしたね。でも、不安よりはワクワク感が強かったと思います。英語は世間話は全然分からなかったですけど、技術的なことならある程度分かりました。そして、自分で何かを伝える時に日本語のように抽象度上げたりせずに、シンプルにストレートに言うことになるので、逆に自分の考えを整理できた部分は結構ありましたね。でも、最初からリモートだったらキツかったかもしれないです。プロジェクト開始直後の最初の時間を対面で過ごせたのは大きかったですね。

— Event Storming, Boris, Snap-EとSWIFTをどんどん進めていったわけですが、やってみてどうでしたか?

Event stormingの一部

Magariさん:正直申し上げますが、もっとビジネス視点から入ると思っていましたし、もっと大変なのかと思っていました。今回トラッキング(広告をクリックした情報の追跡)部分の処理をターゲットにしていたので、ユーザーやビジネスの色が出にくかったというのはあると思いますが、粒度やイベントの出し方もかなり小さいし、思っていたより技術寄り。初めの一歩としては良いかもしれないが、本当にこれでいいのか??と思っていた部分もありました。

参加しているメンバーもエンジニアが多かったので、もしかしたら自分たちの得意な領域(技術側)に閉じこもってしまっているのか?という危機感のようなものも少しありました。

一方で、ホッとした部分もありました。一番避けたかったのはズルズルと話ばかり大きくなって形にならないこと。とりあえず形になっていってたので、そこは良かったなと思っていました。

— 約3週間のSWIFT期間を終えて、開発に入る前はどういう印象でしたか?

Magariさん:結果からすると、満足行くThin Sliceの切り方にできたなと思いました。我々だけで行った場合に、モダナイズ対象にしてしまいそうな処理を「このケースのデータの場合は、レガシーにデータを流して処理させる」みたいな判断もありましたが、そういう発想はなかったので。ここもここもやらないと(モダナイズしないと)・・、としているうちにずるずる広がっていくと思うので、その辺の「やる・やらない」の判断をSWIFTの流れの中で決められたことは良かった。まさに”ビジネスを考慮した薄さ”を切り出すことができたなと思いました。もちろんレガシーに残している部分、いつかはやらないといけないのですが、抑えるべき重要なポイントを押さえた上で、1ヶ月ほどでモダンアプリがリリースできそうなサイズ感だったので、そこは結構満足行く形になったなと思います。

Labsのメンバーと議論するMagariさん

Mochiさん:Event Stormingをやっていた時は、開発にどう着地していくか見えていなかったので、少し心配していました。あと、ビジネス的な漏れを全部網羅できているのか?みたいな不安もありましたね。でも、ビジネス的なイベントから洗い出すということ自体にはすごく手応えはありました。というのも、レガシーのコードの中に「このロジックはなぜ存在している?」というのが誰も説明できないものがそれなりにあるのですが、それをそのまま移しても意味がないものが再度作られるだけ。そうではなく、今のビジネスにあったJANetに作り替えるってこういうことだよね、というのがすごく共感できて。それが最終的にユーザーストーリーになっていくのが見えてからは、すごい納得感を持ちながら開発に入れましたね。

— エンゲージメント始まってから、事前に聞いたり想像していた内容とのギャップなどはありましたか?

Magariさん:SWIFTなどのプラクティスに関することではなく、チームでの仕事の仕方に関することになるんですが、これは、開発フェーズになってもずっと感じていたことであり、良い意味での驚きとギャップなんですが、同期的というか、お互いの理解のためのコミュニケーションに対する”徹底さ”ですね。我々も我々なりにコミュニケーションを取りながら上手くやっていると思っていたのですが、もっとチームとして一体感を出して突き抜けていくために、徹底してコミュニケーションを取るという部分、もっと出来るんだなぁと思いました。優秀な人が集まるチームでこういう部分にこだわると、もう一段突破したステージがあるなと。実際、そういうコミュニケーション濃度だったからこそ、英語が混じってもいけたんだろうなって気がしています。

後編へ続く)

前編はここまでです!いかがだったでしょうか?

個人的には、「ビジネス視点で入るべきだが小さいスライスを切り出せたのは良かった」というようなジレンマの話は非常にリアリティある話だったなぁと思っています。後編の開発フェーズ編と今後の話についても是非読んでみてください!

--

--