プレTDD BootCamp札幌を開催しました

えらく冷え込んだ上に雪模様となりましたが、本日は札幌JavaコミュニティでTDD BootCampの前哨戦を行いました。TDD BootCampは新年1月の後半に札幌で開催する予定ですが、その前にJavaに限定してしまいますがTDDをやろうという試みです。今日は年末・某忘年会とのバッティング・冬場の道民の出足の悪さなどなどから7名しか集まりませんでしたが、その分、濃い内容になったかと思います。

TDDハンズオン

事前配付していた資料を元にハンズオンを行いました。ネタとしてはWiki用のパーサ作成です。最初の内は戸惑いつつ簡単なテストを通していきますが、終盤になりリファクタリングをプロジェクタに投影しながらやった所、「小さく改善してテストを回す」というTDDのココロをしっかりと伝えられたかと思います。
今回は久しぶりに午前+午後でやりましたが、TDDを伝えるにはやはり1日かけてコードを育てていく感覚が必要だなと改めて思います。単に座学でもダメで、手を動かし、最初は冗長で無駄とも思える単体テストのコードが後々生きてくるライブ感が大切。

Maven, SCM, そしてCI

後半はペアプロでTDDを続けるか周辺技術かとなりましたが、MavenやHudsonの話を聞きたいとのことだったので、Mavenの簡単な解説とHudsonでTDDハンズオンで作成したコードを動かす事をライブでやってみました。
Mavenの話は大変です。なんだかんだと面倒なツールであることは変わらないですし、やれる事が多すぎて解説するのが難しい。単にビルド&テストツールという紹介になると「Antと何が違うの?」となってしまいます。レポーティングや依存ライブラリの解決などMaven特有の機能を解説したりとしています。
TDDハンズオンのコードはbitbucketにあるのですが、Hudsonでmercurialを使った事はなくちょっとだけはまりました。プラグインは簡単にインストールできるのですが、サーバにmercurial本体が必要なんですね、知りませんでしたorzこちらは意外に簡単に動いた所は印象に残ったようです。
最後に痛Hudsonとか萌Hudsonとかの話題で盛り上がって終了です。

TDD BootCamp札幌に向けて

TDD BootCamp札幌は、2011/01/22-23での開催が確定しています。こちらはJavaに限らずRubyでもPHPでもOK! 勿論、TDDの伝道師和田卓人氏(id:t-wada)をお迎えし、厳寒の北海道で熱くTDDを語り鍛えていただく予定です。TDD BootCamp自体も来年は福岡開催が決まりつつあるなど非常に動きが活発になりそうな予感です。
札幌開催では単体テスト初心者もカバーできるよう1日目のトレーニングテーマは「テスト駆動開発入門」の予定です。単体テストの目的や効果、テスト駆動開発をする事で得られる物、システムテストとの違い、具体的な方法、そしてペアプロといった内容を予定しています。2日目は「実践・テスト駆動開発」をテーマにペアを組み、課題に取り組みながらTDDを体験するコースです。勿論、1日目の夜は懇親会もありますよ。尚、参加登録については20日前後から行う予定です。
そんな流れに乗り遅れないように、TDDという文化をもっと広げるように札幌Javaコミュニティは活動していきますので来年もよろしくお願いします。