「システムの施工って」という記事を読んだ。「システムの設計と施工を分離する」を批判している。
ソフトウェア工学とかソフトウェア工場というアナロジーへの極めて古典的な批判である。であるけれども、私なりに「ソフトウェアの製造」という思想について勉強してみている限り、この古典的な批判に答えている論を見たことがない。『ソフトウェアファクトリー』も、ざっと読んだ限りではなそんな印象を受けた。かなり経験に裏付けられた緻密な思想であり技術ではあるのだけど、それが自明であるかのように「製造」「工程」というアナロジーを語り、「誤ったアナロジー」ではないのかという古典的にして素朴な疑問には答えていないと思えて、私は不安を感じずにはいられない。
「誤ったアナロジー」という批判は実際良く目にするものだ。『ソフトウェア職人気質』が語り、富士通総研 前川徹さんが語る。批判を良く目にする割に回答を目にしないので、この素朴な批判は既に論破されているから相手にされていないのかもしれないと思うこともある。でも、私はそういった経緯の資料をまだ見付けていない。
どこかにソフトウェア創造への工学的アプローチの妥当性、「製造」というアナロジーの妥当性の説明が落ちてないもんだろうか。
実際に使用者として意味のあるシステムというのは、いつだって使用者としての使い勝手やワガママをコストを意識せずに直接改変できることを言うのです。
間接的な業種でしかないSIerや人材派遣業者などという輩を何重にも通さないと
「このボタンの実行はマウスの左ではなく右ボタンにしろ」という単純な変更命令を自社が所有しているシステムに下せないなどというのは、馬鹿げているわけです。
で、この馬鹿げた状況というのは、導入時にある一定以上のコストをかけたモノには、その額に相当する工業製品のような確実さや安定感が備わっているべきだという使用者の勝手な思い込み(使用者が支払っているのは、使用者の利益には全く無関係な人間の著作物を独占的に利用するため権利取得コストでしかありません)と、ソフトウェアというのはハードウェアと異なる「可変性・可容性」があるはずだというどこから湧いてきたのか判らないあるべき論(他人の著作物を独占的に利用できる側がそれを好きなように改変するべきで、著作権を引き渡してしまった側が改変を行う責任も義理もない)
そもそも、システム開発にソフトウェアサイドから携わる側は、基本的に以上のような姿勢で臨んでいくべきですし、使用者が独占利用したいソフトウェアがなければ購入する価値のない工業製品(ハードウェア)を売りたい側とは一線を画した商売をするべき(だった)んでしょう。
ソフトウェア・ビジネスの始まりから、ハードウェア・メーカの販売網に「おんぶに抱っこ」で大好きなコンピュータ弄りをしてきただけのボンヤリ君たちがシステム開発産業の中核になってしまった。これが、「ソフトウェア開発に工場のメタファーを適用できるはずだ」という盲信を何度も何度も繰り返させるわけです。
はっきりいって、縁もゆかりもない連中の「複雑な願い事」をコンピュータに実行できるかたちの著作物として表現しなおせる能力というのは「才能」なんです。才能を工場でブン廻す?タワゴトもいい加減にしていただきたい。
……と、以上が、システム開発の実態を最初から最後まで一度でも経験したもの達が、「ソフトウェア工学」や「プログラミングの自動化」や「ソフトウェア工場」といったものを「よくできた詐欺」とみなす際のココロモチなのでしょう。