2020年9月23日

【システム企画~情報活用力を上げる仕組み作り】

~ウォーターフォールモデル②~

今回はウォーターフォールモデルについて、それが用語として初めて登場する文献とされるBellとThayerによる1976年の報告書を見ていきます。

Software Requirements:Are they really a problem?

この文章では、3つのソフトウェア開発ケースについて、要求記述上の問題の分類・測定をSTP(IEEEが定めるソフトウェアテストプラン)によって行っています。

▼3つのケース

1 弾道ミサイルシステム開発:大規模(1973)Figure5

2 弾道ミサイルシステム開発:大規模(1975)Figure6

3 UCLAでの実習実験:小規模(197x)Figure7

※ 1から2の間に経験値が大幅に向上している

※ 3はUCLAで最初から実験目的で行われた

▼STPの問題分類枠

A 要求が基本方針から外れている

B 要求がスコープ外である

C 要求が欠落

D 要求が正しく記述されていない

E 要求間に矛盾がある

F 要求が設計書レビュー後に新たに付加されている

G 要求が不明確である

H タイプミス

分類・測定の結果としては、

○ すべてのケースで「D」が最も多い

○ 2で「G」が大きく減少している

○「E」の割合がすべてのケースでほぼ同じである

他、いくつかの特徴が記されています。

結論としては以下のことが言われています。(※「結論」ではなく、他の部分に書かれたものですが、筆者の判断で含めたもの)

● レビューと改版が重要である

● 発生する問題には驚くほどの共通性が見られる

● 同じことを文書内で異なる用語で表現することは危険である

● 要求記述書にある「例えば」や「等」は、設計者から問題視されやすい(※)

● 問題を抑制するためには記述法における特定の技術が必要である

● いくつかの問題は非常に複雑な要因を持っており、強力な記述法が見つかったとしても解決は難しい

● さらに細かく見ていくために観察・研究を継続している

ウォーターフォールモデルという概念と用語が出てきた初期の文書であるためか、正直なところ結論に目新しいところは感じられませんでした。とはいえ、多くの引用・参照がなされた文章なので、いくつか関連文書にもあたってみましたが、それらの多くは同様に分類・測定を行う報告書であり、本文書に関して詳細な考察を述べたものには行き当たりませんでした。Isabel Lopes Margaridoらの論文(Margarido, Faria, Vidal, Vieira, 'Classification of defect types in requirements specifications: Literature review, proposal and assessment', 2011, Iberian Conference on Information Systems and Technologies)でも「Bell&Thayerの調査による瑕疵のある要求記述にしたがって開発されたシステムはニーズを効果的に解決しないだろう、という結論は驚くことではない」とされています。

ということで、本文書で述べられたことは、今となっては常識的なことが多い、あるいは今となってはでなくとも、自然に推測しうることが多かったのですが、敢えて意図やメッセージを読み取るとすれば、要求記述からくる問題解決に向けて科学的アプローチ(論理と再現性)、実験(裏付けること、確認すること)が必要だという考え方だと思います。科学と実験については、より広範に考えられ興味深いので機会があればあらためて記したいと思います。

2020年9月

▶関連コラム|ウォーターフォールモデル①(2020/7/27)

ウォーターフォールモデル③(2020/11/9)