オブジェクト脳のつくり方

以前の日記で「オブジェクト指向開発の落とし穴」を紹介したときは「チーム開発に新しい方法論を導入するには注意深く」といった意見を書いてしまいましたが、その続きということで、チーム開発にオブジェクト指向を前向きに取り入れるにはどうしたらよいのか、ということで思い出したのがこの一冊。
(takfさんTrackbackどうもでした)


タイトルを見ると「トンでも本だな」と感じると思いますが(私も書店で初めて見たときそう思いました)、オブジェクト指向の本質を平易な言葉でつかまえようと試みている極めて意欲的な本だと思います。「オブジェクトとは実際にある『もの』や『概念』である」「オブジェクト指向は人間様の都合で考えればよい」「デザインパターンは23個あるが4つ分かれば、あとはその応用である」などざっくりと説明されており、色々つっこみどころは多いにせよ、読み物として楽しい。


改めて目を通してみると、この本の第6章の「なぜオブジェクト脳の人はそう考えるのか」と第7章の「オブジェクト脳に変えるトレーニング」が秀逸だと思います。


自分の使っている手法(ツール、概念)を人にも(良くも悪くも)押し付けたいと思ったとき、基本的には「その方法を使うとメリットがあるよ」と説得する必要があります。その理由というのは旧来の手法と比較した上で「相対的に良い」という必要があるわけですが、私は構造化プログラミングがどんなものかを知らないのでオブジェクト指向の利点をどうもうまく言葉にできませんでした。その辺を第6章では、他の分析手法と比べながらざっくり説明しています。営業トークさながらに話が進むので、オブジェクト指向を知らない人でも「ちょっとオブジェクト指向でやってみようか」なんて思ってしまうよなあ、なんて。


あと第7章では、「初心者のキモチ」を考えた上でオブジェクト指向を教える方法を説いています。その基本として「教える側は傲慢にならないコト」と釘をさしているのがまた面白い。コーチングの本に言及して「叱って育てるよりもほめて育てるほうが効率がよい」とまで言い切っています。感心してしまったのが、


なにしろ、どんなに優秀な技術者であってもチームメンバーを育てられなければ、その人1人分の生産性しかありません。メンバーを育てることが出来れば、チームの生産性をどんどん向上させることができます。それは、結果的にあなたを楽にさせて、チームメンバーの能力を向上させて、チームメンバーはまたチームメンバーを増やしてレベルをあげていくというよい循環になります。

というくだり。自分が技術を学ばなければならない理由のひとつを再確認できた気がします。


この本、初心者向けというよりは、初心者を育てたいと思っている中級者向けなのかなと思ったり。