TDDBC Tokyo 2017-09 - connpass に参加することができたのでメモ。
TDDBC ってなに?
TDD Boot Camp(TDDBC) とは、テスト駆動開発(Test Driven Development)について、座学だけでなく、実習形式で手を動かして体得することを目的とするイベントです。
実際に参加してみた感想としては、以下の要素がギュッと詰まった濃厚なイベントでした。
- 座学
- 実践
- ペアプログラミング
- コードレビュー
- 意見・情報交換会
個人的には、ペアプログラミングを組み込んでいるのが素晴らしいと思いました。何事もそうですが、実践では座学どおりに進むことはめったになく、少なからず失敗しながら身につけていきます。1人よりも学習効果が高いペアプログラミングを組み込んだのは、2時間という限られた時間のなかで一定以上の成果を得るためのベストプラクティスかもしれません *1
基調講演
せとあず (Twitter ID: @setoazusa) さん
TDD のエッセンスがギュッと詰まったフルスペック感漂う重量級の講演でした! スライドを見るだけでも大いに勉強になると思いましたが、熱いトークを聞くことができたのは参加した人の特権じゃないでしょうか :)
ペアプロデモ
ペアプロデモをFizzBuzzで#tddbc pic.twitter.com/IG8NpnPIcu
— すーくん (@su_kun_1899) 2017年9月30日
ペアプログラミング実践の前に、YASUI Tsutomu (Twitter ID: @yattom) さんと よこち (Twitter ID: @chiiia12) さんによる、ペアプログラミングしながらテスト駆動開発するデモンストレーションがありました。
参加者はテスト駆動開発の経験がないのはもちろん、ペアプログラミングの経験もない人が多いです *2 そこで、実際にテスト駆動開発 + ペアプログラミングをライブで見ることができるのは、TDDBC に参加する大きなメリットだと感じました。特に引っかかることもなく淡々と進むのですが、とても丁寧かつ原則に忠実で、すごく分かりやすかったです。
ペアプロ
ペアプロのお題は セマンティック・バージョニング でした。
自分たちのペアは、ざっくりと相談して以下のような戦略をとることにしました。
- テスト駆動開発を体験することを一義的な目標にする
- 意見やアドバイスはためらわず言う
- 今やる演習問題だけに集中する (先の演習問題は見ない)
- 詰まったらペア交代 (第2ラウンドは5分のタイムボックスに変更)
第1ラウンドは、お互いの呼吸やベースとなるスキル・好みが分からずかなり苦戦した印象です。しかし、第2ラウンドでは第1ラウンドの経験が生き、お互いの呼吸が分かってくるにつれてリズムがよくなっていくのを感じることができました :)
また、「今やる演習問題だけに集中する (先の演習問題は見ない)」という戦略のおかげで、ついつい考えすぎてしまう落とし穴にはまることもなく、目の前のことに集中できたのは良かったと思います。特に、当初は「2.0.1a とかあるかもしれないし、バージョンはとりあえず文字列型で持っておこ〜」としていたのが、問題3で「ゼロ、または正の整数です」となったところで整数型として保持するように変更したときなど、「テスト書いておいてよかったよね〜」と、2人でニヤニヤしちゃいました。
コードレビュー
各ラウンド2ペア ✕ 2ラウンド = 4ペアがコードと戦略、実際の進み方を話して、他の参加者や TA さんがそれをレビューしました。
プログラミング言語やフレームワークによって観点や戦略がまったく異なるものになってしまうのはもちろんですが、*3 同じプログラミング言語でもまったく異なる戦略で進めているペアもおり、「こんないいやり方もあるんだなあ」と知見を広められるのは、とてもよい体験でした。
懇親会
懇親会!ピザだ!#tddbc pic.twitter.com/LruYf33MbK
— すーくん (@su_kun_1899) 2017年9月30日
メインスケジュールが終わったあとは懇親会へ。
.@gaopin1534 さんのLT! #tddbc pic.twitter.com/2sHYEKMebl
— Yotaro TAKAHASHI (@PoohSunny) 2017年9月30日
恒例 (らしいです) の LT 大会がすごい盛り上がりでした。個人的には、主催者の1人である PoohSunny (Twitter ID: @PoohSunny) さんがガチのマサカリ勢だと知ることができたのが大きな収穫でした。以後、態度にはよりいっそう気をつけたいと思います。
感想
参加者のレベルが高い
TDDBC Tokyo 2017-09 https://t.co/WZh4lVFnut #tddbc
— いきすぎステーキ (@a_suenami) 2017年8月26日
参加者一覧にbootする必要のない方々が見えるぞ
参加された方のレベルがすごく高かったです。ガチでレベルが高すぎて「本当に新兵?」「むしろ教官側では……」と感じることも何度となくありました。
まとめ
本当に久しぶりとなる勉強会への参加でしたが、朝の受付から懇親会までフルに楽しかったです!
自分はまだブートしたてですが、少なくとも前に進むキッカケをいただくことができたので、今後は新兵以外の形で TDDBC に関わっていくことを考えてみたいな、と思いました。
みなさんお疲れ様でした!!! #tddbc pic.twitter.com/ftomcuBZsL
— Yotaro TAKAHASHI (@PoohSunny) 2017年9月30日