ソフトウェアは工業製品ではない

元ネタはこれ→『「ソフトウェアは工業製品ではない」、Rubyのまつもと氏が講演

ICT 業界のえらいヒトタチは、もう随分前から「プログラミング工場制の確立」みたいなことを言っているワケである。ごくごく簡単に要約すると、自分チのプロパー社員は上流工程をみっちりやって、下流は下請けに丸投げするか、派遣技術者にやらせるか、さもなきゃインドとかにやらせれば良いと。

数年前に地元の某大手がパートナー企業(=下請け業者)向けにやった講演で、はっきりこう言ってましたね。「製造はパートのおばちゃんとかでもできるようになるべきだ」と。
好意的に捉えると、技術者の底上げが大事であり、なんだかんだ言って家庭を持ったら現場で働きにくくなる女性にもちゃんと現場への道を開くことが大事というようにもとれるけど。

これは結局、「下流工程なんぞ人件費の安いヤツができるようになるまで上流工程をみっちりやって、上流でがっちり稼ぐようにすべきだ」と言っているように思えるんだよな。

ここで、上記でリンクした Matz 氏の「ソフトウェアは工業製品ではない」というコトバがくる。

実はこれは、先日来ぶつぶつ書いていた「業務アプリでオブジェクト指向なんか使わない」というハナシとも関係していると思うんだよね。

インドといえば、Infosys 社についてこういう記事があった→『単なる「低コストの外注先」ではなくなりつつあるインドのIT産業

世界同時不況後に状況は変わっているかもしれないけれども、下流をおざなりにしている間に「安い下請け」であったインドや中国は、確実に体力をつけているわけで。

ちょっとはなしはかわるけれども、IT / ICT 技術者は「ヒューマンスキルが大事」ということを職場で言われると思う。

これは、「上流工程をやるには、お客さんやチームメンバーとコラボレーションする必要があるから」という意味で言ったり捉えたりしているヒトが多いと思う。

しかし、上記 Matz 氏のコトバにあるように、「コードは人を感動させる」ものであるべきだと当方も思う。

小説家が小説を書くのと、プログラマーがプログラムを書くのとは、なんの差もないとワシゃ思うんだよね。

ソースコードは機械を動かすために書いていると思いがちだけれど、実は違う。

そのソースコードは、自分でない誰かがいつかきっとなんらかのトキに読むのである。そのトキ、そのヒトに、自分はなにを考えたのか、自分はどうしたのかを伝えるものであるべきだと思う。それを伝える「力」のあるソースコードは、設計書や仕様書をはるかに越える説得力を持っているハズだ。

だから、プログラマーは「人に伝える力」を持っている必要がある。

オブジェクト指向とかなんとかも、そのための1つの手法なんでしょうね。

実はもちろん工業製品だって、ひとを感動させる工業製品はあるんだけど。
それをちゃんと作り手達がちゃんと意識しない・できないようになってしまったのかもしれない。

プログラムのソースコードやアルゴリズム、設計図や仕様書だって、ソレが Web 系のエンターテイメントなモノであるか、業務システムであるか、組み込みシステムなのかとかは、あんまり関係なく、実は工業製品よりもっと簡単に「人を感動させる」ことは可能なんじゃないかと思うんだけど、それはワシが世間を知らんだけなんだろうか。

「ソフトウェアを作る」ということは、「表現すること」なのだと。ワタシは信じているワケですけどね。

コメント

タイトルとURLをコピーしました