« ソフトウェア品質モデルの歴史(1)-最初の論文 | Main | ソフトウェア品質モデルの歴史(3)-品質モデルの開発と標準化 »

03 June 2012

ソフトウェア品質モデルの歴史(2)-Wulfの品質の定義

ソフトウェア品質特性の歴史について日本の書籍では「1973年にWulfがソフトウェアの品質特性を最初に体系化した」と書かれているものが多いのですが、米国の論文をいろいろ調べても「Wulfが最初に体系化した」というように書かれているものは見あたりません。また、Wulfの参考文献が"Programming Methodology"と記述されていたのでインターネットでいろいろ検索しましたが見つけられませんでした。更に、Wulfという人物についてはソフトウェア品質に関する論文や書籍で名前を見かけたことがなかったので、一体どこのどういう人だったのだろうかとずっと気になっていました。
  インターネットでの検索を続けているうち、一昨年(2010年)初めにようやく文献の正確なタイトルが以下であることをつきとめました。

"Report of a Workshop on Programming Methodology," Proceedings of a Symposium on the High Cost of Software, Naval Postgraduate School, Monterey, California, September 1973

すなわち、Wulfの文献は1973年9月に開催されたHigh Cost of Softwareシンポジウムの論文集に採録されているWorkshopの報告書だったのです。この論文集についても探すのに苦労しましたが最終的には国会図書館にあることが分かりコピーを入手できました。
  この論文集を読んで分かったことは以下のとおりです。

  • Wulfの文献は"Report of a Workshop on Programming Methodology"というタイトルで分かるように、ソフトウェア品質特性を直接的にとりあげた論文ではなく、シンポジウムにおけるWorkshopの報告書です。
  • このシンポジウムは、ソフトウェア開発コストの増大への危機感から、米国の空軍、陸軍、海軍の研究部門が共同で1973年9月に開催したもので、専門家を招集して解決策が検討されました。ちなみに基調講演は当時TRW社のBarry Boehmが"The High Cost of Software"というタイトルで講演。
  • シンポジウムには97名が出席し、5つのworkshopに分かれて議論が進められました。この内の一つがWulfが議長を務めた"Workshop 3 - Programming Methodology"です。このWorkshopでは、開発技法の適用、評価技術の開発、ツールの開発などの提案がまとめられました。
  • 品質特性に関する記述は、Workshop報告書のIntroductionの章にあり、プログラムが「よい(good)」というのはどういうことなのかという議論を進めるための意識合わせのために書かれたものです。「正しい(correct)プログラム同士でも我々は重要な差を認識できる。それは少なくとも以下の7つの次元の中の一つ以上で認識される差である」ということが書かれ、各々の特性が説明されています。すなわち、"誤りがない"こと以外に考慮すべき品質特性を示したものと言えます。
  • maintainability/modifiability (保守性/更新性)
    robustness (堅牢性)
    clarity (明解性)
    performance (性能)
    cost (コスト)
    portability (移植性)
    human factor (人間的要素)

ただし、これをもって「Wulfが最初にソフトウェア品質特性を体系化した」というのは言い過ぎで、私はBoehmが1976年の論文で

"Wulf identified and provided concise definitions of seven important and reasonably non-overlapping attributes"

と書いたように「Wulfは7つの重要な合理的に重複しない属性を識別し簡潔に定義した」という程度の表現がよいと思います。
  なお、Wulfは当時はカーネギーメロン大学のコンピュータ・サイエンスの教授でプログラミングシステムやコンピュータアーキテクチャが専門の方でした。

|

« ソフトウェア品質モデルの歴史(1)-最初の論文 | Main | ソフトウェア品質モデルの歴史(3)-品質モデルの開発と標準化 »