ソフトウェア開発において、納期が守れなかった、製品が完成してもユーザーの要求が十分に反映されていなかった、予想以上に経費が掛かった、というようなことがよく起こる。

 こういった問題には、多くの原因が複雑に関係しているので、それを回避するのは容易ではない。原因のなかで最も厄介なのが、要求定義の不備であろう。要求定義が不十分だと、特にウォーターフォールモデルによる開発では、開発の最終段階になってから、要求定義まで遡って再検討することになる。それが納期遅延や経費増大の原因になる。また、納期が厳しいときは、ユーザーの要求を十分に満たさないままで、見切り発車することにもなる。

 要求定義がソフトウェア開発の成否に大きな影響を与えるにもかかわらず、日本では要求定義の重要性をあまり認識してこなかったようだ。これは、「細かいところまで言わなくても分かってくれるだろう」という日本人の伝統的な悪しきコミュニケーションの形態にも、原因があるのではないか。

 米国で1995年に出版された書籍に「システムリクワイアメントエンジニアリング」というのがある。邦訳は1998年で、書名は「要求定義工学」である。この本は要求定義を、工学の立場から体系的に論じた専門書であるが、それが米国で13年も前に出版されているという事実には驚かされる。ソフトウェア開発に対する考え方が、日本とは基本的に違うのだろう。

 同書では、要求定義を要求の導出、要求の記述、要求の確認という3つのプロセスに分けて論じている。このなかの要求の記述に特に重点が置かれており、要求をどのようにモデルとして表現するかという、モデリングの考え方が示されている。これはこのところ注目され始めたモデル駆動開発につながるものである。

 情報処理学会の雑誌「情報処理」の今年4月号に、要求工学の特集としていくつかの解説記事が掲載された。日本の学会誌がこのようなテーマを大々的に取り上げるようになったことは、遅きに失したかもしれないが、大いに歓迎したい。

 ソフトウェア業界は早く学界の成果を吸収し、十分意に活用すべきである。それには、ソフトウェアの発注者側、ソフトウェアベンダーのシステムエンジニア、情報を専攻する大学生などが、要求工学を真剣に学ぶ必要がある。