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から。
ソフトウェア開発の三本柱。バーション管理、テスティング、自動化 #tddbc
— ずきゅ~んたんさん (@ZuQ9Nn) 2013年3月16日
「テスト」じゃなくて「テスティング」 #tddbc
— 永井伸弥さん (@shinya_131) 2013年3月16日
#tddbc テストの捉え方の一つ。Developer Testing:開発促進。 Customer Testing:進捗管理。 QA Testing:品質保証。の3つの軸で考える。
— かずや(和)さん (@jumpersons) 2013年3月16日
動く状態にすることでfeedbackが発生する #tddbc
— なんだろ Spring_MTさん (@Spring_MT) 2013年3月16日
TDDの黄金のサイクル #tddbc twitter.com/weed_7777/stat…
— 植田 達郎さん (@weed_7777) 2013年3月16日
実装時間が2割り増えて、バグが6割り減る。 #tddbc
— ずきゅ~んたんさん (@ZuQ9Nn) 2013年3月16日
久々にt_wadaさんの講演聞きましたが、最初に聞いた頃と感じ方が異なる点があって、少し自分の成長を感じられました。
「テストに導かれて」「最小限の実装」という表現がやけに感慨深かったり*2とか。
ちなみに、t_wadaさんはこの日きのこ本Tシャツを着ておりまして、求めに応じてきのこ本にサインをしてました。
続いてペアプロデモ
続いて、ペアプロのデモが始まります。
#tddbc デモやりまーす! (@ 株式会社 VOYAGE GROUP - @voyage_group_pr w/ 6 others) 4sq.com/15RLOuS
— YASUI Tsutomuさん (@yattom) 2013年3月16日
続いては、 @yattom さんと @grimrose さんによるペアプロですー。JAVAですー。 #tddbc
— Yotaro TAKAHASHI さん (@PoohSunny) 2013年3月16日
内容はFizzBuzzだったのですが、このお二方はどちらもさすがTDDペアプロ慣れしていて、TDDのサイクルに忠実で綺麗に説明も加えられていて、私も最後尾で見ていてすごくためになりました。
特にやっとむさんが最初に出していた「ペアプロのプロトコル」は非常にわかり易かったですね。
#tddbc デモでちらっと見せた「ペアプロのプロトコル」はこちらです。 ペアプロワークショップ on @slideshare slideshare.net/yattom/ss-1725…
— YASUI Tsutomuさん (@yattom) 2013年3月16日
いずれは自分も前に出てペアプロデモしてみたいなーとか思ってみたり。
ところで、「仮実装」のところでFailしたのはわざとだったのでしょうかww かなり高度なテクニックだった気がしています。
いよいよ恐怖の?お題発表
デモが終わると、別室の広い部屋に移動して、ハンズオンが始まります。
そして恐怖の?お題発表。
今日のお題 #tddbc @ 株式会社 VOYAGE GROUP instagr.am/p/W6HBApA5HQ/
— sue445さん (@sue445) 2013年3月16日
例外条件 #tddbc @ 株式会社 VOYAGE GROUP instagr.am/p/W6HfpGA5Hn/
— sue445さん (@sue445) 2013年3月16日
今回は『LTSV変種』でした。てっきりベンダーマシンかと思ってたので、わくわくどきどきです。
私の方は、JAVAテーブルでなぜか@irofステッカーの有りかを共有していたりしながら、ペアプロ始まりました。
ほしがる方がいるので。@irof ステッカーのありか。sue445.hatenablog.com/entry/2012/12/… #tddbc
— Yotaro TAKAHASHI さん (@PoohSunny) 2013年3月16日
いろんなテーブルをぐるぐる回っていて感じたこと
- 今回は、皆さん結構最初にどうやって実装するかをじっくり考えていた気がしますが、もう少しライトに考えてとりあえず手を動かす、というのでもよかったかと思います。(このへんはTAの誘導も良くなかったと思っていて反省しています。)
- 「最初にオブジェクトがどういう状態か」という切り口でアプローチしたペアの方はその後の進みが比較的すんなりだったかなと思っています。いろんな切り口があるので一概に言えないのですが、この状況というかコンテクストというか条件というか、それに注目するのは良いアプローチだと感じました。
- JAVAテーブルは結構レビューが盛り上がりましたね。他のグループのやり方を見るのって、すごく参考になります。実際他のチームのアプローチを見ながらいろいろ刺激があったようなので良かったです。
おやつうまうま
休憩時間中にはおやつを差し入れて頂きました。すごく美味しかったですありがとうございます。
本日のスイーツ #tddbc @ 株式会社 VOYAGE GROUP instagr.am/p/W6L27pg5Kf/
— sue445さん (@sue445) 2013年3月16日
そして突然の案件追加が!
TDDBCでは突如の仕様変更とかがあるのですが(そのほうが良さがわかるから。)、今回もご多分にもれず終了間際に追加案件が発表されます。
突然の追加案件! #tddbc @ 株式会社 VOYAGE GROUP instagr.am/p/W6VI6vg5Aa/
— sue445さん (@sue445) 2013年3月16日
全体コードレビュー
最後は、各言語から代表ペアが前に出てコードレビューをしました。
JAVAチームはじゃんけんで決まったのですが(笑)、個人的に発表していただいたペアの方は、最初の相談段階で良く状況に目を向けていて、相談しながら着実にコードを育てていくタイプだったように見えました。
また実際のコーディングも教科書どおりという、お手本のようなペアだと感じていたので、前に出て発表していただくに相応しかったと思います。
実際TAからも好評が。
Javaチーム。JUnit実践入門にそったいいテストコードだなー #tddbc
— sue445さん (@sue445) 2013年3月16日
最後のシメとグリーンバンド
レビューが終わった所で、t_wadaさんからクロージングがありました。
次に活かすための書籍の紹介があって、今後につながった方も多いのではないでしょうか。私も含めて。
- Amazon.co.jp: レガシーコード改善ガイド (Object Oriented SELECTION): マイケル・C・フェザーズ, ウルシステムズ株式会社, 平澤 章, 越智 典子, 稲葉 信之, 田村 友彦, 小堀 真義: 本
- Amazon.co.jp: データベース・リファクタリング: スコット W アンブラー, ピラモド・サダラージ, 梅澤 真史, 越智 典子, 小黒 直樹: 本
- Amazon.co.jp: xUnit Test Patterns: Refactoring Test Code (Addison-Wesley Signature Series (Fowler)): Gerard Meszaros: 洋書
- Amazon.co.jp: ソフトウェアテスト技法ドリル―テスト設計の考え方と実際: 秋山 浩一: 本
- Amazon.co.jp: 実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる (Object Oriented SELECTION): Steve Freeman, Nat Pryce, 和智 右桂, 高木 正弘: 本
また、次回開催予定の長岡、福岡の告知もありました。
どちらも結構いきたいわけなんですが、いろんな意味での余裕がががが。。
最後に、恒例となったグリーンバンドの通販お知らせがありました。
私は今持っているやつにヒビが入っていて今にも切れそうなので、二本目をゲット!
JUnitのGreenの特注色だそうです。
切れかけてたので二本目をゲットぉ! #tddbc lockerz.com/s/287211325
— Yotaro TAKAHASHI さん (@PoohSunny) 2013年3月16日
ちなみに、既にグリーンバンドが切れてしまった id:sue445さんは三本目を手にしていました。
3本目ゲット! #tddbc @ 株式会社 VOYAGE GROUP instagr.am/p/W6eaOyg5Fi/
— sue445さん (@sue445) 2013年3月16日
sueさん曰く、「グリーンバンドが切れたら免許皆伝という説がある」とのこと。
私も切れるように頑張ります(ぇ
というわけで、今回も盛り上がって閉幕しました。
自分的に次に活かしたいポイント
懇親会レポートの前に、自分の反省点を先に備忘記載しときます。
今回はいろいろ反省点も多かったので、それは次に活かしたいと思っています。
やっぱりマルチリンガルの方が良い
今回はJAVA-JUnitでTAさせて頂きましたが、やっぱり他の言語のTAもできないと厳しいかなーと思いました。
一緒にTAしていたid:sue445さんには「最初はひとつの言語から始まるからー」とフォローしていただきましたが、いつまでもそれだと良くないので、次回*3までにもう一つ言語を使えるようになってきたいと思います。
Scala,Haskell,JavaScriptあたりを狙っています。
TAアピールが足りなかったか
TAって何してくれる人かってのをちゃんと自己紹介時に伝えればよかったと反省。
もう少し臨機応変に動けると良かったかな
不慣れなのもありますが、@grimroseさんがいろんなことをさくさく動かれてるのがすごかったです。次回はもう少しきびきび行動したいっす。
懇親会の模様
懇親会は、会場を提供したくださったVOYAGE GROUPさんがビールを振舞ってくれました!
id:katzchang さんが「仕事が終わったらビールをふらっと飲んで撤収する。だから乾杯とかしない」的なことをおっしゃってました。
なんて羨ましいんだ!!!
野良LTしたよ!
TAが軒並み野良LTをするビアバッシュ #tddbc
— sue445さん (@sue445) 2013年3月16日
というわけで、TAの皆さんが軒並みLTされるので、悔しくなった私も別な勉強会で作ったスライドを急遽改造。
その場で即興のLTしました。レガシーコードTDD体験記です。
「こんきのよめ」という表現には突込みがはいったので、「ことしのよめ」と修正してスライドは上げてあります。
いろんな方といろんなお話ができたので、非常に楽しかったです!!
運営スタッフの振り返り
最後に、運営スタッフと参加者の残った方で、振り返りをしました。
初めてこういう振り返りの場に参加しましたが、運営側はすごくいろんなことを考えてるんだなと認識ました。
KPTをしっかり分析して、次に活かそうとしているスタンスを垣間見ることができ、これだけ楽しいイベントの陰には、たくさんの工夫と努力があるのだなぁと認識できました。
まぁ、私はこの期に及んでなおタダ酒をいただいていたわけですが。。。。いやはや、本当にありがとうございました。
最後に
今回主催してくださった id:katzchang さん、会場を提供してくださったVOYAGE GROUPさん、また参加者の皆様、ありがとうございました。
次回私は横浜にも出没する予定です。ご縁があればまたお会いしましょー!