『Code Craft』16、17章
読書メモ。
ひきつづき、『Code Craft ~エクセレントなコードを書くための実践的技法~』を読み中。少し前に、次の2つの章を読んだ。
- 第16章 コードモンキー
- 第17章 チームの力
しばらく仕事でミーティング続きだったので、章を飛ばしてこのあたりを先に読んだ。第16章も第17章も、章末にアクションシートがついている。
第16章 コードモンキー
プログラマーをさまざまなタイプに分類している。あるあると思ったり、耳が痛かったりしつつ、気楽に読める。
最後に、「良いプログラマーはPRAT(Politician,Relational,Artistic,Technical genius)であり、THICK(Team Player,Honest and humble,Improving constantly,Considerate,Keen)である」という話がでてくる。
自分に足りないものを改めて考えさせられる。
第17章 チームの力
期待以上に面白かった。ヒト系・チーム系の話が好きな人は、第17章だけでもこの本を読む価値があるかも。
17.2 チーム編成
編成とコードの構造(p.389)の項より。
チームに合わせてコードを作成するのではなく、作成するコードに合わせてチームを編成する。
最近まったく逆のケースを見聞きしているところなので、この部分にはっとさせられた。「コードに合わせたチーム編成」が、まだピンとこない。具体的にどんなものなんだろう。
17.4 チームを襲う病魔
第16章でプログラマーをタイプ分けしたように、第17章ではチームをタイプ分けしている。各タイプについて、方向転換の方法と成功戦略が、処方箋のように書かれている。
うちのチームは、民主主義型とレミング型の弱点をあわせもってるな、などと思いながら読む。新人研修をサポートしていて見かけたのは、グランドキャニオン型(=スキルや経験がメンバー間で二極化していて、上級プログラマーが下級プログラマーをともすれば見下すチーム)だなぁ、とか。
たとえば、グランドキャニオンなチームなら、こんな対策が書かれている(p.400)。すぐに試せそう。
- 同じ派閥で固まらないように、座席の配置を変える
- 上級プログラマーは、魅力的なプログラミング作業を独り占めしない
また、レミングスなうちのチームでは、「近視眼的なその場しのぎ」を避け、あとでコードを修正できるとは決して思わずに作業するべきだとわかる(p.403)。技術的負債という単語はどこにも出てこないけれど、そういう話が書かれている。
17.6 チームのワークの基本原則
コードの共同所有から、プログラマーの燃え尽き回避の話まで。
この本で述べられている燃え尽き回避策は、岡島さんの『ソフトウェア開発を成功させるチームビルディング 5人のチームを上手に導く現場リーダーの技術』に書かれていた、仕事のレベル、種類、量を変えていくという話に通じるところがある。
17.7 チームの一生
チームの誕生から、成長、終焉まで。
チームワークについて、必要とあらば作業習慣を刷新することを恐れるな、という話がある(p.415)。身につまされると同時に、元気がでてくる。
また、チームの終焉(p.415)の項より。
開発の最初の段階から、終着点を明確に見据えておかなくてはなりません。
先日書いたように、プロジェクトに宙ぶらりんな期間をつくってしまった身としては、これを読んで反省している。「プロジェクトの完了に際しての計画を立てておくこと」は、今後の課題だなぁ。