未熟な科学と擬似科学を同列に論じるべきではありません。
ソフトウェア開発の完全なプロセスが構築できないのは、ゲーデルの不完全性定理によるもので、ソフトウェア技術者であればチューリングマシンの停止問題としてなじみのあるはずのものです。
また、ソフトウェアの予測・計測が困難なのは、原子の位置とエネルギーを同時に特定できないとするハイゼンベルグの不確定性原理のような、原理的な問題です。
不完全性も不確定性も、非常にアカデミックな問題です。
開発プロセスが役に立たないというのは、一般化ができないという話であって、まったくあてにならないという話ではありません。
ウォーターフォールモデルにしろCMMにしろ、それが実地でうまくいかないにしても、そういった提案なしには、ソフトウェア工学は発展していません。
アジャイルなプロセスにしても、ウォーターフォールやCMM*1が技術的な完成度が高かったからこそ生まれてきたものだといえます。
こういった流れの中で、ソフトウェア開発プロセスの不完全性・不確定性というのが見えてきたわけです。
ソフトウェア開発を予測・測定しようとすると非常にコストがかかるというのは、不確定性原理と非常にマッチするものです。
ソフトウェア工学の学会で発表されているような論文のデータ自体は、科学的な手法で処理されているものです。
それなのにソフトウェア工学でのデータがあてにならないのは、学会で発表できるような「まともな」データを収集しようとするとその観測対象の開発に影響をあたえてしまっているからです。これも不確定性原理*2ですね。*3
UFOや心霊現象などのような擬似科学と同列に扱っていいものではありません。
ソフトウェア開発の不完全性や不確定性は、科学的な問題なのです。
また、不確定性は測定精度や計算誤差の問題ではなくて、そのもの自体の特性です。*4