リライトPJとリビルドPJの違いとは?
皆さま、はじめまして。
TIS株式会社で「Xenlon~神龍 モダナイゼーションサービス」のソリューション責任者を担当している葛谷と申します。
昨今、「デジタルトランスフォーメーション(DX)」や「2025年の崖」と言った言葉をよく耳にします。これらのキーワードについての定義は様々ではありますが、一言で言うと「デジタル技術の有効活用が企業を成長させる(DX)。しかしながら、現在でも老朽化したシステムを利用している企業があり、人的リソースや予算が奪われている。その為、システムのモダナイゼーションを早急に進めなければ事業機会を失ってしまう(2025年の崖)。」と言う事だと私は理解しています。確かに、激変する市場環境の中、経営者は先を見据えながらスピード感を持った判断を行う必要がありますが、往々にしてシステムがその判断の壁となることがあります。そして旧来のシステムによりできた壁によって新たなビジネスが阻害され、企業存続にも影響を及ぼしてしまう。また、ビッグデータやAI等の先進技術活用など、企業経営者のシステムに対する要求も日に日に増してきています。その為、旧来のシステムを利用している企業様はシステムの壁を取り除き、先進技術を有効活用してDXを推進するにはシステム再構築によるシステム全体のモダナイゼーションが必要不可欠となってきています。
システム再構築の手法としては、下図1で示した通り様々な手法が存在するが、今後のDX推進のために再構築を目指す企業においてはリビルド、リライトを選択されることが多く、その中でも、これまではリビルドを選択することが多くありました。
【図1:システム再構築方式の例】
リビルド(Rebuild) | 現行システムをベースとして新システムを再定義する。 |
---|---|
リライト(Rewrite) | 現行システムのプログラムをベースとして、新言語に変換する。※COBOLからJavaなど |
リホスト(Rehost) | 現行システムのプログラムを新言語に適合した状態にコンパイルしなおして稼働させる。※COBOLからOpenCOBOLなど |
リプレース(Replace) | 新システムの構成を保持したまま、ハードウェアのみ変更する。 |
理由としては、これまでの変換ツール(マイグレータ)の変換精度はそれほど高くなく、人手が必要になってしまう事で、結局はリライト(COBOLからJavaへの変換など)のメリット(低コスト・短期間・高品質)が享受できない事が多かったためです。しかしながら、リビルドを選択した場合であっても、現行システムの設計書が無いため仕様の把握ができず、COBOLなどのプラグラムの解析が必要となったことでシステム構築費用が高騰したり、見込み設計によりプロジェクトを進めたことで、現行システムの仕様を再現できなくてプロジェクトが頓挫したりする事例も多く聞かれました。(※過去には残念ながら当社においても、進行不可能と判断した事例が少なからずありました。)しかしながら、昨今は当社が開発した「Xenlon~神龍 Migrator」を代表とした高性能マイグレータも発表され、リライトマイグレーションを選択される企業様が多くなってきています。ただ、リライトマイグレーションが本格的に始まった歴史は浅く、それらのシステム開発における経験や情報の少なさから、企業様によってはリライトを選択することに不安を覚えたり、躊躇されたりすることがあります。本コラムにおいてはそれら不安を持つ企業様向けに、リビルドPJとリライトPJにはどのような違いがあるのかを解説していきます。
リライトPJとリビルドPJの違い
一言でリライトPJとリビルドPJの違いといっても、その違いは数多く存在しているため、本コラムでは読者が気になるだろう次の4点について解説します。
① 品質確保
② 上流工程の進め方
③ PJ体制
④ PJマネジメント
なお、リライトPJの中でも選択されるマイグレータの特性(品質・精度)によってプロジェクトの進め方が異なるため、本コラムにおいては当社の保有する「Xenlon~神龍Migrator」を利用したリライトPJをベースとしてリビルドPJとの違いを解説します。
① 品質確保
一般的なリビルドPJにおいての品質確保としては、「単体テスト/結合テスト/現新比較テスト/システムテスト」を実施することでシステム品質を確保するのが一般的です。
しかしながら、「Xenlon~神龍 Migrator」を利用したリライトPJの標準工程には「単体テスト」は存在しません。(厳密にいえば、一部の部品開発の単体テストは存在します。)その代わりに、「現新比較テスト」が大きなウェイトを占めています。これは、リライトPJ特有の考え方ではありますが、リライトPJの品質確保というのは現行システムと同様の振る舞いをさせると同義であり、機能的には不具合さえも同じ振る舞いをさせることになります。では、リライトPJとしては現新比較のみを実施することで、命令網羅(C0)や分岐網羅(C1)などの単体テスト的な観点でのテストは実施しないのか?と言われると、それは違います。当社サービスではリビルドPJで実施する「単体テスト」の代わりに言語のスペックを忠実に再現するためのテスト(言語スペック再現性テスト)の工夫によって、単機能としての品質確保を可能な限り行っています。ただ、リライトPJにおいても単体テストを必須とされるお客様も居られます。当然、一般的な単体テストも実施することもできますが、それだけ工数が多く必要になりますし、単体テスト実施に対するリターンはそれほど多くないのです。(***上記に現新比較テストで品質確保すると記載しているが、どこまで現新テストを実施すれば良いかはプロジェクトによって議論が分かれるところでもあるため本コラムでは言及しません。***)
【図2:リビルドPJとリライトPJの品質確保プロセス】
なお、余談ではありますが、リライトPJにおいて次期システムでは不具合を改善させたいと希望する企業様もおられます。当社の「Xenlon~神龍 Migrator」は業務ロジックを100%自動で変換することに強みを持っているため、当社としては現行システムで改善させた後にリライトとして移行するか、リライトしたシステムが安定稼働した後に手を加えることを推奨しています。
② 上流工程の進め方
一般的なリビルドPJの上流工程は「要件定義/外部設計」であり、これにより企業が求める次期システムの要求を定義して、その定義に従って内部設計→プログラミングと進められます。しかしながら、リライトPJでは一般的な「要件定義/外部設計」は存在しておらず、現状のシステム機能要件を満たすために何が必要なのかを調査するのが主なタスクとなります。PJの目的である「現状のシステム機能要件を満たしてオープン化し、今後のDX推進につなげること」を満たすプロセスが異なります。リライトPJの上流工程の代表的なタスクとしては以下の通りです。
- 現在の要件を満たす上で必要な資産(プログラム等)はどれか?
- リライト後に現行と同様の振る舞いをさせるために必要な部品(ミドルウェア等)は何か?
- 性能要件を満たすために必要な技術課題は何か?
ただし、リライトPJ完了後すぐに、機能拡張や先進技術を活用したDX推進に着手したい場合は通常の要件定義工程が必要になることがあります。また、その結果によってはリライト時のDBにおけるデータ格納方式を変えることもあります。そういう意味では、リライト後の状況がどのようなシステム構造になっているかを適切に把握しながら、機能拡張や先進技術の活用を検討していく必要があり、この上流工程が上手く進むとリライト後のDX推進に弾みがつくと考えています。
③ プロジェクト体制
上記①②で記載した通り、リライトPJにおいては業務要件の全てを把握して設計する工程はありません。その為、リライトPJで必要な業務SEはリビルドPJと比較して少なく済みます。しかしながら、新旧言語で活用するミドルウェア間の機能差異を吸収するためのアーキテクチャや、現新比較テスト実施のための自動化ツール検討など、技術的要素が強くなるためアーキテクトの割合は通常のリビルドPJよりも多くなります。また、システムの全体品質を確保するためのテスト計画の策定とテストの推進、各種制約を考慮した上での移行計画の策定と移行推進は通常のリビルドPJと同じだけ必要です。PJ体制を構築する際はこれらの特性を踏まえた上で検討を進める必要があります。なお、日本市場においてはアーキテクトの絶対数が少なく、複数のPJが同時並行的に動いている現状において十分なアーキテクトをアサインすることは非常に骨の折れることで、私もプロジェクトマネージャーとして苦慮しています。
④ プロジェクトマネジメント
プロジェクトマネジメントの観点においてはリビルドPJとリライトPJ間で本質的な違いはありません。何故なら、プロジェクトマネジメントを行う上での重要なタスクはPJ方針及び計画の策定、計画を実現するためのマネジメントであり、その本質はいずれのプロジェクトでも変わりません。そのため、リライト案件を経験したことのないプロジェクトマネージャーであってもそれほど構える必要はないと思います。しかしながら、上記①~③で挙げた通り、両者の進め方には違いはあるため、その違いを適切に把握し、理解した上でプロジェクトマネジメントを行う必要があります。
以上の通り、リライトPJとリビルドPJの違いについて解説してきました。さらに細かい話に踏み込むと両者の違いは多くありますし、それぞれで注視しなければならないポイントも異なります。しかしながら、それほど恐れる事でもないと考えていますので、リライトが頭の片隅にある企業様は一度本格的にリライトを検討してみてはいかがでしょうか。今回のコラムが皆様の企業において、システムモダナイゼーション企画における検討の一助になれば幸いです。
「Xenlon~神龍 モダナイゼーションサービス」製品ラインナップ
「Xenlon~神龍 モダナイゼーションサービス」シリーズはTIS独自のリライト手法によるマイグレーションを中心としたモダナイゼーションサービスで企業のDX推進をご支援します。
アセスメントサービス | リライトによるモダナイゼーションを検討中の企業様に対して「Xenlon~神龍 モダナイゼーションサービス」を活用したプロジェクト推進の『実現性』と『実効性』を検討します。 さらに、ご希望のお客様に対しては情報システム化戦略やエンハンス革新戦略・DX戦略の評価・診断をご支援します。 |
---|---|
マイグレーションサービス | TIS独自のリライト技術「Xenlon~神龍 Migrator」を活用して、レガシーな言語(COBOL、PL/Ⅰなど)からJavaへのリライトを実現し、オープン環境へ移行します。業務ロジックの100%を自動変換するとともに、メインフレームと同等以上の処理性能を実現します。 |
エンハンス革新・DX推進サービス | マイグレーション後の早期エンハンス革新やDXの実現に向け、各種戦略やマイグレーションプロジェクトからの情報をインプットにしてエンハンス革新計画・DX計画を立案。 PoCを実現しながら実現性を検証するとともに、必要に応じて、マイグレーションプロジェクトにフィードバックすることで早期にエンハンス革新・DX実現に向け推進します。 |
エンハンス革新・DX実践サービス | システムの正常稼働を保つためのメンテナンスをはじめ、オープンシステムの手法を有効活用した安全なリファクタリングやエンハンスメント革新の実践によるシステム効率を支援します。またマイグレーション後のシステムをベースとして、データ利活用や先端技術活用などDX実践を支援します。 |