Upgrade to Pro — share decks privately, control downloads, hide ads and more …

人材領域のレガシーシステムにおける 負債への向き合い方

人材領域のレガシーシステムにおける 負債への向き合い方

2025/2/20に開催したRecruit Tech Conference 2025の森廣の資料です

Recruit

March 03, 2025
Tweet

More Decks by Recruit

Other Decks in Technology

Transcript

  1. Agenda 1. 自己紹介 2. 本日伝えたいこと 3. 担当プロダクトについて 4. システム状況 5.

    一般的アプローチによる考察 6. 今回のアプローチ 7. まとめ
  2. 森廣 隆行 引きこもり・ゲーム 経歴 / Career 2015年10月にリクルートテクノロジーズにキャリア採用入社。 リクルートジョブズに出向し、『フロム・エー ナビ』の開発 リーダーを担う。

    その後、『タウンワーク』のテックリードを経験しリクルート ジョブズ全体のテックリードとして活躍。 2020年4月にリクルートのシニアアーキテクトとして任命され、 現在人材領域全体のアーキテクトとして活躍中。 趣味 / Hobbies プロダクトディベロップメント室 HR領域プロダクトディベロップメントユニット Application Solution部
  3. 今回のアプローチ • 疎結合化 ◦ 構築当初:AB両方>Aのみ≒Bのみ>未利用 ◦ レガシー:未利用>Aのみ≒Bのみ>AB両方 業務ライブラリ システムA システムB

    レガシーシステム 業務ライブラリ システムA システムB 未利用 Bのみ Aのみ A,B両方 A,B両方 Bのみ Aのみ 未利用 構築当初
  4. システムB システムA 今回のアプローチ • 疎結合化 FW FW 外部 ライブラリ 外部

    ライブラリ 業務共通ライブラリ 業務ロジック 業務ロジック システムB システムA FW FW 外部 ライブラリ 外部 ライブラリ 業務ロジック 業務ロジック Before 業務ライブラリ 業務ライブラリ After
  5. 今回のアプローチ • 総量の削減 ◦ プロファイラーによる未使用コードの可視化 ▪ Jacoco,GoogleCloudProfiler, async-profiler etc ▪

    クラス、メソッド、1行単位で利用可否を可視化 ◦ アクセスログから未使用導線画面の削除 ▪ 集客目的の静的ページなど 引用:EclEmma https://www.eclemma.org/jacoco/
  6. 今回のアプローチ • 規模の縮小 ◦ 毎月集計 20XX/04 20XX/05 20XX/06 : :

    20XX/03 Method A B C D E F G H I J K L 未使用 使用 使用 未使用 論点有
  7. 今回のアプローチ • 規模の縮小 ◦ 価値がない(未使用)or価値が低いコード ◦ =ビジネス的負債 時間 実働 コー

    ド 1Q 実働 コー ド 2Q 実働 コー ド 4Q … 価値が低 い 未使 用 未使 用 ビジ ネス 的負 債 実働 コー ド コード総量
  8. まとめ • 机上ではなく実体からのアプローチ ◦ まずはビジネス的負債の解消が先決 ◦ 時間はかかるので仕込みが大事 • 長期的な目線での下準備 ◦

    知らないコードを見る機会となり知見を増やせる ◦ ビジネス・モデル変化タイミングで迅速に追従できるように疎結合化