S
Smarter Business

モダナイゼーション10の罠|1.設計書の罠

post_thumb

冨田 裕

冨田 裕
日本アイ・ビー・エム株式会社
IBMコンサルティング事業本部
プロジェクト・マネージャー
メインフレーム・モダナイゼーション担当
 

「設計書の罠」とは?

レガシー・システムのモダナイゼーションにおいて、現行システムを把握することは不可欠です。しかし、現行システムの構築時の設計書やプログラム仕様書が既に存在していない、または開発担当していたメンバーが退職するなどメンテナンスがされておらず、最新の状況が反映されていないケースは、残念ながら珍しくありません。これを「設計書の罠」と呼び、現行システムの把握ができない状況は、モダナイゼーションの足枷となります。

現行システムをベースに新システムで新たな機能を追加する場合はもちろんのこと、プログラム言語をコンバージョン(単純変換)するケースや、あるいはプラットフォームのみ変更する場合であっても、現行システムの把握は不可欠です。

実際に起こっている問題

現行システムを新しいシステムに移し替える場合に、新システムには現行システムと同等の機能が何らかの形で実現されていること、いわゆる「現行保証」が求められます。ソフトウェア開発のV字モデルにおいて、現行システムの仕様を表す「設計書」が、「現行保証」を検証する際に拠り所となります。「設計書」が最新化されていない、もしくは存在していない場合、「現行保証」を検証することが大変困難になります。

図1 V字モデル図1 V字モデル

なぜこのような「設計書の罠」が生まれてしまうのでしょうか? システムが安定稼働しておりメンテナンス頻度が少ない、またはメンテナンス箇所が限定的であるなど、最新の設計書が存在しなくても、現行システムの保守運用が回るケースがあります。こうした状況下でも、何らかの問題発生時には直接プログラム・ソースを追っていくことで、最低限、保守運用を回していくことは可能です。しかしこうした状況下では保守運用に割り当てられるメンバーも限られ、設計書の書き起こしをするワークロードの確保が難しくなります。システム開発時のメンバーが既に離職してしまっているなども、現場ではよく見られる課題です。システム刷新レベルの対応を行うには、こうしたリソース面の課題も踏まえて「設計書の罠」を乗り越える必要があります。

「設計書の罠」の乗り越え方

「設計書の罠」を乗り越えるには、現行システムの設計書を棚卸し、不足している情報は補完し、古い情報は最新化していく必要があります。しかし、これらを現行システムの有識者だけに頼ってギャップを埋めていくのは、リソースの観点からも難しいところです。ツールを活用し、現行のプログラム・ソースから効率的にリバース・エンジニアリングを行うことによって、現行システム仕様を復元し、可視化することができます。この復元作業によって現行システムの設計を再現する手法は、N字モデルとも呼ばれます。

図2 N字モデル図2 N字モデル

現行システムの可視化については、データ・アーキテクチャーの観点で整理することを推奨します。データ・アーキテクチャーは、データの収集から、変換、配布、利用にいたるまでの管理の方法を示します。具体的には、データ・フロー・ダイアグラム、データ・ストア記述、データ・フロー記述、処理機能記述を整理し、そしてこれらを元にシステム鳥瞰図を作成することにより、現行システムの全体像と、データ・アーキテクチャーが可視化されます。データとその流れを可視化することで、業務内容を漏れなく分かりやすく視覚的に理解することができ、関係者の共通認識を得やすく、検証ポイントも分かりやすく整理ができます。IBMではこのようなデータ中心アプローチ(DOA)による大規模システム開発の実績があり、ツールを活用することによって、効率的に整理することが可能です。

図3 DFD4点セット図3 DFD4点セット

例えばメインフレーム上のCOBOLアプリケーションであれば、ADDI(IBM Application Discovery and Delivery Intelligence)というツールを活用してプログラム・ソースやJCL(ジョブ制御言語)を解析し、ボトムアップでプログラム構造やCRUD(クラッド:Create/Read/Update/Deleteの基本機能)を可視化することが可能です。また、ツールで解析した情報は新システムを構築するメンバーも簡単に参照することが可能となります。

まとめ

現行システムの仕様を表す最新化された設計書は、モダナイゼーションにとって欠かせないインプットとして位置付けられます。「設計書の罠」に陥らないためには、モダナイゼーションを行う前に、不足している現行システムの情報をデータ・アーキテクチャーの観点で可視化しておくことが欠かせません。そして、現行システムの情報を可視化するには、現行システムの有識者のみに依存するのではなく、プログラム・ソースなどをインプットに、ツールを活用してボトムアップでの情報整理を行うことが可能です。

本ブログでは、モダナイゼーションを進めるうえで陥りがちな10の罠について、IBMの経験に基づき、傾向と乗り越え方をシリーズでお伝えしております。今後の解説もぜひご覧ください。