ソフトウェアの測定困難性とUFOの測定困難性は別物

未熟な科学と擬似科学を同列に論じるべきではありません。
ソフトウェア開発の完全なプロセスが構築できないのは、ゲーデル不完全性定理によるもので、ソフトウェア技術者であればチューリングマシンの停止問題としてなじみのあるはずのものです。
また、ソフトウェアの予測・計測が困難なのは、原子の位置とエネルギーを同時に特定できないとするハイゼンベルグ不確定性原理のような、原理的な問題です。
不完全性も不確定性も、非常にアカデミックな問題です。


開発プロセスが役に立たないというのは、一般化ができないという話であって、まったくあてにならないという話ではありません。
ウォーターフォールモデルにしろCMMにしろ、それが実地でうまくいかないにしても、そういった提案なしには、ソフトウェア工学は発展していません。
アジャイルなプロセスにしても、ウォーターフォールCMM*1が技術的な完成度が高かったからこそ生まれてきたものだといえます。
こういった流れの中で、ソフトウェア開発プロセスの不完全性・不確定性というのが見えてきたわけです。
ソフトウェア開発を予測・測定しようとすると非常にコストがかかるというのは、不確定性原理と非常にマッチするものです。


ソフトウェア工学の学会で発表されているような論文のデータ自体は、科学的な手法で処理されているものです。
それなのにソフトウェア工学でのデータがあてにならないのは、学会で発表できるような「まともな」データを収集しようとするとその観測対象の開発に影響をあたえてしまっているからです。これも不確定性原理*2ですね。*3
UFOや心霊現象などのような擬似科学と同列に扱っていいものではありません。
ソフトウェア開発の不完全性や不確定性は、科学的な問題なのです。
また、不確定性は測定精度や計算誤差の問題ではなくて、そのもの自体の特性です。*4

*1:CMMはアセスメントの手順や資料など、運用まで含めた完成度が非常に高くて、ここまでやると逆にだめだね、と開きなおさせてくれた気がします

*2:不確定性原理は観測の限界を示すだけではなく、確定させようとするとエネルギーが発生するという性質もあらわす原理です。波動性が高いものに現れる性質で、極微の世界以外にも無関係ではありません。

*3:確率的・統計的に処理するためには確率的・統計的に有為なデータ数を集める必要があるので、解決できる問題領域が変わります。

*4:エセ解釈が多いと書いている文章自体がエセ解釈なのは、確かに面白い。