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

MUITにおける開発プロセスモダナイズの取り組みについて / Modernize the De...

MUITにおける開発プロセスモダナイズの取り組みについて / Modernize the Development Process at MUIT

2025年11月11日(火)に開催された「【FITA】第3回モダナイゼーション委員会 勉強会」に登壇した際の資料です。
https://fita.or.jp/news/20251112

More Decks by 三菱UFJインフォメーションテクノロジー株式会社

Other Decks in Technology

Transcript

  1. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    髙橋 博実 三菱UFJインフォメーションテクノロジー(MUIT) デジタルイノベーション本部 シニアテクニカルリード これまでのお仕事 市場リスク計算に 関するアプリ開発 ※銀行合併対応 アプリケーション フレームワーク (骨組み/土台)開発 スマートフォン アプリ開発でのスクラムマスター (Scrum アジャイル開発) 3 R&Dの実施、アジャイル含めた、 より良いアプリ開発等の コンシェルジュ活動 開発プロセスモダナイズ施策推進 外部への活動 Java関連イベント (JJUG CCC)登壇3回 (直近では2024/10に登壇) 日経SYSTEMSへのJava 関連寄稿1回 アジャイル関連イベント(AgileJapan2021および2022、 AgileTechExpo、ふりかえりカンファレンス2022、 XP祭り2025)登壇 MUIT YouTube 技術テーマ解説 JakartaOne Livestream – Japan2022登壇 https://jakartaone.org/2022/japan/ 他社との技術交流会の企画、運営 (金融アジャイルMeetup、個社との定例共同勉強会) MUIT テックブログ運営・執筆 https://zenn.dev/p/muit_techblog 自己紹介 3 $ ¥ € 開発生産性 カンファレンス2025 登壇
  2. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    金融系のIT会社である弊社における開発プロセス・ツールに関するモダナイズ、改善 の状況について、同様の課題をお持ちの方への情報の一助としていただきます。 本講演の狙い 4 本日の説明内容について 4
  3. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    アーキテクチャやシステム開発プロセス、ツールの見直し機会を作れておらず 保守性や、機能追加・修正の際の開発生産性の低下が課題になってきた。 5 エンタープライズな金融システムを多く持っている状況での課題 長年のシステムへの機能追加により アーキテクチャ観点、開発プロセス・ツール観点 の両面が古いままになってしまっていた。 また、金融システムという特性上、 セキュリティの恒常対応は必須。 製品の最新へのバージョンアップ、 セキュリティパッチあてした際の 無影響確認の負荷も課題になってきていた。 アーキテクチャ観点の刷新 → 古い技術の刷新、API化、クラウド活用、 コンテナ活用など、セッションの対象外 開発プロセス(CI/CD、テスト自動化)、 ツール環境の刷新 → 本セッションのメイントピック 本セッション のテーマ 前セッション のテーマ
  4. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    ”蛇口をひねれば水が出るかのように、常に新しいツールを手に入れ、使いこなせる状態” を目指し、推進中。 開発プロセス・ツール観点の刷新を目的として、2021年より施策開始 6 開発プロセスモダナイズの取り組み 1/2 AS-IS TO-BE ▪過去 ・学習コストが高い(情報が遠い) ・個人の裁量範囲が小さい ・組織の裁量範囲が小さい ・ゆえに、圧倒的に経験が少ない (進化するサイクルが生まれない) ▪本件後 インフラとして当たり前に水を使えるような 環境にする。 (ITの担い手として、皆が自分自身の 活動のインフラとして使い、各自の持つ プロセスへ組み込んでいける) スピード コスト効率 魅力 Up! Up! Up!
  5. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    7 現在は定着期としての活動中。今後の拡大期に向け準備していく。 開発プロセスモダナイズの取り組み 2/2 事前調査及び整備期 定着期 拡大期 ◼ 開発プロセス、 ツールを見直し フローを整理 ⚫ 開発環境 ⚫ 管理ツール ⚫ レビュー方法 ◼ 対応内容を決め 順次現場利用 できるように整備 ⚫ チケット管理 ツール ⚫ リポジトリ ⚫ テスト自動化 ⚫ CI/CD ⚫ 本番リリースの 高度化 ◼ 開発現場で利用定 着できるような各種 対応を実施 ⚫ 伴走支援 ⚫ 学習コンテンツ 整備 ⚫ 知見、実績の 社内共有 ⚫ マネジメントや BPなど現場社員 以外のメンバー への説明・交流 (マネジメント向け ハンズオン会も実施) ◼ 活用状況をダッシュ ボードで可視化、 改善策検討 ◼ (検討のもの含む) 各現場内で横に広げる 動きを促す ⚫ 現場内のエバンジェ リスト指名、評価 ⚫ 現場課題の吸い上げ、 施策メンバーにて 課題対応 ⚫ 全社KPI化、表彰 ◼ 他施策とのコラボレー ション、相乗効果を狙う ⚫ 既存システムの アーキテクチャ モダナイゼーション ⚫ オブザーバビリティ ⚫ アジャイル運営 など ソースの読み書きは VS Codeを使い、 変更内容はGitに Commitしましょうという 基礎的なところから指南
  6. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    ロナルド・ハイフェッツ氏がアダプティブマネジメント論で組織に対する課題は 技術的課題と適応課題に分類されると論じたもの。 技術的課題・・・ある課題に対して、新たな知識やスキルを身につけることにより、特定の「正解」を導き 出すことができる課題 適応課題・・・自分や組織の価値観や考え方、価値観ではそのままの活用が難しい課題 こんな新しいテクニックやツールがあるよ、と紹介・取り込み解決するのが技術的課題だが うまく組織に広めていくのには、現状の実態とこれまでの背景があるため、そこと向き合って開発現場に 寄り添いながら推進するということが重要。なお、この観点は補完的イノベーション論とも類似点がある。 アダプティブマネジメント、適応課題の観点を含めて推進する 8 (参考)施策を進めるための考慮点 ツールを使える 状況にする 現場ごとの 課題を解決する 現場メンバーにうまく 活用してもらい 効果実感を得てもらう
  7. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    開発用のローカル環境 チェックアウト(Clone) ・ソースコード 参照/編集 開発者 ・開発環境で コマンド入力(CUI) で実行ファイルを作成 コミット(Push) 依存ライブラリ ダウンロード ソースコード リポジトリ ライブラリリポジトリ (リモート) ソースコード リポジトリ (ローカル) • 開発用のローカル環境のツールとしてVS Code(Visual Studio Code)を導入し軽量化 • 開発環境での実行ファイル作成についてMavenを利用し、自動化を可能に • ソースコード管理・ライブラリ管理はGitLab / SonarType Nexusを利用し軽量化・効率化 • 今後についてはAI駆動開発につなげていく 9 開発全体像~コーディング~ SonarType Nexus モダナイズ後 モダナイズ前 開発用のローカル環境 チェックアウト ・ソースコード 参照/編集 開発者 ・開発環境で マウスを使って(GUI) 実行ファイルを作成 コミット リポジトリ (倉庫) 課題 手作業のため 自動化できない ソースコードと依存ライブラ リ(よく使う機能を纏めた部 品)が同居。煩雑で依存性 解決できない 開発環境で使 うツール。 シンクラでは 重い 対応・効果 AI駆動開発につなが る軽量ツールを導入 ソースコードとライブラ リを別々に管理 大量ソースコード を扱うには重たく 時間がかかり、壊 れやすい 軽快に利用可能 コマンド入力なので 自動化可能
  8. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    開発用のローカル環境 チェックアウト (Clone) ・ソースコード 参照/編集 開発者 ・実行ファイル作成 コミット (Push) ソースコード リポジトリ (リモート) ソースコード リポジトリ (ローカル) ・単体テスト ・無影響確認テスト GitLab CI/CD 10 開発全体像~単体テスト/結合テスト~ モダナイズ後 モダナイズ前 開発用のローカル環境 ・ソースコード 参照/編集 開発者 ・開発環境で 実行ファイルを作成 デプロイ テスト環境 (サーバー) ・Teraterm等で手動で デプロイ(=利用可能な 状態にする) ・手動テスト テスト 無影響確認 テスト デプロイ(=利用可能な状態 にすること)、テスト実行・検 証が手作業で非効率 対応・効果 単体テスト、無影響確 認テストを自動化 • 単体テストについて、JUnitを導入しテストコード記述・テスト実施し自動化 • 無影響確認テストについて、Playwrightでテストコード記述・自動化を実現。繰り返しテストしない部分につ いては手動テストで割り切り • GitLabによりデプロイと無影響確認テストを自動化し、アジャイル開発に合致したスピード感を実現 テスト環境 (サーバー) デプロイ 高頻度で無影響確認 が可能となる 自動デプロイにより 省力化 課題
  9. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    • CI/CD (継続的インテグレーション・継続的デリバリー)とは:ソフトウェアの変更を常にテストし、自動で本番環 境に適用できるような状態にしておく開発手法のこと。アジャイル開発を実現する手段として注目されている • GitLab CI/CDを活用し開発自動化を実現。ソースコード品質評価、単体テスト時のソースコードカバレッジ測定 を自動化する • 自動生成された結果について、開発者がGitLab Pagesを使ってブラウザ上で容易に参照できる 11 開発全体像 ~開発工程自動化・ソースコード品質評価・ドキュメントWeb化~ モダナイズ前 開発用のローカル環境 チェックアウト ・ソースコード 参照/編集 開発者 コミット リポジトリ (倉庫) ・チェックリストによる 目検確認 ・ドキュメント確認、 修正 人の目による 確認による非効率、 確認漏れの発生 共有フォルダ SharePoint など 参照・編集 バージョン管理・ 承認フローが 人手で非効率 開発用のローカル環境 チェックアウト (Clone) ・ソースコード 参照/編集 開発者 ・チェックルールの 策定 コミット (Push) ソースコード リポジトリ (リモート) ソースコード リポジトリ (ローカル) GitLab CI/CD ・ドキュメントを マークダウン形式(※) で作成 モダナイズ後 対応・効果 静的コードチェックを ツールで行うことで確 認作業を省力化 静的コードチェック、 ドキュメントを自動的にHTML 化しWebページ上に配置 ※マークダウン形式:Web上でテキストを書くための 軽量マークアップ言語。GitLab上での参照や別ツールにより きれいなHTMLファイルとして参照することができる。 テキストで管理できる ドキュメントはGIt管理 とし自動化 GitLab Pages 各種メトリクス・ ドキュメント参照 自動取得されたソースコード品 質評価・ドキュメントを参照でき る(手作業不要) 課題
  10. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    DevLakeというOSSツールを用いて可視化したメトリクスから計画を立てる 12 ユースケース①:保守運用時のコード保守性計測とリファクタリング計画 バグやセキュリティ関 連の指標については 開発案件中に対処 メンテナビリティ (技術的負債指標、重複コード率)に ついては、開発案件中は努力目標にし リリース後の対応を計画する メンテナビリティ (技術的負債指標、重複コード率)に ついては、開発案件中は努力目標にし リリース後の対応を計画する 全てに完璧な状態を 求めてしまうと過負荷に なる。コードの保守性が 悪いので本番リリース延期 とはできないことが多いので バランスをとることが重要
  11. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    既存のチームに新人や中途採用者、協力会社メンバーなどが実際の開発に入れるま での時間を測定するケースがある。 Time to First Commit といい、着任日からソースコードリポジトリへのコミット(格納)ま での時間を測り、受け入れ環境が整っていたか、迅速に開発開始できるチームになっ ているかを測ることが可能。 13 ユースケース②:新規参入者のオンボーディング効率の計測 着任 開発環境のセットアップ タスクアサイン 実装&コード コミット Time to First Commit (TTFC) 引用:https://bardoloi.com/blog/2018/02/02/time-to-first-commit/ ✓ ✓ ✓
  12. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    定量的な値は良い数字となるように誤魔化すという心理が働いてしまうことがある。 「グッドハートの法則(Goodhart’s Law)」は、経済学者チャールズ・グッドハートが提唱した概 念で、「特定の統計的指標が政策目標として使われると、その指標はもはや信頼できるもの ではなくなる」という法則。 つまり、ある指標が目標となると、人々はその指標を達成するた めの行動を取り始めるため、指標自体の本来の意味や有用性が失われる。 例:学校にて生徒の理解力の向上を改善するために「テストの点数」を目標の指標にした場合、教師や生徒は 試験対策など「テストのためだけの学習」を行うようになり、本来の物事への理解がおろそかになりやすい。 可視化される定量的な値はあくまで尺度であり、その目的を理解して内容を確認、日々の 行動に還元して今後の計画に反映させていくという動きが重要。 グッドハートの法則に陥らないように留意する 14 (参考)アンチパターンとして留意すべき点 ✓ ✓ ✓
  13. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    ・2029年までにオープン系で廃止予定の 無い全システムである約330システムの 対応を目指し、現在54システムに モダナイズ実施中。 ・実施済システムでの定量効果として テストフェーズ工数のうち10%の削減。 初回案件特有の内容が含まれるため次 回案件では15%削減を見込めると評価。 2024年4月より本格開始し、現状は以下の状況。効果実感の声も出始めている。 15 現状の予定と実績、効果実感の声 18 40 約330 0 50 100 150 200 250 300 350 400 2024 2025 2026 2027 2028 2029 新規・EOS案件内でモダナイズ 機能改善案件内でモダナイズ 14 モダナイズ適用システム数の推移・見通し 目 標 実施メンバーへのアンケートでのポジティブな声あり
  14. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    今回は以下の内容でお話させていただきました。 • 開発プロセスモダナイズとは、標準プロセスとして開発ツールを整備し、パイプライ ンを構築、効率化および働きやすい環境の構築を目指す。 • ガイドや学習コンテンツを拡充させているとともに、コンシェルジュと呼ぶ伴走支援 部隊も配置し、しっかり現場中心に物事を進められる状況と作り出すことで推進をし ている。 • 本取り組みは生成AIを活用したAI駆動開発やアジャイル開発拡大の発射台になる。 裾野を広げることで魅力的な社内環境を目指していく。 16 まとめ
  15. Copyright(C) 2025 Mitsubishi UFJ Information Technology Ltd. All rights reserved.

    本プレゼンテーションにより、視聴者と三菱UFJインフォメーションテクノロジー株式会社の間には何ら委任その 他の契約関係が発生するものではなく、当社が一切法的な義務・責任を負うものではありません。 本資料は信頼できると考えられる各種データに基づいて作成されていますが、当社はその正確性、完全性を保 証するものではありません。ここに示した全ての内容は、当社の現時点での判断を示しているに過ぎません。 また、本資料に関連して生じた一切の損害については、当社は責任を負いません。その他専門的知識に係る 問題については、必ず貴社の弁護士、税理士、公認会計士等の専門家にご相談のうえでご確認ください。 17 免責事項 17