Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

太りすぎコアモデルのダイエット作戦  〜決意編〜 / lmi-railstokyo-251218

太りすぎコアモデルのダイエット作戦  〜決意編〜 / lmi-railstokyo-251218

リンクアンドモチベーション登壇資料(2025/12/18)

太りすぎコアモデルのダイエット作戦  〜決意編〜
#railstokyo_meetup #リンモチ

===========================================
【イベント情報】
■イベントページ
 https://railstokyo.connpass.com/event/373075/

【株式会社リンクアンドモチベーション】
■お問合せ先
 [email protected]
■テックブログ
 https://link-and-motivation.hatenablog.com/
■開発組織の公式X
 https://x.com/LinkandM_dev
=============================================

More Decks by リンクアンドモチベーション

Transcript

  1. © Link and Motivation Group Rails Tokyo Rails Tokyo #2

    太りすぎコアモデルのダイエット作戦 ~ 決意編 ~ 株式会社リンクアンドモチベーション エンゲージメントプロダクトユニット 中﨑 健太
  2. 2
 © Link and Motivation Group Rails Tokyo 自己紹介 


    中﨑 健太(@kntnkzk5) 
 
 株式会社リンクアンドモチベーション 
 エンゲージメントプロダクト ユニット 
 • モチベーションクラウド の開発に従事 
 • 現在は、大規模リファクタリング と 
 新規機能開発のPJTに従事 
 • 一昨日の健康診断で腹囲が4cm下がりました! 

  3. 3
 © Link and Motivation Group Rails Tokyo 創業年月日|2000 年4月7日

    
 
 上場市場 |東京証券取引所 プライム市場 
 
 従業員数 |約1,500名 (グループ全体) 
 
 売上 |374 億 (グループ全体) ※2024年12月期  
 
 事業内容 |国内初の組織改善クラウド 
 会社紹介
  4. 4
 © Link and Motivation Group Rails Tokyo みなさんの開発現場ではどうですか? 触りたくないモデル、ありませんか?

    「このモデル触るの怖いな ...」 ⚠ 大量のアソシエーション、コールバック、バリデーションが詰まったモデル ⚠ あらゆる機能で使われていて影響範囲が不明 ⚠ 古参メンバーしか理解できないコード 「いつかはリファクタリングする」と放置されている ...
  5. 5
 © Link and Motivation Group ある日のできごと 最近、不具合・障害多くない? EM わたし

    多いです。。。 ただ、恒久対応はしっかり実行してます ...‼ で、減ってるの? EM わたし ぐぬぬ.....
  6. 6
 © Link and Motivation Group Rails Tokyo 🐞 不具合や障害が頻発し、対応に追われる日々

    ❓ 恒久対応や再発防止策は実行しているが、減っていかない ⌛ 機能開発に十分なリソースが使えてない きっかけ 不具合・障害が頻発 機能開発に使えるリソースが減少し、本来の開発速度も失われていく 
 「根本的な対策が必要」だという危機感が高まる 

  7. 7
 © Link and Motivation Group Rails Tokyo いくつかの軸で分析を行った •

    機能 • 開発チーム • バグ種別 • ユーザー特性 • 影響範囲 • etc… 原因調査がスタート 過去に発生した障害を一覧化
  8. 8
 © Link and Motivation Group Rails Tokyo 混入PJTもバラバラ 原因もさまざま

    機能に偏りなし 分析してみたが ... 分析に行き詰まる
  9. 9
 © Link and Motivation Group Rails Tokyo ほぼ全ての機能に 関わっている

    ライフサイクル も長い 薄々思っている ... カラム数めっちゃ多 いんだよな 肥大化したモデルが怪しいんじゃないか
  10. 10
 © Link and Motivation Group Rails Tokyo 実際どのくらい 不具合減らせる?

    課題感持ってるの 自分だけか? 一方で 触ったら事故りそう だから嫌だな 肥大化したモデルが怪しいんじゃないか
  11. 11
 © Link and Motivation Group Rails Tokyo 複雑な処理が多い ライフサイクル

    も長い 一方で カラム数めっちゃ多 いんだよな 肥大化したモデルが怪しいんじゃないか 確信・覚悟がもてない
  12. 12
 © Link and Motivation Group イネーブリングチームへの相談 一覧で分析したけど、イマイチ傾向が ... 障害と原因を

    1対1で捉えるんじゃなくて システム全体で捉えたら? イネーブリング チーム わたし
  13. 13
 © Link and Motivation Group イネーブリングチームへの相談 一覧で分析したけど、イマイチ傾向が ... 障害と原因を

    1対1で捉えるんじゃなくて システム全体で捉えたら? イネーブリング チーム わたし イベントストーミングを行い、 そこに障害をマッピングしてみることに!
  14. 14
 © Link and Motivation Group Rails Tokyo • 静的な図ではなく、動的に構造を可視化するものが望ましかった

    ◦ 静的: クラス図やER図 etc… ◦ 動的: アクティビティ図やユーザーストーリーマッピング etc… • リファクタリングを見据えて、ドメインの境界を見たかった なぜ、イベントストーミングか
  15. 18
 © Link and Motivation Group Rails Tokyo 実際にコスト算出してみた さらに、機能開発の遅延による「機会損失コスト」

    を加えると... × × = 15件 年間発生件数 4日 調査/復旧/ 振り返り工数 3名 関わる人数 180人日 総工数 ※数字は例であり、実際の数字ではありません
  16. 19
 © Link and Motivation Group Rails Tokyo 実際にコスト算出してみた さらに、機能開発の遅延による「機会損失コスト」

    を加えると... × × = 15件 年間発生件数 4日 調査/復旧/ 振り返り工数 3名 関わる人数 180人日 総工数 ※数字は例であり、実際の数字ではありません 定量化することで、 覚悟が決まった
  17. 20
 © Link and Motivation Group Rails Tokyo サマリ 図式化

    と 数値化 で「可視化」 することで 確信 と 覚悟 に繋がる
  18. 21
 © Link and Motivation Group Rails Tokyo 次回予告 可視化したことで逃れようのない課題に直面し、ダイエットを決意したチーム中﨑。


    難攻不落の太りすぎたコアモデル 。
 リファクタリングはお構い無しに進んでいく、機能開発。
 リファクタリング中にも発生する不具合。
 開発中にも次々と見つかる壁。
 
 どの角度から考えてもスリム化が絶望的に難しく、
 ダイエットを諦めて心が折れていくエンジニアたち、、、 
 果たして、10年近くかけて膨れ上がったコアモデルは減量できるのか? 

  19. 22
 © Link and Motivation Group Rails Tokyo 次回予告 太りすぎコアモデルの

    ダイエット作戦 〜 減量編 〜 (で、お会いしましょう!)