会場は早稲田大学で、実は人生初早稲田。
会場についたのは30分前でしたが、
まだ誰もいませんでした…orz
さて、開始からですが、
微妙に手際が悪くて10分遅れでスタート。
席の配置を円形に直して、
適当に座ったとなりの人とペアを組むという感じでスタートでした。
オレとペアを組んだのは組込み系に勤める今年一年目の社員の方で、
ノパソに入っていたEclipseが完全にまっさらで、
とてもビックリしました。
(よくある…)
なんか真新しいEclipseにこれから
いいのか、やや戸惑いつつも、まあいずれ書くんだから
新鮮なテストが書かれていればいいじゃんという感じでやり始めました。
やったのは
- ペアプロ
- TDD本を一章から写経する
- Kent Beckの本の内容を読みつつ、半分納得する。(三角測量はオレが簡単に説明)
- 2~3章ごとに交代する
オレが最初にナビゲーターになりましたが、
とりあえず、操作がおぼつかないので、
「Ctrl + N」とか言いながら(ゴメンね
ショートカットを覚えてもらいました。
でも、やはりペアの方は若いので、
ショートカットをどんどん覚えるし、
少し羨ましい感じがしました。
(オレのように老いると、物覚えが悪くなって頑固になるのよ…)
2章を終わったあたりで、
ドライバーとナビゲーターを交代しました。
いつものボッチのような感じで、
ブツブツつぶやきながらコードを書きました。
なるべくナビゲーターに身を委ねつつ。
で、
Dollar#equals(java.lang.Object)
メソッドのオーバーライドで、
どうしても気になって仕方がないので、
null
のパターンを実装してしまいましたが、これは本質出来ではありませんね。
ToDoリストに記載しておいて、
TDDではないテストコードを記述するときに、別途実装するべきでした。
この辺はナビゲーターの方にToDoに記録してもらいたいのですが、
ナビゲーターの真に難しいとろこは、
二人してコーディングにのめり込んでしまうあたりですね。
この点については、残り20分程度の感想戦で、
議論させていただきました。
頂いたアドバイスとしては、
- ToDoに記録しておくかどうかはともかく、ポイントはドライバーとナビゲーターが対話をすることである
- ナビゲーターが距離を少し置くためにポスト・イットを活用する
ぜひ、今後試させていただきたいと思います。
あと、気になった議論として、SIerの現場に同普及するべきかというのがありました。
たしかにSIのプロジェクトの現場ではペアプロする = 二人の稼働でひとり分の成果しかでない
と考えてしまうので、正直のところ導入には非常に慎重的な態度になります。
とは言うものの、SIerの現場にてよく見る光景で、
- 御前レビュー会議 : えらい人だけが発言・指摘するだけの5~6人による1.5h程度のレビュー - 約7.5hの稼働の無駄
- デバッグ、皆で考え込む症候群 : なんかうまく動かないが、どこが動かないかわからない(特に新人などが引き起こす)ので、なぜか2~4人が集まってきて2~3時間くらいあ~だこ~だ議論して、なんかよくわからないけど動いて、「あ~よかった」とか言って終りにしてしまうやつ - やっぱり7.5hの稼働の無駄
こう言うのがあるわけで、
意外と無駄に時間を過ごしているパターンは多いわけです。
だったら、無駄な7.5hを二回に分けてペアプロをするだけで、より進むと考えれば、
御前レビューとか、謎の動かない症候群よりも効果はあるように思います。
ま、現場の
こんなことを言っても(゚Д゚)ハァ?って顔しますがね。
次回は再来週あたりを想定しているとのことです。
ので、今回参加されなかった皆さんも参加してみてはいかがでしょう。
全然読書会の雰囲気が表現できていませんが、
全体的にはまったりしていましたよ。
0 件のコメント:
コメントを投稿