IT化という言葉が一般的に使われるようになってから、すでに20年以上が経過しています。その中で多くのシステムが開発され、現在も運用されているでしょう。そうしたシステム(一般的にレガシーと呼ばれます)の中には、時代の変化に取り残され、時代遅れのアーキテクチャになっている場合があります。
レガシーなシステムを刷新するモダナイゼーションと、もう一つのキーワードであるマイグレーションの違いについて、基礎とその課題について解説いたします。
モダナイゼーションとは?
モダナイゼーションとは、既存のシステムを刷新して最新のテクノロジーやアーキテクチャに変更するプロセスを言います。主な目的としては、システムの効率化やセキュリティ向上、ライセンスコストの低減などが挙げられます。レガシーシステムをリファクタリングする、プラットフォームを移行する、新しいテクノロジーによる刷新など、さまざまな方法があります。
対してマイグレーションとは、既存システムやデータを新しい環境へ移行するプロセスになります。良くあるところでは、既存のオンプレミスシステムをクラウドアーキテクチャへ移行するケースが挙げられます。
この場合、現状のソフトウェアをそのまま利用し、新しい環境で動作させることもありますし、システム更改を含む場合もあり、マイグレーションと同時にモダナイゼーションを行うことも多くあります。。
モダナイゼーションが必要になるケース
モダナイゼーションが必要とされる理由はさまざまです。まず良くあるの理由は、技術が進化して既存システムが時代遅れになり、システム修正が複雑化・難解になってしまうケースです。また、ソフトウェアやハードウェアのライセンスが切れることで、サポートが終了するタイミングで取り組むケースもあります。
システム修正に時間を要するのは、企業の競争力低下につながります。市場にマッチしたサービスを素早く提供できなければ、あっという間にライバル企業に遅れを取ることでしょう。また、サポートが切れたソフトウェア・ハードウェアを利用するのは、セキュリティリスクにつながります。
マイグレーションの目的
マイグレーションはシステム移行が主なプロセスであり、その目的としてコスト削減や柔軟性の向上が挙げられます。特にクラウドへの移行は、スケーラビリティや可用性の向上につながり、サービスの状況に応じた柔軟なリソース増減を可能にします。また、多くの場合オンプレミスに比べて、初期コストを低減できます。
モダナイゼーションの課題
実際にモダナイゼーションプロジェクトを推進する際に課題となるポイントを3つ紹介します。
複雑性
長期に渡るシステム運用の中で、さまざまなカスタマイズが行われているでしょう。そうしたカスタマイズにより、システムは複雑になっています。それらを新しいアーキテクチャに対応させる、新技術で置き換えるのは容易ではありません。よく挙げられるのはCOBOLからJavaへの移行プロジェクトです。レガシーな技術を理解するエンジニア不足や、移行ツールの欠如が課題になります。
ビジネス上のリスク
一般的に、モダナイゼーションプロジェクトは大規模な開発になります。時間とコストがかかり、スケジュール上の問題発生も少なくありません。そして、プロジェクトが完了するまでは新しいビジネス要件に対応するのは困難でしょう。新規システムへの移行に失敗し、ビジネスが停止したという話題にも事欠きません。モダナイゼーションが必要なケースは多いですが、それに伴うビジネスリスクは正しく認識しなければいけません。
過去の資産への理解度
ドキュメントが残されていたとしても、すべての仕様を理解するのは容易ではありません。緊急で行われたパッチについては、ドキュメントが存在しないこともあります。また、運用の工夫で解決している要件があるケースも少なくありません。そうした人に依存した知識は、人事異動や退職などによって失われます。システム全体の理解が進んでいない中でのプロジェクト実施は、大きなリスクになります。
モダナイゼーションとマイグレーションのテストの役割
モダナイゼーション・マイグレーションプロジェクトにおいて、テストは極めて重要な役割を果たします。ここではテストのカテゴリー毎に解説します。
結合テスト
結合テストはシステムを個々のモジュールに分割して開発し、それらを正しく連携できるか確認するテストです。大規模なシステムであれば、実際の開発は個別のモジュール・コンポーネントに分割して行われます。また、マルチベンダーでの開発も良く行われます。そうした場合、徹底した結合テストが必要です。
システムテスト
システムテストは、システム全体が仕様通りに動作するかを検証するテストです。一般的に、結合テストの後で実施されます。システムテストでは、エンドツーエンドで機能が正しく実行されることを確認し、全体的な動作検証を行います。
パフォーマンス・負荷テスト
パフォーマンス・負荷テストは、実際の運用環境において、システムが期待通りの性能を発揮するか検証します。モダナイゼーションやマイグレーションでは、アーキテクチャの変更やインフラ周りの変更が行われます。そのため、ネットワークのレイテンシーや新しいデータベースなどによって、予定通りのパフォーマンスが出ない(旧システムより劣化する)ケースがあります。
ユーザー受け入れテスト(UAT)
実際のエンドユーザーがシステムを試用し、要件が満たされていることを確認するテストです。この時点ではシステムが完成している前提になりますので、ユーザー視点からのUI/UXを確認するのが一般的です。そして、ユーザーフィードバックを基に、最終的な調整や改善を行います。
マイグレーション品質向上支援について
ここまでで挙げた課題に対応すべく、バルテスではマイグレーション品質向上支援サービスを提供しています。これは、レガシーシステムからのマイグレーションプロジェクトにおいて、「仕組み化」を重視したテストサービスになります。古い資産の仕様を明らかにし、マンパワーに頼らないテスト支援を行います。
主な特長は3つあります。
現行システムフローの可視化
システムマイニングツールを活用し、「現行システムの仕様が分からない」という課題に対応します。システムフローが明らかになることで、マイグレーション対象となる資産の特定やテスト範囲の見極めが可能になります。
勘所を押さえた品質活動を推進
当社の品質管理支援担当(QMO)がプロジェクトに参画し、品質活動を推進します。マイグレーション経験者を中心としており、マイグレーションプロジェクトにおける品質活動の勘所を押さえています。
ツールを有効活用したテストの省力化と資産化
当社の提供するテスト自動化ツール「T-DASH」や、テスト管理ツール「Quality Tracker」を活用し、テストの省力化と資産化を実現します。
まとめ
本記事ではモダナイゼーションとマイグレーションの違いと必要性、課題、そしてテストの重要性について解説しました。どちらも一定のリスクが内在しており、適切な戦略とテストプロセスの導入が成功の鍵となります。
バルテスでは、マイグレーション品質向上支援サービスを通じて、マイグレーションプロジェクトの成功を支援しています。ぜひ、お気軽にお問い合わせください。