TDDBC Tokyo for C++ レポート


書いた人
かわにし(@tosikawa)

はじまりのとき

それは、あの一言から始まった。

「TDDBC Tokyo 1.6 が面白かったんだけど、どうやったら自分でもできるの?」

TDD Boot Camp (TDDBC) は 2007年からはじまったテスト駆動開発(TDD)のブートキャンプだ。TDDの道に入門すべく集ったプログラマ達が、みんなでペアプロをし、TDDの扉を開く、そんなイベントだ。今回、主催の声を上げた英雄は今給黎さん。2011年7月に開催されたTDDBCに参加されていた今給黎さんが、これは自分でもやりたいと声を挙げてくださったのだ。それからは早かった。開催日程、場所がトントン拍子に決まり、すごいパワーで開催まで引っ張ってくれた。

ようこそ

「TDDBCへようこそ」と、中村かおるんさんの講演が始まる。かおるんさんは『KINECTセンサープログラミング』の著者であり、認定スクラムマスターとしてアジャイル界隈でスクラム界隈で活動されている方でもある。そして何より、TDDBC Nagoyaで東のイケメンと噂されたTDDの実践者でもある。TDDの基本となるテストの考え方、TDDのワークフローなどをテンポよく説明してくれる。かおるんさんの話のまとめは「躾」。「躾」とは美しい身と書く。美しい習慣が良いソフトウェアを作っていく。TDDとは、まさにそのような美しい習慣なのだ。

実践へ

講演が終わり、いよいよ実習の開始だ。今回のお題は乗り換えシステム。お題がカードになっていて徐々に配られていく。主催の今給黎さんお手製のお題で、これがまた、絶妙にタスク分けされていて素晴らしい。はじめは数駅の情報からはじめて、徐々に仕様が複雑になっていく。追加された仕様をペアで検討して、ユニットテストに落としていく。こうして、コードが少しずつ成長していくのだ。

ネクストステップ

昼休みをはさんで、午後は井芹さんの講演から再開だ。井芹さんはTDD研究会をはじめ様々な場所で、開発者にとってのテストとはということについて、問題を提起し、提案をしてきた人だ。「TDDへのネクストステップ」と題して、TDDの学習のネクストステップという2つのネクストステップについて語られた。TDDを実践するときの頭の動きを、既存のテストの言葉を使って解き明かしていく。それが井芹流。今回は、同値分割法の話から、データが多くなった時にTDDでどのようなテストを書くべきかが解き明かされていった。これは、丁度、お題である乗り換えシステムで駅のデータが増えた時にどのようにテストに落とし込んでいくかというヒントになっていて、理論と実践を兼ね合わせた、その場にふさわしい講演となった。

実践で前進

この頃には、はじめは初めてのペアプロに戸惑っていたペアも、うまくコラボレーションして、TDDをペアプロを楽しんでいるようだった。まあ、教官の井芹さんは、徹夜で資料を仕上げたらしく、ソファーでぐったりの模様だったけれど。

さいごはやっぱり

やっぱり最後はこの人、TDDの伝道師・和田卓人さん。今までの2つの講演で話す事がどんどんなくなっていくと言いながら、とても大事な話をしてくださった。実務でのTDDのコストと効果について、テストを書きながら自分の書いたコードに自信を持つという事について、先人の知恵に対するインデックスを貼っておくという事について、など、単にTDDについての話だけでなく、プログラマとして大切な事を、今日も教えてくれた気がする。締めは「TDDはスキルであって習得可能」だという一言。これから参加者がそれぞれの現場に戻った時にTDDを実践していくヒントを得られたに違いない。

そして

会場も素晴らしかった、会場を提供してくださったNIIの方々、特に準備から当日まで担当してくださった長久さんに感謝だ。

その場で結成されたペアがコラボレーションしながらペアプロする。ペアプロをするなかで、TDDのリズムを感じ取っていく。ただ座って講演を聞くだけでなく、実際に手を動かし、体で覚えていく。これが、はじめて開催されたときから一貫して変わらないTDDBCのやり方だ。まさにブートキャンプ。TDDBCは今後の開催も決まった。今日もまた、新たな教官が、新たな受講生を待っている。

Last modified:2011/11/05 09:17:16
Keyword(s):
References:[xUTP Magazine 0001号] [ぺけま]