ソフトウェア開発はデリケートな仕事です。これを経営陣が認識しないとソフトウェアはどんどん悪いものになって行ってしまいます。

僕の経験ですが、悪いソフトウェアが出来るのは大抵において経営陣と開発陣との信頼関係が悪い場合に起こります。

経営陣がソフトウェア開発において素人の場合は、大抵初めに無茶を言います。そして、その無茶を言う事によって上手くいかないと、どのような距離感を保てばよいか分からず下手に距離を取ったりもっと無茶を言うようになります。


冒頭にも書いたようにソフトウェア開発はデリケートな仕事です。

なので、下手にスケジュールを短くして人を投入したり一部の機能を外注にお願いしたりすると、仕様を伝えたりフレームワークを伝えたりする手間、、、すなわちコミュニケーションのロスになってしまい結果的に不出来なものが出来あがります。(見掛け上動いていても保守性が悪いものが出来ます。)

しかし、このコミュニケーションにかかるコストを経営陣は全く考慮できないため結果的に無茶な要求によってソフトウェアがつぶれてしまうのです。


ソフトウェア開発って、高度な技術力(*1)と高度なコミュニケーション(情報共有)で成り立っているのだ。それを経営陣が知らないと工数なんていうなんの信憑性もおけないものに頼ってしまうのだ。

僕が思うに、ソフトウェア開発のかじ取りをする人は経営陣とか関係なくソフトウェアについて勉強すべきだと思うのだ。それが出来ないなら、それが出来る人を雇ってその人に全権を託すべきなのだ。

下手に素人がしゃしゃり出てしまうとソフトウェア開発は暗礁に乗り上げてしまう事を素人である経営者は知るべきなのである。




*1・・・アセンブラに比べれば徐々に優しくなっているが、オブジェクト指向等の新しい概念が入ってきたためまた別な高度な技術力が必要になっている。しかし、時代が進むにつれて高度な事が簡単に出来るようになってきている。