yojikのlog

yojikのブログです

アジャイルプラクティス書評

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣


書評を「あとで書く」と言いながら年越してしまいました。

「人間の最大の武器は何だかしってるか」
「さあ」青柳雅春はハンバーガーに噛み付き、聞き流した。
「習慣と信頼だ」

2007年の年末に読んだ2冊の本*1は、どちらも「習慣」を強調していました。シンクロニシティという奴ですね。

本書は「習慣」の本である

本書は開発プロセスの解説書ではありません。チームメンバにこの本を配って、「明日からこの本の通りやろうぜ」みたいな使い方は絶対にできません。角谷さんがあとがきで強調するように、開発者が身につけるべき習慣を紹介する本です。
以下のような習慣(=プラクティス)が紹介されています。

  • 人でなくアイディアを批判する
  • 短いイテレーションでインクリメンタルに開発する
  • 意図を明確に表現するコードを書く
  • etc.

本書をこの時期に買うような人なら、既に知識としては身に着けているものばかりでしょう。*2
イヤな言い方をすれば当たり前のことばかりです。

当たり前の習慣が理解されないなら、何度でも言葉にする

でも、こんな「当たり前」の知識が仕事で関わる人たちに共有されているとはいえません。一つのメソッドに1000行ロジックを書くような人、MS-Projectで崖みたいな急勾配のガントチャートを書く人にまで、その「当たり前」はリーチしていないでしょう。
当たり前の事を、当たり前だからこそ何度も言葉にする必要があるのだと思います。その意味で、アジャイル開発に必要な知識をコンパクトに格納した本書には、とても価値があると思います。

自分が感じている「気分」は常に正しい

アジャイルな習慣(プラクティス)には、明確な達成基準がありません。例えば「コードをシンプルにする」って、どこまでやればいいのよ、という感じです。このようなゴールの不明確さが、アジャイル開発を妨げる原因の一つだったかも知れないと思います。
本書では各プラクティスの達成基準のかわりに「こんな気分」というセクションがあります。このプラクティスをキチンと実施できていれば、開発者はこんな気分になるはず、という例を提示しています。この気分を指針にしてプラクティスの実施状況を把握できます。気分は嘘をつかないですから、正しい指針になるはずですよね。*3
気分は習慣自体の検証にも役立ちます。世間一般で良いとされているプラクティスだけど、いまいち調子が悪くてチームメンバの気分も良くないという場合は、その習慣を捨てる必要がありそうです。

信頼は習慣から生まれる

Kent Beckが言うようにプログラミングは社会的な活動で、ソフトウェア開発では人を信頼するという事が重要だと思います。そして、その信頼は習慣から生まれるのでは無いでしょうか。いつも通りの事している限り人間は絶対間違えない。だから自分や周囲の行動に確信を持つことができるのだと思います。もちろん硬直を防ぐために習慣自体の見直しも常に必要ですね。

おまけ

まぁいろいろ熱く語りましたが、ハッキリいって自分もテストコード書くの面倒だったり、メンターをするのは苦手だったりします。まぁボチボチと出来る所からやっていこうという感じですね。
この本のチーム勉強会などを通して少しずつ習慣の輪が広がっていけばいいかなと思います。SI業界絶望論を語る前に、まずはチームハックから始めるといいと思いますね。

*1:アジャイルプラクティスとゴールデンスランバー

*2:実践できているかどうかは別ですが

*3:ただちょっと無理矢理ぽい例もあります。。。まだ新しい試みということですね。