ガイド · 1 分で読めます

RBSは1回のバッチ更新で650万人の顧客をロックアウトした。失敗の原因は変更そのものではなく、その変更が何に影響するかを誰も把握できていなかったことだ

RBSの2012年の障害も、TSBの2018年の移行大失敗も、COBOLが古すぎて触れなかったから起きたのではない。変更が本番に出る前に、その影響範囲(ブラストラディウス)を誰も見渡せなかったから起きた。Legacy DragonのASTグラフが単なる翻訳支援ではなく、影響分析ツールとして設計されている理由。

RBSは1回のバッチ更新で650万人の顧客をロックアウトした。失敗の原因は変更そのものではなく、その変更が何に影響するかを誰も把握できていなかったことだ

その障害は「古いコード」の話ではなかった

2012年6月19日、RBS(ロイヤル・バンク・オブ・スコットランド)の担当者が、RBS・NatWest・Ulster Bankの夜間バッチ処理を制御するスケジューリングソフトウェアCA-7に対して、本来はルーティンのはずだった更新を適用した。この更新が失敗した。アップグレードを取り消す作業をしていた比較的経験の浅い担当者が、その夜のバッチ実行のスケジュールを保持していたファイルを誤って削除してしまい、夜間ジョブが実行されない、あるいは誤った形で実行される事態となった。結果として650万人の顧客が4日間にわたって口座にアクセスできなくなり、給与や支払いが反映されず、最終的にFCA(英金融行為監督機構)の調査を経て5,600万ポンドの制裁金が科された。

その後の事後検証で指摘されたのは、更新手順をめぐるテスト不足と文書化の不備であり、COBOLそのものでもなければ、バッチジョブの古さでもなかった。そのスケジュールは何年間も問題なく稼働してきたシステムだった。実際に破綻したのは、変更を本番に出す前に、そのスケジューラ更新が正確に何に影響するのかを事前に把握する能力だった。

TSBの2018年移行も、規模を変えて同じ物語を繰り返した

その6年後に起きたTSBのIT移行大失敗も、より大きな規模・より長い期間で似た構図をたどった。Slaughter and Mayによる独立調査によれば、ITコントラクターのSabisは、ATMサービスの中断を避けるために、新設した2つのデータセンターのうち一方のみをテストすることを推奨していた。しかも本番相当環境でのテストは、顧客データの移行がすべて完了した後になって初めて実施された。同一構成のはずだった2つのデータセンターは、実際のトラフィックがかかって初めて表面化する形で、構成に不整合があることが判明した。テストの過程で実際に洗い出された不具合は約2,000件あったが、稼働開始前に取締役会に報告されたのはそのうち800件にとどまった。その代償は、総額3億6,600万ポンドのコスト、8万人の顧客離反、さらにPRA(健全性規制機構)とFCAによる4,800万ポンドの制裁金であり、加えて移行を適切に監督しなかったとして当時のCIO個人にも制裁金が科された。

どちらの事例も、もはや誰も読めなくなったコードについての物語ではない。どちらも、スケジューラの設定変更やデータセンターの切り替えといった「変更」が、「これは実際に何に影響するのか」という問いに誰も確実かつ完全な答えを持たないまま本番に出されてしまった、という物語だ。

影響分析は、いまだにモダナイゼーションの「未解決部分」である

このギャップは時間が経っても縮まっていない。Celentが2015年から2025年にかけて実施された127件のコアバンキング刷新プロジェクトを分析した結果、全体の失敗率は37%に達している。別のGartnerの調査でも、コアバンキング刷新のおよそ半数が当初の目標を達成できずに終わるか、複雑さを理由に中止に追い込まれているという結果が示されている。アプローチ別の内訳も示唆的だ。「一括置き換え(リップ・アンド・リプレイス)」型の切り替えはおよそ58%の確率で失敗する一方、段階的な移行はおよそ71%の確率で成功している。段階的移行がうまくいきやすいのは、一晩の切り替えにシステム全体を賭けるのではなく、依存関係を一度に一部分ずつ理解し検証することをチームに強いる構造になっているからだ。

これは、RBSとTSBが痛い形で学んだのと同じ教訓だ。レガシーシステムのリスクは、コードが古いこと自体に集中しているのではない。誰かが何かを変更する前に、何が何に依存しているかを示す最新かつ信頼できる地図を、誰も持っていないことに集中しているのだ。

ASTグラフが単なる「読解支援」ではなく「影響分析ツール」である理由

これこそが、Legacy DragonのインタラクティブなASTグラフが本来解決しようとしている問題であり、1,200行のCOBOLプログラムを約6ミリ秒でパースするという純粋な速度以上の価値がここにある。どのプログラムがどのパラグラフを呼び出しているか、どのジョブがどのファイルを読んでいるか、どのコピーブックのフィールドがどの下流の計算に流れ込んでいるか — 制御フローとデータ依存関係を構造的にマッピングしたグラフは、障害が起きた後にレビューチームが手作業で再構築するものではなく、バッチスケジューラに手を入れたりデータ移行を切り替えたりする前に、あらかじめ手元に用意しておくべきものだ。このグラフはソースコードそのものから決定論的に生成されるため、書いた瞬間から古くなり始めるドキュメントとは異なり、変更のたびに再生成することで、影響範囲(ブラストラディウス)の全体像を常に最新の状態に保つことができる。

もちろん、依存関係グラフさえあればRBSのスケジューラ破損やTSBのデータセンター不整合を単独で防げた、と主張するつもりはない。どちらの障害にも、技術的な原因だけでなく組織やプロセス上の原因があった。構造的で常に最新の依存関係マップが変えるのは、「これは他に何に影響するのか」という問いに、変更が本番に出る前にチームが実際に答えられるかどうかという点だ。調査チームが事後に何か月もかけて答えを導き出すのではなく。


次のレガシーシステム変更を本番に出す前に、「これは実際に何に影響するのか」を把握したいと感じたら、dragon.aitytech.comでLegacy DragonのASTグラフを確認してほしい。COBOL人材の引退という、もう一つの待ったなしの期限についてもあわせて読めるほか、hello@aitytech.comまで問い合わせることもできる。

実績を見る

MinuteAIからAgentKitsまで — 私たちが提供した製品とプロジェクトをご覧ください。

ポートフォリオを見る

関連記事

ガイド

AppleとGoogleが無料で通話の文字起こしを始めた。それでもZoomのタブには手が届かない

iOS 26とGoogleのPixel Recorderは、無料でオンデバイスの通話文字起こしと要約を行うようになりました。しかしどちらのプラットフォームも越えていない境界線があります — それがまさにMinuteAIのChrome拡張機能が動いている場所です。

ガイド

日本の「最大12兆円」レガシー警告は、COBOL人材不足の話ではない。文字コードの話だ。

経済産業省の「2025年の崖」は、人材の引退や一括置き換えのコスト計算として語られがちだ。しかし移行プロジェクトを最初に静かに壊すのは、もっと小さく見落とされやすい問題だ——EBCDICとShift-JISは、英字と数字のどちらを先にソートするかすら一致しない。Legacy Dragonが文字コードを、後付けの前処理ではなくパーサー本体の関心事として扱っている理由。

ガイド

料金ページも従量課金もない理由 — PrivateAIが無料である経済的な仕組み

クラウドAIがトークン単位で課金されるのは、1回のクエリごとにベンダー側で実際の計算コストが発生するからだ。オンデバイスのツールにはその請求書が存在しない。この構造的な違いがPrivateAIのようなプロダクトに何をもたらし、何をもたらさないのかを解説する。