作らない開発

前から作らない開発ってのをずっと考えてました。

考えはじめたきっかけは、昔に仕事で物考えてた時に、
ソフトウェアって何かを自動化してかかる時間やお金といったコストを削減するために
作られること多い。

じゃぁ
『ソフトウェア開発自体は、なんで自動化して劇的にコストさげれないの?』
という素朴な疑問がわいたのが始まりです。

想像している先の世界として、
今みたいにごりごりと作るんじゃなくて、
どんどん作らずに既存のパーツの組み合わせの世界で
システムができあがっていく状態になっていく。

イメージとしては、工場の生産ラインで
このプロダクトは、これをこう組み合わせれば、オッケー。
というような感じで工業化されてくる。

こんな状態になれば、
システム開発自体の開発人数は少人数化していって、
手だけで顧客の要望を実現する能力がないソフトウェア開発者は駆逐される。

何故か?

ただ、何も考えずに作る手だけの存在であれば、
そこを補ってしまう仕組みができてしまえば、いらなくなるから。
一人のコストをいくら下げても、コスト0には勝てない。

本当に何かをしようとすれば、頭がいるはず。
仕組み以上に人間が考えて、付加価値をつけれなきゃやる意味もないし、
仕組みも頭をつかって、どんどん改善していかなきゃやっていけなくなる。

この辺について考えていける人になれば、
惰性でただ手動かしてますじゃなくて、
頭をつかってどうしたらよくできるか考えられて楽しいと思います。

本来、ソフトウェア開発者は技術者としての側面ももっていて、
楽しい部分が多いはずなのに
今の現場を見ると、専門職でもない。ただ人を集めてきました。という感じで、何か違うんじゃないか?

扱いもあんまよくないですね。
それはなんでだろ?って考えてみると
人のせいにしててもなんだってのがあるので、非がソフトウェア開発者側にあるとして考えてみる。

この人らに任せておいたら大丈夫と信頼されてない。
スキルがそんなすごくもない。
顧客にとっての価値を提供できてない。
数でしか把握されていない存在。個をあまり認められないようなその他大勢でしか認識されない。

とか考えると技術、ビジネススキル、その他の面で力不足なわけです。

だったら認めてもらえるように自分も組織も
業界全体を変えてくしかないんだろうと感じてます。

こんなことを考えてると、
柔軟性をもって、その時々に対応できる頭とスキルを今身につけていかないと
ライバルは安い単価のオフショア開発とかでもなくて、
本来は味方である開発を助けてくれる仕組みになってしまうかもしれません。

本来仕組みは、開発者と顧客のためにあります。
開発者にとっては、日々の面倒なことや頭を使わなくてもいい決まりきったところを
代わりにやってくれる味方です。
顧客にとっては、一定のアウトプットを得られ、コスト面でのメリットも与えてくれる味方です。

仕組みに駆逐されるか味方としてつきあっていけるかは、
それぞれのエンジニアの考え方次第。
あなたはどっちになりたいですか?