天竺めざして、引きこもる。

いまより知的で気楽に生きるために役立つ本を紹介します。

【DXレポートを読んで②】レガシーシステムの全体像を明らかにするにはどうしたらいいの?

レガシーシステム|全体システム構成図|脱却|問題点|わかりやすく|課題|改善|刷新|問題|PF変革手引書|DX

前回の記事で、DXレポートが老朽化・複雑化・ブラックボックス化した既存のITシステムがDX推進を阻んでいることを指摘していることついて触れた。

 

今回の記事では、

ブラックボックス化した既存システムの全体像を把握する方法について考えるため、情報処理推進機構IPA)発行の「プラットフォーム変革手引書」を紹介する。
プラットフォーム変革手引書(第1版)のリンク

 

 

プラットフォーム変革手引書(PF変革手引書)について

経済産業省が発表したDXレポートでは、老朽化・複雑化・ブラックボックス化した既存のIT
システムがDX推進を阻んでいることを指摘している。

そのため、既存のITシステムを変革する必要があるのだが、次の2つの理由により困難になってしまっている。

  1. 既存ITシステムが大規模化しマネジメントが困難
  2. 既存ITシステムがブラックボックス化し、構造や仕様が誰にもわからない。

このような課題に対して、ITシステム変革を行うための基本的な考え方を示すものとして、「プラットフォーム変革手引書」(PF変革手引書)が情報処理推進機構IPA)により作成された。

 

PF変革手引書では、次の4つの観点について、情報提供をするとしているが、現時点で最新版の第1版では、(1)、(2)のみが記述されており、(3)、(4)は今後公開予定とのことである。

(1)現状の超大規模システムを分割し、コントロール可能な粒度に整理する
(2)現行ITシステムの概要仕様を復元する
(3)DXの要件を満たすITシステムのあるべき姿を描く(未発表) 
(4)新しい開発方法でITシステムの変革を進める(未発表) 

 

これらのうち本記事では、「(1)現状の超大規模システムを分割し、コントロール可能な粒度に整理する」の内容について紹介し、既存システムの機能構成を「全体システム構成図」として表す手順を明らかにする。手引書の目次に沿うと、「第2章 現行 IT システムの全体把握」の部分となる。

現行ITシステムの全体把握 ー「全体システム構成図」の作成ー

アウトプットイメージ

まず、ゴールとなるアウトプットイメージについて確認する。

後述する作成手順に取り組むことで、下図のような「全体システム構成図」を作ることができる。

「全体システム構成図」 例

「全体システム構成図」 例

この図で主に表現していることは、次の4点。

  • 全体システムが、どのような機能システムで構成されいるか。
  • 機能システムが、どのようなサブシステムで構成されているか。
  • 機能システム間の連携関係および、どのような情報が連携されているか。
  • 外部接続先には何があり、どのような情報が連携されているか。

全体システム、機能システム、サブシステムの定義については、PF変革手引書(第1版)での定義を引用する。これらの用語は後述の、作成手順でもたびたび登場する。

全体システム 1つの企業全体が保有するITシステムすべてを包含する規模レベル。P2Mレベルのマネジメントが求められる。
機能システム 1つの企業の一事業部門が保有するITシステムすべてを包含する規模レベル。
複数のサブシステムから構成される部門システム。 総合テストを同時に実施する単位、サブシステム構成図を作成する単位に相当。
サブシステム 実質的に人が管理・認識し扱える、再構築などのプロジェクト単位として扱いやすいITシステム規模。オンライン/バッチ/Web/ゲートウェイなどの特性を持つITシステムに分類される。

作成手順

全体の流れ

全体システム構成図作成手順の全体の流れを示したのが以下の図である。STEP⓪~④までSTEPに分解できる。次から、各STEPの内容を説明する。

「 全体システム構成図 」の作成STEP

「 全体システム構成図 」の作成STEP

各STEP の内容

STEP⓪前提知識の獲得と有識者の特定 

*各ステップのまとめにジャンプ*

 

STEP⓪は全体構成図作成に向けた事前準備として、次のようにな資料の収集と、業務・ITシステムそれぞれについて有識者を特定する作業を行う。

 

業務概要を理解する資料の入手

 用語集/業務マニュアル /組織構造/組織図/業務分掌 など

 

有識者の確認

 ・複数のITシステムをおさえている有識者

 ・業務領域を広く理解している有識者

 

有識者としては、 10 名を限度として業務全体をカバーできるくらいのメンバーを特定する。まずは、IT部門のメンバーから確認を行い、必要に応じて業務部門の有識者に確認を行う。

 

*各ステップのまとめにジャンプ*

STEP① 企業全体の対象となるサブシステムとそれらの間の連携の明確化

 *各ステップのまとめにジャンプ*

 

STEP①では、サブシステムに関する調査を行う。

次のような手順で進めていく。

 

(1)現状稼働しているサブシステム、それらの関連を確認するための資料を入手(主に「サブシステム構成図」、「サブシステム一覧」)

  • 情報を収集する上では、 サブシステムに重複があってもよく、不足することがない ように、できるかぎり多くの資料を集める。
  • 「 サブシステム構成図」は、収集した後で、組織図の情報と対応付けて、すべてのサブシステム構成図が集まっているかを確認する。

(2)資料からサブシステムを洗い出す。また、サブシステム間や外部システムとの関連について整理する

収集した情報を基に、次のような「サブシステム一覧」と「サブシステム構成図」としてまとめていく。

 

「サブシステム一覧」の例

「サブシステム一覧」の例

”階層化された機能システム名”、"機能システム名"はSTEP②で埋めていく。

「サブシステム構成図」の例

「サブシステム構成図」の例

抜け漏れがないか、サブシステム間およびサブシステムと外部との連携情報が重要。

(1)での収集時に既存、「サブシステム一覧」と「サブシステム構成図」が入手できていれば、入手した資料に対して、サブシステム番号の重複がないか、粒度や記載の仕方が統一されているか、抜け漏れがないか、を確認し整理をしていく。

 

また、サブシステム構成図には、サブシステム間、サブシステムと外部の間の連携に関しても最新の状態に更新する。

 

(3)運用ログなど客観的な証左を用いて、一覧に抜け漏れや重複がないかを調査

この手順は情報の整備状態が悪い場合など、網羅性の担保が難しい場合に実施する。

ここで漏れが発生すると、再構築などを行う際に大きなトラブルへつながるので十分な検討が必要、とのこと。

 

PF変革手引書(第1版)では方法例として、

例えば、一年分のシステム運用ログなどを用いて、対象となるサブシステムを確認する。

(中略)

確認した結果は、「サブシステム一覧」の確認結果欄へ記載する。また、客観的な証左での確認でサブシステムに漏れが見つかれば「サブシステム一覧」へ追加し、稼働の実績が見つからなければ、「サブシステム一覧」からサブシステムの削除を行う。

 

出典:独立行政法人情報処理推進機構社会基盤センター.『PF変革手引書(第1版)』. 

https://www.ipa.go.jp/files/000089583.pdf. 2021年3月, P21

としている。

 

*各ステップのまとめにジャンプ*

STEP② サブシステムの機能システム単位へのグルーピング

*各ステップのまとめにジャンプ*

 

STEP②では、STEP①で整理したサブシステムを機能ごとのまとまりとしてグルーピング化して、全体システム構成図に配置する。

下図はSTEP②終了時点での全体システム構成図のイメージ。

仕掛中の 「 全体システム構成図」例

STEP②完了時点での「 全体システム構成図」(仕掛中)例

このアウトプットの作成は、次の手順で進めていく。


(1)サブシステムを機能システム単位へグルーピングし、サブシステム一覧に記載。

全体システムを表す上で、サブシステム単位は細かすぎで見ずらいので、5~20程度のサブシステムの集合を1機能システムとしてグルーピングする。

 

グルーピングの単位としては、サブシステム構成図の作成単位が1つの目安。

また、主管部門毎に機能的なまとまりをもっているので、組織構成の情報も参考になる。

 

グルーピングの結果は、下図のようにサブシステム一覧の”機能システム名”に記載する。

「サブシステム一覧」の例

「サブシステム一覧」の例

”機能システム名”欄がこの手順で追記された内容。

(2)グルーピングしたまとまりを、「機能システム一覧」として整理する

(1)でグルーピングしたまとまりである機能システム自体の一覧を、独立した一覧として整理する。

「機能システム一覧」の例

「機能システム一覧」の例

(3)機能システムとサブシステムを「全体システム構成図」として作成

この段階で、機能システムとそこに含まれるサブシステムを「全体システム構成図」として作成する。

仕掛中の 「 全体システム構成図」 例

仕掛中の 「 全体システム構成図」 例

この時点では、システム間の連携は未整理なので、独立した機能システムがポコポコ乱立しているだけの図となっている。

だが、全体システムがどのような機能システムで構成されているのかは、網羅的に把握できるようになっているので、明らかにかけている機能がないかの確認する。

 

(3)機能システム自体のグルーピングを行い、階層化し、結果を機能システム一覧と全体システム構成図に反映する

(1)で機能システム単位のグルーピングを行った結果、機能システムが2~30以上となった場合、機能システム自体のグルーピングを行い階層化する。おおよそ10前後となるように検討する。

階層化した結果は、機能システム一覧と全体システム構成図へ反映する。

機能システム一覧(階層化後)

機能システム一覧(階層化後) 例

仕掛中の 「 全体システム構成図」例

「 全体システム構成図」(階層化後)例

*各ステップのまとめにジャンプ*

STEP③ 機能システム間、および機能システムー外部接続先間の連携の整理

f:id:zuczuc:20210606222755p:plain

*各ステップのまとめにジャンプ*

 

STEP③では、連携関係(インターフェース)を整理する。下図は、STEP③完了時点での「 全体システム構成図」例。

「全体システム構成図」 例

STEP③完了時点での「 全体システム構成図」例

このアウトプットの作成は、次の手順で進めていく。

 

(1)サブシステム構成図から、他の機能システムと接続しているサブシステムを抜き出し、「機能システム間の連携一覧」としてまとめる

 

下図の点線部分が、他の機能システムとの連携部分の例である。

機能システム"e-コマース"に属するサブシステムである”旅客総合Webサービス”が、他の機能システム"予約"に属するサブシステムである”空席紹介”に連携している。

他の機能システムと接続しているサブシステムの例

他の機能システムと接続しているサブシステムの例

図(上)の点線部分が他の機能システムとの連携部分である。

機能システム"e-コマース"に属するサブシステムである”旅客総合Webサービス”が、他の機能システム"予約"に属するサブシステムである”空席紹介”に連携している。

上図の点線部分を、下図のように「機能システム間の連携一覧」としてまとめる。

「機能システム間の連携一覧」(例)

「機能システム間の連携一覧」(例)

 (2)「機能システム間の連携一覧」を使い、サブシステム間の内容を機能システム間で、入力/出力でそれぞれ1つ程度にまとめ、全体システム構成図へ反映する

(1)で整理した、内容を入力/出力それぞれ1つ程度にまとめる。まとめる際には、連携情報を、内容がわからなくならない程度に集約する。

例えば、同じデータの登録/変更/削除といった複数の処理をまとめて表現する。データの種類が複数ある際も、主要なデータの流れに着目して一言程度でまとめてしまう。

「機能システム間の連携一覧」 例

「機能システム間の連携一覧」 例

集約した内容は、全体システム構成図へ反映する。

仕掛中の 「 全体システム構成図」 例

仕掛中の 「 全体システム構成図」 例

(3)サブシステム構成図から、外部と接続しているサブシステムを抜き出し、「機能システム-外部間の連携一覧」としてまとめる

今度は、外部との接続を整理する。 

図の点線部分の"予約(団体)"が外部の"旅行代理店"と接続している。

「サブシステム構成図」(部分)の (例)

外部と接続しているサブシステムの例

図の点線部分の"予約(団体)"が外部の"旅行代理店"と接続している

上図の点線部分を、下図のように「機能システム-外部間の連携一覧」としてまとめる。

「機能システム-外部間の連携一覧」(例)

「機能システム-外部間の連携一覧」(例)

(4)「機能システム-外部間の連携一覧」を用いて、外部接続先のグルーピングと、機能システムとの連携に関しての集約を行う。外部接続先については、ほぼ同じ内容のやり取りをしている所を1つにまとめ、「外部接続先一覧」として整理する。結果は全体システム構成図へ反映

まず、外部接続先についてほぼ同じやり取りをしている所を1つにまとめる。

下図では、旅行代理店と施設等提供企業を、商品の販売委託先というくくりで販売企業としてグルーピングしている。 

「外部接続先一覧」(例)

「外部接続先一覧」(例)

次に、機能システムと外部接続先間の連携を集約する。これは(2)と同じように、1 機能システムと 1 外部接続先間の連携情報を、入力/出力でそれぞれ1つ程度に集約する。

「機能システム 外部間の連携一覧」 例

「機能システム 外部間の連携一覧」 例

グルーピングした外部接続先、および外部接続先と機能システム間の連携について、「全体システム構成図」へ反映する。

「全体システム構成図」 例

「全体システム構成図」 例

*各ステップのまとめにジャンプ*

STEP「全体システム構成図」の確認

f:id:zuczuc:20210606222826p:plain

*各ステップのまとめにジャンプ*

 

最後に「全体システム構成図」 として作成した内容を検証し、全体像を正しく表しているものへ作り上げる。

これまでの関係者へ確認し、各要素の理解が正しいかを検証する。確認した内容は 「 全体システム構成図 」 へ反映する。

作成過程で出てきた、現行ITシステムに関する課題を関係者と共有し、認識を合わせておく。

各STEP のまとめ

上記で説明した各STEPの手順の概要とアウトプットを下表にまとめる。表のリンクをクリくすると該当の説明箇所へジャンプする。

STEP

作業概要 アウトプット

STEP⓪
前提知識の獲得と有

識者の特定

・企業が属する業界のビジネス構造、業務概要と特徴を理解する
・業務概要を理解する資料の入手
 用語集/業務マニュアル /組織構造/組
 織図/業務分掌 など
有識者の確認
 ・複数のITシステムをおさえている有識者
 ・業務領域を広く理解している有識者
-

STEP①
企業全体の対象とな

るサブシステムとそ

れらの間の連携の明

確化

・現状稼働しているサブシステム、それらの関連を確認するための資料を入手(主に「サブシステム構成図」、「サブシステム一覧」)
・資料からサブシステムを洗い出す。また、サブシステム間や外部システムとの関連について整理する
・「サブシステム一覧」、「サブシステム構成図」として整理
・運用ログなど客観的な証左を用いて、一覧に抜け漏れや重複がないかを調査

・サブシステム一覧
・サブシステム構成図

STEP②
サブシステムの機能

システム単位へのグ

ルーピング

・サブシステムを機能システム単位へグルーピングし、サブシステム一覧に記載。
・グルーピングしたまとまりを、「機能システム一覧」として整理する
・機能システムとサブシステムを「全体システム構成図」として作成
・機能システム自体のグルーピングを行い、階層化し、結果を機能システム一覧と全体システム構成図に反映する。

・機能システム一覧
・全体システム構成図(仕掛中)

STEP③
機能システム間、お

よび機能システムー外部接続先

間の連携の整理

・サブシステム構成図から、他の機能システムと接続しているサブシステムを抜き出し、「機能システム間の連携一覧」としてまとめる
・サブシステム構成図から、外部と接続しているサブシステムを抜き出し、「機能システム-外部間の連携一覧」としてまとめる
・「機能システム間の連携一覧」を使い、サブシステム間の内容を機能

システム間で、入力/出力でそれぞれ1つ程度にまとめ、全体システム構成図へ反映する
・「機能システム-外部間の連携一覧」を用いて、

外部接続先のグルーピングと、機能システムとの連携に関しての集約を行う。外部接続先については、ほぼ同じ内容のやり取りをしている所を1つにまとめ、「外部接続先一覧」として整理する。結果は全体システム構成図へ反映

・機能システム間の連携一覧
・機能システム-外部間の連携一覧
・外部接続先一覧
・全体システム構成図(確認前)

STEP④
「全体システム構成

図」の確認

・作成した 全体システム構成図について、これまでの関係者へ確

認し、各要素の理解が正しいかを検証する。確認した内容を、 「 全体システム構成図 」 へ反映
・作成過程で出てきた、現行ITシステムに関する課題を関係者と共有し、認識を合わせておく

・全体システム構成図(完成)
・現行ITシスの課題

 

 【次回の記事】

sunuse.hatenablog.jp

 

 【前回の記事】

sunuse.hatenablog.jp

【関連記事】

sunuse.hatenablog.jp