ソフトウェア産業 << ソフトウェア産業革命 << ソフトウェア産業革命 - XELOP official site

ソフトウェア産業

初めに・・・

例えば、家を建てるプロジェクト。

大工仕事の原始的な作業の能率を上げるには・・・

― 鋸・金槌などの道具を電動にする ―

ソフトウェアエンジニアたちはみな、そういう類のことを考えています。

いやそれでは不完全だ。
「図面を入れると自動的に家が建てられるマシン」
それこそが理想のツールだ。

高邁なエンジニアは電動工具ごときでは許しません。
話はオートメーションにまで飛躍します。

たしかにそうだが・・・
そんなものはいつできるかわからないわけで、現実できていません。

まぁではそれはそれとして、それができるまではこうしたらどうだろう。

図面を描く係、材料を切る係、釘を打つ係、そして切ったパーツを組み立てるところへ運ぶ係・・・
そのように分担しては?

「設計する」「鋸を引く」「釘を打つ」「運ぶ」
各メンバーはそれだけに専念する。
さすがにそればかりやっていれば、手馴れてくるでしょう。
どうしたらもっと楽に素早く上手にできるか工夫もするでしょう。
そうすれば全体の能率はあがるはず。
それに、運ぶ仕事は何も難しくありません。
労賃の安い人を充てればよいでしょう。
鋸や金槌を使うのは簡単ではないですが、設計ほどスキルは要らない。

いかがでしょう。
こんな単純なリエンジニアリングで、生産性は向上します。
しかし現実、誰もそうやってソフトウェア開発をやろうとしません。
実際にそう提案すると、現場からは批判のオンパレードになります。

パーツは正確にできてないとダメなんだ。
組み立てる時に寸法が合わないかもしれないじゃないか
パーツがちゃんとしてればいいけど信用できないよ
やっぱり組み立てる時に微調整が必要だからね
自分で責任を持って、切って、運んで、組み立てないとだめだ
いや結局はその方が早いし、そうするしかないだろう
そもそも図面がそんな細かいところまで描けないんだし
精密な図面を描くくらいなら自分で作った方が早いに決まってる・・・

・・・と。

かくして未だに
曖昧な設計図と、明確な方法論のない試行錯誤を繰り返しながら
とどのつまりは「気合い」でソフトウェアは造られています。


生産性を高めるためには、個々の技術より、それをどのように使うかという生産方式が欠くべからざる観点です。
またシステム開発をあくまで営利産業として考える場合、アカデミックな技術論よりも経営戦略という観点が重要なのは言うまでもありません。
これらについて解説していきたいと思います。