超上流工程の課題と逆Vモデル

2011年に明治記念館で行われたIPA(情報処理機構)フォーラムで、要求工学における新しい用語として「超上流工程」という言葉が使われた。当時のIPAの中のSEC(技術本部ソフトウェア・エンジニアリング・センター)による「ソフトウェアの品質を決める超上流工程(ステークホルダ要求の正しい理解と仕様化に向けて)」と題した講演では「高品質で安心・安全なソフトウェアを開発するために、ステークホルダの要求を漏れなく分析して正しく理解し、その内容を仕様として正確に記述することが重要」という意図のもとに、超上流工程のプロセスと適用技術などが紹介された。

IPAの定義による超上流工程では、システムの要件定義工程の前に事業部門によるビジネス検討を十分に行うべきであり、システム部門はビジネス検討がシステム化計画を策定するために十分であるかを見極めた上で、要件定義以降のプロジェクトの定義をすべきであるとしている。プロジェクト後半での要件変更による手戻りの発生の原因の多くが、システム開発着手段階でのビジネス検討の不十分性にあったという意味では、システム部門が、事業部門に対してシステム開発の前に、ビジネス検討を十分に行って欲しいという要求を突き付けた形となっている。

「営業効率を上げたい」とか「在庫を最適化したい」といった抽象的なビジネス目標をスタートにシステム開発に取り掛かってしまうと、「”営業効率が高い”とは具体的にどのような状態なのか」「扱う商材にとって最適な在庫量はどのようにして決まるのか」といった重要なビジネス課題がシステム部門に手渡されていることになる。一方、システム部門は、ビジネスからの要求の曖昧性を認識するものの、既存のCRMシステムやPSIシステムに”現場レベルの”要求で装飾を加えたものを開発しはじめる。多くのプロジェクトで、要求の抽象度の混在したエクセルのテーブルが、ビジネスからの要求を管理するためのツールとして使われ、重大なビジネス課題はその抽象度が高いゆえに、処理される要件のレベルには落とし込まれないままプロジェクト計画書の”背景”のページに移動してしまう。そしてシステムの姿が見えはじめた頃に、事業部門はシステムへの要求の曖昧さを認識する。最悪の場合は、配備されたシステムが営業効率を下げ在庫量の管理にこれまで以上の複雑さを要求することに現場が気付くことになる。

多くのプロジェクトでは、トップや現場からの抽象度の混在した要望がエクセルテーブル上でシステム要件として管理される。
要件の曖昧性に起因する手戻りや品質問題を解決するために、システム要件定義の前に十分なビジネス検討を行うことの重要性をIPAは「超上流工程」として提起した。

このようなビジネスからの要求の曖昧さの問題を取り除くために、BPR(Business Process Re-engineering)という取り組みがある。業務部門からシステム要求を引き出すだけでなく、ビジネス目標を定義し、定義したビジネス目標を達成可能とする業務プロセスを設計しようというアプローチである。

BPRを実現するためには業務の再設計が必要であり、そのためには現状の業務プロセスを描き出して分析する必要がある。ビジネス目標に照らして現状の業務の進めかたの問題点を分析し、それを解決するための業務プロセスを再設計する。このビジネス目標の明確な定義と業務プロセスの分析と設計が不十分なままにBPRを進めると、既存のERP/ERPパッケージを導入した形だけのものになってしまう。そこで我々は「逆Vモデル」というBPR実行のためのプロセスを定義している。

逆Vモデルは、我々が提唱する超上流工程のプロセスである。V字の前半は、現状の業務プロセスのリバースエンジニアリングプロセスである。そして後半が、ビジネス目標の再設定を受けて業務プロセスを設計する工程となる。逆Vモデルは、開発のVモデルに業務レベルでの設計レイヤを加えたものである。我々はこれを「業務レベル設計」と呼んでいる。PRePモデルはこの業務レベル設計に適用する方法である。

超上流工程の中のBPRを実行するためのプロセスとして我々は「逆Vモデル」を定義した。逆vモデルの前半は業務プロセスのリバースエンジニアリングであり、後半は業務プロセスの設計となる。
逆Vモデルは開発のVモデルに業務レベルでの設計を加えたものであり、我々はこれを「業務レベル設計」と呼んでいる。PRePモデルはこの業務レベル設計に適用する方法である。