「人が増えても速くならない」読んだ

2時間くらいでさっくりと読める内容でしたがとても良い本なのでたくさんの人に読んで欲しい一冊です。

gihyo.jp

ユーザー数が伸びるにつれて多くの要望が出てきても,新しい機能をスピーディーに追加できなくなってきた。ちょっとした修正のはずなのに,ものすごく時間がかかる。

――そのようなことが起こる原因は,ソフトウェアが変化に適応できないから。

プログラミングを学んでも理解できないソフトウェアの本質を,プログラマーとして12年,経営者として12年の経験を持つ著者が集大成。

完成しても終わりではない
人が増えても速くならない
たくさん作っても生産性が高いとは言えない
人に依存せず同じ品質にはできない
プレッシャーをかけても生産性は上がらない
見積もりを求めるほど絶望感は増す
一度に大きく作ると得に見えて損をする
工程で分担しても効率化につながらない

これからの事業の成長に欠かせない思考法がわかる。

ソフトウェア開発は難しいというのはよく言われることですが、その難しさをソフトウェア開発を知らない人に説明することもまたとても難しいです。

ソフトウェア開発は難しいというと「製造業のようにちゃんとしてないからだ」みたいな批判をぶつけてくる人がいるし、そういう人にしてみればソフトウェア開発というのはプロセスの標準化ができていなくて未熟な業界のように見えているはずです。製造業にはこれまでに培ってきたたくさんのノウハウがあるだろうしいままでに費やしてきた時間も違うのでたしかにソフトウェア開発よりもちゃんとしている面もあるのかも知れませんが、一方でソフトウェア開発の開発プロセスと製造業の生産工程は単純に比べられるものなのか?というと自分はまったく別物だと思っています。ところが、単に「それとそれは別物だよね」みたいな話をするとそれはいいわけだと言われたりして、こういうときにどうやって違いを説明したらいいのかなと思うことが結構ありました。

本書はまさにその「ソフトウェア開発に詳しくない人に対してソフトウェア開発の何が難しいのかを理解してもらう」ための本でして、なるほどこうやって言えばよかったのかという内容がたくさん書かれていました。
リソースが足りないといったときに新人や予備知識のない人を増やされても何の解決にもならないどころか迷惑でしかないということや、設計と実装する組織をすっぱりと分けたがる人がいかに分かってないのかとか、どこを読んでも「分かる~」しか言えないくらい共感できる話しか書いてませんでした。もちろん書いてあるのは開発側の言い分ばかりなのでこれがすべて通るわけではないし正しいというつもりもないのですが、ソフトウェアの開発プロセスを製造業の生産工程のアナロジーでしか理解できていない人は開発側の言い分というのはいつも軽くあつかわれがちなので正しく主張を伝える表現方法としてこの本の内容は参考にしようと思います。