ソフトウェアにおける開発はハードウェアにおける設計

ITproに「コンピュータの仕組みを知るのは,いつも楽しい」というCPUエミュレ−タ関連の記事があった。こういうのを読むと、ソフトウェアにおける開発はハードウェアにおける設計であることがよくわかる。ある機能をソフトウェアで実現するかハードウェアで実現するかは、コストや性能のバランスで決まる。単にそれだけの話であり、本質的な違いはない。

ソフトウェアの規模は生産量ではなくスペック

ソフトウェアの規模は、ハードウェアの規模がそうであるように生産量ではなくスペックである。実現方式が違えば生産量の定義が変わる。そんなバカなことはない。プレス加工だろうが、鋳造だろうが、生産量の定義が変わるはずがない。ソフトウェアの規模を生産量扱いするというのは、加工方法が変われば生産量の定義が変わるというようなもの。これでは、異なる加工方法間での生産性の比較ができず、生産性の大幅な改善は期待できない。ソフトウェア開発の生産性が向上しないのも、生産量の定義が間違っていることによるものが大きい。