IBM Bobのアイコンとイラスト化されたピクトグラム

2日間、エンジニア1人、推測ゼロ:IBM Bobを使用して複雑なモダナイゼーションを簡素化

ITコンサルティング会社のNovacomp社は、レガシー・テクノロジーに基づいて構築されたビジネスクリティカルなエンタープライズAPIをモダナイズするために、IBMのAIファースト開発環境であるIBM Bobを利用しました。その成果は、スピードと効率をはるかに超えていました。

編集注記:IBM Bobは一般提供されています。この投稿は、技術的なお客様事例を紹介する短いシリーズの一部であり、IBMのAI開発アシスタントが、レガシー・コードベースのモダナイゼーション、新しいドキュメントの作成、コンプライアンスの確保、クリティカルなセキュリティー・アップデートの提案にどのように役立ったかを深く掘り下げています。

2025年秋、ITコンサルティング会社のNovacomp社は、既存のビジネス・ロジックを損なうことなくビジネス・クリティカルなJava REST APIをモダナイズするという、社内オペレーション向けの困難なアップグレードに取り組みましたこれは、3~5人のNovacompチームが完了するには数カ月かかる種類のプロジェクトです。古い依存関係を探し出し、手動で複雑なアップグレードを実行しながら、セキュリティー・リスクを管理し、すべての動作と基盤となる規約を維持します。

NovacompはIBM Partner+®として、IBMのAIベースの統合開発環境(IDE)であるIBM Bobのプレビューに参加しました。同社は、社内のモダナイゼーション活動の一環として、IBM Bobを試用することにしました。

その成果には目を見張るものがありました。IBM Bobを使用することで、シニア・ソリューション・アーキテクトで2026年のIBMチャンピオンであるNovacompのJorge De Trinidad氏は、複雑なアップグレードを2日間で完了しました。成果は、通常、大規模なチームで必要となる場合よりも約98%も高速でした。Novacompによると、IBM Bobは単なるコード・ジェネレーターではありません。コンテキストに沿った詳細なコードベース分析を提供し、構造の改善とアップグレードを積極的に提案し、将来のアップグレード・オプションのロードマップまで提示します。

この記事では、主要なユースケース、IBM Bobがモダナイズしたアーキテクチャーの詳細、IBM BobがNovacompとそのクライアントにもたらしたメリットについて詳しく説明します。

ユースケース:階層型Javaサービスのモダナイズ

このNovacompのクライアント・プロジェクトの主なユースケースは構造的なアップグレードでした。それは階層化された論理モノリスをリプラットフォームして、クラウドネイティブのマイクロサービス・アーキテクチャーを実現することです。アプリケーションは、古いバージョンのJavaで記述されたエンタープライズREST APIと、維持コストが上昇し、セキュリティー確保が困難になっていたレガシーの依存関係ツリーで構成されています。

APIの利用者は、変更データ・キャプチャー(CDC)環境に関わるチームを含む、ITインフラストラクチャー関連のエンジニアリング・チームでした。このツールは、IBMテクノロジーの複製を監視し、内部の利害関係者が使用するAPIを公開します。

これらはビジネス・クリティカルなAPIであるため、Novacompのチームは機能を厳密に維持するという課題に直面していました。アーキテクチャーをアップグレードしながら、ビジネス・ロジックとAPI規約を安定させる必要がありました。

モダナイゼーション以前は、リファレンス・アーキテクチャーは階層化されたJavaサービス(RESTコントローラー、サービス・レイヤー、Java永続化API(JPA)リポジトリ)で、MavenまたはGradleを通じて依存関係管理が行われる、リレーショナル・データベースを基盤としていました(後述の図を参照)。

IBM Bobを使用したNovacompのモダナイゼーション・プロジェクトのプロセスを示す図

モダナイゼーションの基礎的な推進力として、IBM Bobは単なるコード・ジェネレーター以上の存在でした。それは、エンジニアリングの検証ループに組み込まれたリポジトリ対応のアシスタントでした。Bobの推奨事項は、既存のコードベースをコンテキストに即して認識し、技術的な推奨事項について高い説明可能性を備え、エンジニアがそれを検証して改良する機会を提供する必要がありました。

本質的に、IBM Bobは開発者の決定に代わるものではなく、「認知の増幅器」として機能する必要がありました。例えば、JavaとSpring Bootのバージョンのアップグレード中に、IBM Bobはコードの構造、設定、依存関係をレビューし、コードに基づいた段階的な変更を提案しました。

非推奨の注釈、フレームワークのバージョン間の潜在的な破壊的変更を特定して説明し、アップグレードする前に完全な依存関係分析を提供しました。Bobは、クリーン・ビルドと依存関係の競合解決によって変更を継続的に検証する一方で、アーキテクチャー・レビューのために停止することで、人間をループに組み込みました。追跡可能な変更ドキュメンテーションは、エンジニアが変更のマージを承認する前の受け入れ基準として機能しました。

モダナイゼーションの後、アーキテクチャーはまだ階層型でしたが、構造的によりクリーンで将来に対応したものになりました:アップグレードされたJava(Java 17からJava 21 LTS)、最新のSpring Boot、統合され検証された依存関係ツリー、クラウドネイティブのプラクティスに沿ったリファクタリングされた構成などです。非推奨の注釈とレガシー・パターンが削除され、脆弱なライブラリーが排除され、アーキテクチャーは最新のデプロイメント・モデルとより整合性が高く、コンテナ化との互換性が強化されました。

このシナリオにおけるIBM Bobの価値は、次の4つの実践的な方法で示されました。

  • コードベースに関連するモダナイゼーション・ガイダンス。IBM Bobは、Javaだけでなく、Maven、Gradle、Spring Bootなど、Javaシステムで一般的に使用される他のツールのアップグレードも推奨しました。
  • 何週間にもわたる手作業による調査なしでの影響分析。ワークフローは、試行錯誤のアップグレードから、破壊的変更、推移的な依存関係の相互作用、微妙な構成の変更を早期に明らかにする、より管理されたプロセスに移行しました。
  • 変更の一環としてのドキュメンテーションとテストのモダナイゼーション。モダナイゼーションの取り組みには、更新されたドキュメントを作成し、アップグレードされたスタックに合わせてテストケースを更新することが含まれていました。
  • エンジニアが説明できるリスク軽減。CVEの数が話題にならなかったとしても、特にフレームワークの変更や依存関係の調整に関しては、移行自体にリスクが伴いました。IBM Bobは、変更をより体系的でレビューしやすいものにすることで、そのリスクを軽減しました。

速度だけでなくTCOを向上させるメリット

このモダナイゼーション・プロジェクトから得られるいくつかの成果は、コスト、リスク、デリバリーの予測可能性に直接関係するため、エンジニアリング・リーダーにとって重要です。

  • 想定外の事態を減らしながら、モダナイゼーション・サイクルを短縮。「月」を「日」に変えると、特に代替手段がチームを妨げ、調整コストを増大させる長期にわたる作業の場合に、アップグレードのスケジュールと管理の方法が変わります。
  • 移行時の運用リスクの低減。手動アップグレードによって回帰や下流のセキュリティーと安定性の問題が本番環境で発生する可能性は大幅に減少しました。
  • 構造とドキュメンテーションを通じて開発者エクスペリエンスを向上。レガシー・システムは、多くの場合、それを構築したチームよりも長く存続します。モダナイゼーションのワークフローでは、明確なドキュメンテーションと段階的でアトミックな変更の記録が生成され、急速な進化とリスク軽減のバランスをとるワークフローをサポートしました。
  • 具体的で現実的な検出事項。分析中に表面化した一例は、意図した役割を果たしていない変数でした。これは、「動作する」コード内に隠れているため、何年にもわたって残り続ける可能性がある微妙な問題です。
  • より包括的なカバレッジ。多くのAIコーディング・エージェントはコードを書くことができますが、モダナイゼーションに必要なコンテキストが欠けています。ただし、IBM Bobは依存関係、構成、テスト、およびダウンストリームの影響について認識しています。

IBM Bobはまた、古いバージョンから新しいバージョンにアップグレードするためのさまざまなルート(たとえば、マイクロサービスとより「従来の」方法など)への取り組み方に関する一連の推奨事項をNovacompに提供しました。このアプローチにより、IBM Bobが推奨事項の根拠を示すガイドとして機能し、変革ロードマップを作成できるようになりました。

アプリ、チーム、クライアント・エンゲージメント全体にパターンを展開

この特定のリファクタリング・プロジェクトにおけるIBM Bobの役割を超えて、Novacompに大きな影響を与えたのは、繰り返し可能なモダナイゼーション手法の発見でした。IBM Bobは、AIを使用して依存関係と構成の実態を早期に明らかにし、人間がアーキテクチャーの決定を管理できるようにし、ドキュメンテーション、テスト、ガバナンスを後付けではなくアウトプットとして扱うことができるようにします。

この再現性により、コンサルティング・モデルとしてのアプローチがスケーラブルになっています。同じワークフローを、メジャー・アップグレード前の予防アセスメントとして適用することも、プル・リクエスト・レビューの一部として適用して、開発プロセスの早い段階で破壊的変更や技術的負債の蓄積を防ぐこともできます。

また、さまざまなデリバリー・モーションもサポートしています。管理された環境内で作業が行われる「ソフトウェア・ファクトリー」でのデリバリーや、クライアントがライセンスを導入し、共同チームが一貫したツールとガバナンスを使用してコラボレーションできるようにするスタッフ増強に対応できます。

Novacompは、IBM BobをAIファーストのモダナイゼーション・レイヤーとして活用することで、複雑でリスクの高いJavaとSpring Bootのアップグレードを、管理された反復可能なエンジニアリングの実践に変えました。この手法により、移行リスクを軽減し、保守性を高めることができ、チームが毎回基盤を再構築することなく、クリティカルなサービスを進化させやすくなります。

より高品質のコードをより速く作成する方法を、無料トライアルでご体験ください

【オンデマンド配信】バイブ・コーディングの先へ:エンタープライズ開発のためのAI主導開発(30分)

Franz Peter Kroll

Country Manager, Novacomp Mexico

Chad Jennings

Global Head of Customer Voice and Product Experience

IBM