ソフトウェア開発を理解していない人々(2)

ソフトウェアの開発プロセスの標準化はあきらめきれないものらしく、13日のエントリの後も開発プロセスの標準化の話が続いている。

開発プロセスの標準化がうまくいかない大きな理由は、開発プロセスの標準化の基となっているソフトウェア工学に大きな欠陥があるためである。その欠陥を認識し、対処しないかぎり、開発プロセスの標準化は逆効果になるのがおちである。

ソフトウェアの規模はソフトウェアの生産量をあらわさない

ソフトウェア工学は、ソフトウェアの規模でソフトウェアの生産量をあらわすという、大きな間違いを犯している。「生産性は計測不能」であるかはともかく、生産性について大きく間違っている。ソフトウェアの規模は、ハードウェアの規模がそうであるように諸元の一つに過ぎない。どちらかと言えば、人月がそうであるようにコストをあらわす指標である。

ソフトウェアそのものを計測してもソフトウェアの生産量はわからない

パソコンそのものを計測してもパソコンの生産量はわからない。それと同様、ソフトウェアそのものを計測してもソフトウェアの生産量はわからない。

仮に、ソフトウェアそのものを計測して生産量を求めることができるとしよう。ここで、全く同じソフトウェアが複数の組織や個人で別々に開発されたとしたら生産量の合計はいくらになるだろうか。
組織や個人の数を乗じたものになるのだろうか。別々に開発した場合と開発したものをコピーした場合とでは、生産量の合計は違うのだろうか。

別々に開発した場合の生産量が開発したものをコピーした場合の生産量より多いならば、ソフトウェアの再利用などせずに全てゼロから開発し直すべきだということになる。車輪の再発明に励むべきだということになる。

別々に開発した場合の生産量も開発したものをコピーした場合の生産量も個々の生産量に数を乗じたものだとしたら、コピーすることによりいくらでも生産量はふえることになる。生産性の問題など存在しないことになる。

別々に開発した場合の生産量の合計も開発したものをコピーした場合の生産量の合計も個々の生産量と等しいならば、「ソフトウェアそのものを計測して生産量を求めることができる」という仮定に反することになる。

「ソフトウェアそのものを計測して生産量を求めることができる」と考える限り矛盾が生じる。