デブサミ2008で講演させていただきました

今日はデブサミ2008で講演させていただきました。
まず、お聞きくださった方々に感謝いたします。ありがとうございました。

講演のきっかけ

講演のタイトルは「デベロッパーテスティング・ライブ - 自信を持ってコードを書くための心・技・体 -」でした。

この講演をさせていただいた元々のきっかけは、かくたにさんから「チームかくたに時代みたいな感じで、Developer TestingやTDDについて喋りながらコードを書いているところを多くのひとに見てもらうことは出来ないか」といった趣旨の話を頂いたことでした。確か浅草橋の飲み屋で飲んでいたときだったかと思います。「いいですよ。」と二つ返事でOKさせていただき、本日の講演が決まったという経緯があります。

リズム、間合い、つぶやき

今日の主目的は、TDDの実際のリズム、実際のコーディング、実際のつぶやき(?)を見てもらうことです。この点に関して、会場にお越し頂いた方に伝わったのであれば、私にとっては他のどんなミスや恥ずかしい瞬間も帳消しになる、最大の喜びです。TDDを実践する際にどんなタイミングでテストを実行し、どんな小さな一歩を踏み出し、戦略として仮実装で行くのか明白な実装で行くのかの判断をどうするか、などなどを見て帰っていただけたのであれば幸いです。

「レッドを意図しているか、グリーンを意図しているか」は重要

今日会場では、レッドを意図しているのにグリーンバーが出た、もしくはグリーンを意図しているのにレッドバーが出たときの違和感や緊張感を会場の方と共有できたようです(←ものは言いよう)。

冗談はさておき、いま自分が意図している色は何色か、ということを意識しておくことは重要です。ちょっと見ただけでは何の意味があるのかわからない「仮実装」の意義も「色の意識」にあります。
期待した結果そのものを返すベタな実装を行い、緑が出ることを意識して実際に緑が出ることを確認する「仮実装」というテクニック。このテクニックは、TDDのカルト的、儀式的な所作ではありません。テスト対象が疑いもなく意図したとおりの結果を返すときには、テストが成功する、つまりテストケースのコード自体には誤りはない、ということを確認するという重要な意義があります。

講演のあとで

コマの直後の時間では「Ask the speaker」ブースにて多数の方に、質疑応答をさせていただきました。本当に多くの方にお越し頂き、中身の濃い質疑応答をさせていただきました。私自身も考えていることの再整理が出来ました。ありがとうございます。

ペアプロで延長戦

Ask the speakerブースから次のコマの方と交代するために移動したあとは、日本Rubyの会日本ペアプログラミングの会の机をお借りしてのペアプロアワーでした。
このため、このコマだけは見ようと思っていた竹迫アワーが見れなかったのですが、後悔はありません。
@yamashiroさん(@付きのほうが違和感がないのはなんでだろなw)と、そのあとはkoicさんペアプロさせていただきました。私自身の気づきも沢山得られ、勉強になりました。また、TDDやペアプロのニーズは多くあるようですので、お声がけいただければ、様々なところにお邪魔させていただこうと思います。