Money Forward Developers Blog

株式会社マネーフォワード公式開発者向けブログです。技術や開発手法、イベント登壇などを発信します。サービスに関するご質問は、各サービス窓口までご連絡ください。

20230215130734

CREイベント「10年以上続くプロダクトの苦労と知恵 ~運用と技術の本音、3社がぶっちゃけます~」開催レポート

はじめに

先日、仕事が終わった瞬間にふと思い立って車を走らせ、気がつけば300km運転して宮崎にいた、てっしーこと@tositeです。
普段はマネーフォワード ERP開発本部 ガーディアングループ クラウド経費チームでCRE(Customer Reliability Engineer)的な立場から保守・運用や運用改善などを行っております。
最近はそれに加えて、エンジニアリング戦略室 エンジニアエンゲージメントグループ Fukuoka TechPRとして福岡の技術広報的な動きもしております。

ちなみに突貫宮崎旅行ですが、2日で合計700km運転したので、しばらくはしなくていいかなと思う今日この頃です。

さて、先日はRe+(株式会社スリーシェイク Relance事業部様が運営するイベントコミュニティ)主催の元、「10年以上続くプロダクトの苦労と知恵 ~運用と技術の本音、3社がぶっちゃけます~」というイベントに登壇してきました。
マネーフォワードからも私がパネルディスカッションに、みやむーshinoがLTセッションにそれぞれ登壇したので、開催・参加レポートを書き残したいと思います。

replus.connpass.com

当日のXの様子

イベント概要

イベントのアイキャッチ。「10年以上続くプロダクトの苦労と知恵 ~運用と技術の本音、3社がぶっちゃけます~」という文字とともに、パネルディスカッション登壇者3名のアイコンが写っている。

  • 主催: Re+
  • 開催日時: 2025年09月24日(水) 19時〜21時45分
  • 参加企業: GMOペパボ株式会社、株式会社SmartHR、株式会社マネーフォワード
  • コンテンツ: LTセッション、パネルディスカッション、懇親会・飛び込みLT
  • パネルディスカッション内容: 長期間運用されているプロダクトの技術的課題と運用ノウハウについて

LTセッション

それではまずは、LTに登壇してくれた2人からの感想とふりかえりを紹介してもらいましょう!
LTは全部で4名の登壇があり、そのどれもが保守運用やサービスを長く続けていく上での知見を共有する内容で、とても勉強になる内容でした。

shino 「iOSアプリの信頼性を向上させる取り組み」

shinoが登壇している写真。マイクを片手に、iOSアプリの信頼性を向上させる取り組みについて話している。

モバイルアプリという性質上、ユーザーの方々に寄り添った、使いやすくて信頼のおけるプロダクトを目指しており、そのための取り組みをリリース前後でどう行なっているかを、実際に使用しているツールを紹介しながらまとめました。
今後ともユーザーの皆さまにとって信頼できるアプリを作っていけるよう開発を続けていきます!

みやむー 「CRE から学ぶ障害対応術 〜暫定対応と恒久対応〜」

みやむーが登壇している写真。スライドのほうを向きながら、自己紹介をしている。

10年以上プロダクトを運用する中で、障害対応は避けて通れない難題です。5分のLTに、これまで数百以上の障害対応を経験してきたエッセンスを詰め込みました。
例えば、障害対応において第一に必要なことは「解決」ではなく「解消」です。これは一見違和感がありますが、現場で学んだ実感です。本発表が障害対応を恐れず、長く続くプロダクトを運用する一助になれば幸いです。

アンケート結果

LTセッションの満足度。非常に満足が45.5%、満足が36.5%と、非常に満足度が高い結果となった。

LTセッションのアンケート結果ですが、非常に満足・満足を合計すると実に80%以上の方にご満足いただける結果となりました。
一部、「会場が狭かった」「機材トラブルが残念だった……!」といったコメントもいただきましたが、そこはご安心ください!

現在、マネーフォワード 福岡開発拠点はオフィスの移転を計画しています。

corp.moneyforward.com

新オフィスではこれらの課題を改善した状態で最高のイベントが開催できることと思いますので、次回の開催をお楽しみに!

パネルディスカッション

パネリストの3名が議論している写真。左から、マネーフォワード tosite、SmartHR udzuraさん、GMOペパボ genkiroidさん。

そして、私が登壇したパネルディスカッションの内容を紹介します。
歴史の長いサービスあるあるなどを通して、なかなか普段聞けないような赤裸々な話を3社でぶっちゃける内容となりました。
各社が持ち寄ったホットトピックに対して議論をしていく形式で進められました。

なお、モデレーターはGMOペパボの内村さんに務めていただきました。

  • マネーフォワード
    • 登壇者: @tosite
    • ホットトピック: 「攻めの運用・守りの運用を通したDevOps的CRE活動」
  • SmartHR
    • 登壇者: @udzura
    • ホットトピック: 「労務データの理想的な履歴管理」
  • GMOペパボ
    • 登壇者: @genkiroid
    • ホットトピック: 「老舗サービスあるある・リバースエンジニアリングに必要なスキル・時空を超えて当時のエンジニアと会話をする」

攻めの運用・守りの運用を通したDevOps的CRE活動

マネーフォワードからは「攻めの運用・守りの運用を通したDevOps的CRE活動」というタイトルで議論させていただきました。
「攻めの運用・守りの運用って?」と思われた方については、以下のスライドで前に登壇したことがあるので、こちらも合わせてご覧いただければと思います。

我々Guardianグループは保守運用を生業とするグループですが、それだけではなく、CREを通して得られた経験を活かし、運用改善や将来の負債を減らすための活動にも注力しています。
「今現在問題が起きていることへの対応」を守りの運用、「将来的な負債を減らすための活動」を攻めの運用と定義づけることで、保守運用を行う中でもプロダクトを前に進めるための取り組みを進めています。

このトークテーマでは、CRE組織の理想と現実、頭でわかってはいても実現が難しいこの課題に対して各社どのような取り組みを行っているかについて焦点が当てられました。
例えばマネーフォワードでは、カスタマーサポートのメンバー向けに問い合わせガイドラインを作成してできること・できないことを事前に明示しておくことで、問い合わせに対する期待値の調整を行っています。
他にも、攻めと守りの比率を計測するために、保守運用の作業に対してもスクラムイベントを導入して、ベロシティを計測するなどの取り組みも行っています。

他方で新機能がリリースされる中で、リリース起因の問い合わせも含めてすべての問い合わせをCRE組織で対応するのは難しいという課題もあります。
それに対して、Guardianグループは基本的にすべての問い合わせを対応していますが、場合によっては開発チームへの連携を行っています。
といってもただ連携するわけではなく、状況の整理と問い合わせ内容の整理までを行ったうえでエスカレーションしています。これによって開発チームはスムーズに問い合わせに着手でき、少ないオーバーヘッドで対応することが可能になります。
最近ではGuardianグループの積極的なDatadog活用も少しずつ根付いてきており、よりDevOpsの橋渡しとなるような活動ができるようになってきています。

労務データの理想的な履歴管理

続いて、SmartHRさんのトピックについて議論しました。
SmartHRさんはデータの履歴管理において「BiTemporal Data Model」を導入されているとのことです。
参考: https://tech.smarthr.jp/entry/2023/06/15/141708

私もBiTemporal Data Modelについては気になっていたのですが、特に労務データとなると過去にさかのぼって変更されることが多く、かつその変更履歴を正確に管理する必要があるとのことでした。
履歴を正確に残すための手法としてBiTemporal Data Modelは極めて有用である反面、管理や理解が難しかったり、特にRuby on Rails(以下、Rails)などのフレームワークで利用されるORMでの実装が難しいなどの課題もあるようです。
確かに、Railsであれば基本的にはcreated_at/updated_atの2つのタイムスタンプで管理することが多く、レコードに有効期間などの情報を持たせる場合、更新や削除などの処理が煩雑になると思われます。
他方でデータ分析などの分野では非常に解釈しやすく、かつ欠損のない情報が得られるため、データの正確性が求められる分野では非常に有用な手法であると感じました。

CRE的な観点から見ると、キャッチアップにコストがかかりそうであり、かつデータパッチや障害対応時の調査時に苦労しそうだなと感じる反面、履歴を正確に追えるという意味では非常に強力であると思いました。
これからのBiTemporal Data Modelを巡るSmartHRさんの動向から目が離せませんね!

kaigionrails.org

老舗サービスあるある ・リバースエンジニアリングに必要なスキル ・時空を超えて当時のエンジニアと会話をする

続いてはGMOペパボさんのトピックです。
十数年続くプロダクトになると、当時の開発者が全員退職してしまっていることも多く、コードの意図や設計思想がわからないことも多々あります。
さらに運が悪ければ、当時GitHubなどのバージョン管理システムを導入しておらず、消失してしまった歴史などもあるでしょう。
そんな中で、設計思想からコードの意図を読み解き、リバースエンジニアリングを行うためのテクニックやノウハウをどのように活用していくかにフォーカスして議論しました。
コードを通して当時のエンジニアと文字通り「会話」しながら意図や設計思想を読み解いていくためにどうすればいいか、という、非常に興味深いテーマでした。

私もコードを読んでいて、コミットログから何も読み解けず、祈るような気持ちで当時のエンジニアに思いを馳せることがたまにあります。
ですが、その際に出土されるコードについては敬意を持って接するように気をつけており、いわゆる「レガシーコード」とは呼ばず、「レジェンドコード」と呼ぶようにしています。
これは以前、先輩エンジニアに教えていただいた言葉ですが、先人たちが築いてきたアプリケーションによって我々は今この会社にいることができているわけで、敬意を持って接するべきだという考え方に共感して以降、積極的に使うようにしています。

GMOペパボさんにも「すべてが自分ごと」というエンジニアバリューがあるそうですが、問い合わせ対応や障害対応を行う中で、敬意と、そしてオーナーシップを持ちつつ対応することが大切だと感じました。

おまけセッション: AI時代に求められるスキルは?

最後に、AI時代に求められるスキルについても議論しました。
ともすればAIに仕事を奪われるのではないかと不安になるというようなことが叫ばれていますが、CRE的な観点から見ると、むしろAIをうまく使えるかどうかが鍵になってくると思っています。

これは個人の感想に過ぎませんが、AIはプロダクトコードを書くのは割と得意だと思いますが、テストコードに対してはまだまだ苦手なようで、隙あらばありとあらゆるものをモックしようとします。
その結果、テストがレッドになるような変更をプロダクトコード側に加えたとしても、テストがグリーンで通る、なんてこともたまに目にします。
こういった傾向からも、AIが生み出したものが技術的負債を産まないか、パフォーマンス劣化の原因とならないかなど、運用観点からしっかりレビューすることが必要だと感じています。

AIが書いたコードを、AIがレビューしてリリースしたとして、それが原因で不具合やインシデントが起きたときにどうするのだろう、とふと不安に駆られることがあります。
そうならないためにも、やはり人間の目でドメイン知識や運用観点からレビューすることが重要であり、AI時代においてもCREの役割はますます重要になると感じました。

アンケート結果

パネルディスカッションの満足度。非常に満足が54.5%、満足が18.2%と、非常に好感触だった。

開催後のアンケート結果ですが、非常に満足・満足を合計すると実に70%以上の方にご満足いただける結果となりました。

懇親会

懇親会の最後に撮った集合写真。参加者全員が満面の笑みで写っている。

密度の高い議論が終わった後は、登壇者と参加者の皆さんを交えて懇親会が行われました。
懇親会の中では、いただいた質問やXでの発言に対して回答したり、深堀りしたりといった形で交流が行われました。
また、飛び込みLTも行われ、2名の方にLTをしていただきました!

終始和やかな雰囲気で、参加者の皆さんと交流できてとても楽しい時間を過ごすことができました。
改めて、参加者の皆さん、登壇者の皆さん、そしてRe+の皆さん、ありがとうございました!

おわりに

改めて、現在マネーフォワード 福岡開発拠点は移転を計画しております。

corp.moneyforward.com

移転後はより広いイベントスペースで、より快適な環境でイベントを開催できるようになると思いますので、これからのマネーフォワード 福岡開発拠点の動向にぜひご注目ください!