ソフトウェア開発の仕事をしていると開発プロセスの標準化とか効率化について言ってくる人がいる。そういうときはいつも違和感を感じるのだが、うまく反論できずにいる。ちゃんと議論できるように考えておきたいと常々思っていたのだが、ソフトウェア開発を理解していない人々でうまくまとめられていた。
効率化や標準化とは、ハードウェアの製造工程に対してよく使われる言葉である。この場合、「同じものをより早く歩留まり良く作る」ことを目的としている。
対してソフトウェアの場合、製造に相当するのはファイルのコピーおよびメディアへの焼付けであるはずなのだが、なぜかそれ以外の工程に適用されることが多いようだ。
上記ブログには「ソフトウェア開発に相当するのは、ハードウェアにおける設計である。」とある。さらに言えばソフトウェアの製造は100%近くが「新規開発」である。(「発明」に近い場合もある。)ここに「製造」の効率化を当てはめようとしても無理があるのは当然だろう。