ソフトウェア開発はもの作りではなく、設計だというはなし。
「ソフトウェア開発」は「モノ作り」ではない
自動車とソフトウェアを比較するなら、「自動車の設計図」が、「ソフトウェア」(より正確に言えばソースコード) に相当する。「自動車の製造」に相当するのは、ソフトウェアを出荷するときに行なう「ビルド」「コピー」「パッケージング」であろう。
確かにソフトウェア開発のコーディングは、プログラミング言語を使って設計していると言い換えられると思う。設計書からプログラミング言語に落とし込んでいるわけだから、コーディングは設計に相当すると考えられる。
であれば、ソフトウェア開発も自動車製造と同じように、効率化できないだろうか?
コンポーネント化して再利用というのも、現実的ではないような気がする。
いっそパッケージ販売を目指すのが正しいソフトウェア開発の道のような気がする。
自動車はたくさんの選択肢があって、自動車を持っている人はどの人も、規格品を購入し、それにオプションをつけたりしているわけだ。凝った人はそれにカスタマイズを施したりもする。だれも「ゼロから設計した自分だけの車」を持っているわけではない。
ソフトウェアも、たくさんのパッケージソフトウェアから選択でき、オプションの有無や、カスタマイズによって商売が成り立つようになればよいのでは。1度作ったソフトウェアは大量に販売できれば、もっと設計に時間や金をかけられる。
「車は、カローラでも買っとくか。」というのと同じ感覚で、「新しい販売管理システムは、○社の××でも買うか」とか、ならないだろうか。
車の目的は、移動したり、荷物を運んだりするということに限られるが、ソフトウェアの場合は、なにをするかは千差万別。
業務システムでやりたい情報処理も、千差万別だからパッケージ化するのは難しいということかな。
古い記事ですが、足跡代わりにコメントします。
業務システムも、例えば物流パッケージ、会計パッケージと言うようにパッケージ化され、それを実際にお客様の業務に適用するときは、多くの場合にカスタマイズを行います。つまり、
>「車は、カローラでも買っとくか。」というのと同じ感覚で、「新しい販売管理システムは、○社の××でも買うか」とか、ならないだろうか。
これは既に行われています。車の例ほどお手軽ではありませんが。
なので、これを踏まえた考察をされると良いのではないでしょうか。
おっしゃるとおりです。
「やっていないか」と問われたら、確かにパッケージ+カスタマイズもやっていますね。
日本の業界としては、受託開発というのが多くて、それをやるよりもパッケージ+カスタマイズ販売に目を向けるべきでは?という意図でした。
しかしながら今読み返してみると、パッケージではやはり業務のニーズには到底応えられないので、設計&開発が必要だと思います。ただし、受託開発ではなく内製するのが理にかなっていると思っています。