PoohSunny's blog

生きるために食べるのか、食べるために生きるのか。

TDD Boot Camp Tokyo 2013-03 に参加してきた #tddbc

はじめに

3月16日に、TDD Boot Camp Tokyo 2013-03 に初めてスタッフとして参加してきたので、
そのレポートです。いろいろ盛り込んでるので長めエントリーになりますがご容赦ください。

TDD Boot Camp Tokyo 2013-03 - TDDBC
2013/03/16 TDD Boot Camp Tokyo 2013-03 #tddbc - Togetter
TDDBC Tokyo 2013-03 の参加レポートたち #tddbc - NAVER まとめ
※参加レポートのまとめは、ハッシュタグベースに捕捉して追加したのですが、もし抜け漏れがあれば、@PoohSunnyまでリプください。まとめを手伝ってくれる方も大歓迎!

お手伝いするまでの経緯

横浜 Second Season に初参加

TDDBCは、横浜 Second Seasonで初参加しました。

9月1日 TDD Boot Camp (#TDDBC) 横浜 Second Season(神奈川県)
2012/09/01 TDD Boot Camp 横浜 Second Season #tddbc - Togetter
TDD Boot Camp(TDDBC) - TDDBC横浜 Second Season

この時がすごく楽しくて有意義だったので、ぜひ恩返しがしたいと思っていました。
加えて、TDDBCに参加するきっかけを与えてくれた@t_wadaさん*1に、有意義なものをもらってばかりじゃなくて少しは役に立つことをしたいと思っていました。

虎視眈々とチャンスを待つ日々

というわけで、恩返しのチャンスを得るべく、TDDBCのメーリスを虎視眈々と眺める日々が続きました。

その間、『JUnit実践入門』写経・実践会 in 横浜などでTDDBC横浜のTAの方とお会いする機会も増え、参加へのハードルがかなり下がっていきました。
『JUnit実践入門』写経・実践会 in 横浜 #5 - connpass

ちなみに、写経・実践会の参加者でもある @grimrose さんのエントリーは、
今回お手伝い表明する前に何度も読み返しました(笑)
open build/reports/tests/index.html: スタッフになってみませんか? #TddAdventJp
これからTAしてみたい人はご一読するのをオススメします。

TDDBC Tokyoの告知が

さて、そうこうしている間に自分のTDDスキルも増え、良いタイミングでTokyoの開催告知がありました。
最初は参加者としてエントリーしていたのですが、人数がキャパオーバーになったことからお手伝いしたい旨メーリスに流し、半ば強引にお手伝いさせていただきました(汗)。

当日

結構どきどきしながら会場に向かいました。(まぁその割には遅刻したんだけどね。)
会場についたらスタッフの皆さんにお声がけ頂き、それでだいぶ緊張がほぐれました。

今回は初のお手伝いだったので、議論中に出たツールやネタなどの紹介をなるべくしていく、という形で貢献しようと考えていました。
結果的に、その目的はある程度達成できたかな、と考えています。

t_wadaさんの基調講演

「TDDのこころ」、TDDのエッセンスが詰まった入門キーノートが始まりました。
いくつかキーワードをtwitterから。













久々にt_wadaさんの講演聞きましたが、最初に聞いた頃と感じ方が異なる点があって、少し自分の成長を感じられました。
「テストに導かれて」「最小限の実装」という表現がやけに感慨深かったり*2とか。

ちなみに、t_wadaさんはこの日きのこ本Tシャツを着ておりまして、求めに応じてきのこ本にサインをしてました。
f:id:swimming_pooh:20130319000803j:plain

続いてペアプロデモ

続いて、ペアプロのデモが始まります。




内容はFizzBuzzだったのですが、このお二方はどちらもさすがTDDペアプロ慣れしていて、TDDのサイクルに忠実で綺麗に説明も加えられていて、私も最後尾で見ていてすごくためになりました。
特にやっとむさんが最初に出していた「ペアプロのプロトコル」は非常にわかり易かったですね。


いずれは自分も前に出てペアプロデモしてみたいなーとか思ってみたり。
ところで、「仮実装」のところでFailしたのはわざとだったのでしょうかww かなり高度なテクニックだった気がしています。

いよいよ恐怖の?お題発表

デモが終わると、別室の広い部屋に移動して、ハンズオンが始まります。
そして恐怖の?お題発表。




今回は『LTSV変種』でした。てっきりベンダーマシンかと思ってたので、わくわくどきどきです。
私の方は、JAVAテーブルでなぜか@irofステッカーの有りかを共有していたりしながら、ペアプロ始まりました。


いろんなテーブルをぐるぐる回っていて感じたこと
  • 今回は、皆さん結構最初にどうやって実装するかをじっくり考えていた気がしますが、もう少しライトに考えてとりあえず手を動かす、というのでもよかったかと思います。(このへんはTAの誘導も良くなかったと思っていて反省しています。)
  • 「最初にオブジェクトがどういう状態か」という切り口でアプローチしたペアの方はその後の進みが比較的すんなりだったかなと思っています。いろんな切り口があるので一概に言えないのですが、この状況というかコンテクストというか条件というか、それに注目するのは良いアプローチだと感じました。
  • JAVAテーブルは結構レビューが盛り上がりましたね。他のグループのやり方を見るのって、すごく参考になります。実際他のチームのアプローチを見ながらいろいろ刺激があったようなので良かったです。
おやつうまうま

休憩時間中にはおやつを差し入れて頂きました。すごく美味しかったですありがとうございます。


そして突然の案件追加が!

TDDBCでは突如の仕様変更とかがあるのですが(そのほうが良さがわかるから。)、今回もご多分にもれず終了間際に追加案件が発表されます。


全体コードレビュー

最後は、各言語から代表ペアが前に出てコードレビューをしました。
JAVAチームはじゃんけんで決まったのですが(笑)、個人的に発表していただいたペアの方は、最初の相談段階で良く状況に目を向けていて、相談しながら着実にコードを育てていくタイプだったように見えました。
また実際のコーディングも教科書どおりという、お手本のようなペアだと感じていたので、前に出て発表していただくに相応しかったと思います。
実際TAからも好評が。


最後のシメとグリーンバンド

レビューが終わった所で、t_wadaさんからクロージングがありました。
次に活かすための書籍の紹介があって、今後につながった方も多いのではないでしょうか。私も含めて。

また、次回開催予定の長岡、福岡の告知もありました。
どちらも結構いきたいわけなんですが、いろんな意味での余裕がががが。。

最後に、恒例となったグリーンバンドの通販お知らせがありました。

私は今持っているやつにヒビが入っていて今にも切れそうなので、二本目をゲット!
JUnitのGreenの特注色だそうです。


ちなみに、既にグリーンバンドが切れてしまった id:sue445さんは三本目を手にしていました。


sueさん曰く、「グリーンバンドが切れたら免許皆伝という説がある」とのこと。
私も切れるように頑張ります(ぇ

というわけで、今回も盛り上がって閉幕しました。

自分的に次に活かしたいポイント

懇親会レポートの前に、自分の反省点を先に備忘記載しときます。
今回はいろいろ反省点も多かったので、それは次に活かしたいと思っています。

やっぱりマルチリンガルの方が良い

今回はJAVA-JUnitでTAさせて頂きましたが、やっぱり他の言語のTAもできないと厳しいかなーと思いました。
一緒にTAしていたid:sue445さんには「最初はひとつの言語から始まるからー」とフォローしていただきましたが、いつまでもそれだと良くないので、次回*3までにもう一つ言語を使えるようになってきたいと思います。
Scala,Haskell,JavaScriptあたりを狙っています。

TAアピールが足りなかったか

TAって何してくれる人かってのをちゃんと自己紹介時に伝えればよかったと反省。

もう少し臨機応変に動けると良かったかな

不慣れなのもありますが、@grimroseさんがいろんなことをさくさく動かれてるのがすごかったです。次回はもう少しきびきび行動したいっす。

懇親会の模様

懇親会は、会場を提供したくださったVOYAGE GROUPさんがビールを振舞ってくれました!
id:katzchang さんが「仕事が終わったらビールをふらっと飲んで撤収する。だから乾杯とかしない」的なことをおっしゃってました。
なんて羨ましいんだ!!!

野良LTしたよ!


というわけで、TAの皆さんが軒並みLTされるので、悔しくなった私も別な勉強会で作ったスライドを急遽改造。
その場で即興のLTしました。レガシーコードTDD体験記です。
「こんきのよめ」という表現には突込みがはいったので、「ことしのよめ」と修正してスライドは上げてあります。

いろんな方といろんなお話ができたので、非常に楽しかったです!!

運営スタッフの振り返り

最後に、運営スタッフと参加者の残った方で、振り返りをしました。
初めてこういう振り返りの場に参加しましたが、運営側はすごくいろんなことを考えてるんだなと認識ました。
KPTをしっかり分析して、次に活かそうとしているスタンスを垣間見ることができ、これだけ楽しいイベントの陰には、たくさんの工夫と努力があるのだなぁと認識できました。
まぁ、私はこの期に及んでなおタダ酒をいただいていたわけですが。。。。いやはや、本当にありがとうございました。

最後に

今回主催してくださった id:katzchang さん、会場を提供してくださったVOYAGE GROUPさん、また参加者の皆様、ありがとうございました。
次回私は横浜にも出没する予定です。ご縁があればまたお会いしましょー!

*1:InfoTalkというイベントで講演会があり、その後の懇親会でいろいろお話を伺って興味が湧いてTDDBCに参加しました。それが現在の仕事にもつながっていて、後から考えるとあの時がいろいろな意味で人生のターニングポイントだったなと感じています

*2:最初はさらーっと聞き流してた気がする

*3:横浜でもお手伝いさせていただきたいので、それまでに、がターゲット