#tddbc 東京1.6を開催しました

『妄想ってやつは、時に現実になるからやめられないんだよ』 by KEN


ということでTDD Boot Camp 東京 1.6 #tddbc on Zusaarを開催しました。
TDD Boot Camp 東京 1.6 #tddbc - Togetterまとめ
単に開催したといっても色々なことがあったので、一つずつ振り返ってみます。

TDDペアプロ大会からTDDBCへ

31日ですが、本当は「TDDペアプログラミング大会」を企画してしました。
SCMBC開催のための遠征ついでに、東京の方々とTDDでペアプロしたかったのが企画のきっかけです。そのため、最初にニフティ様に相談した時は「ペアプロ大会をやりたい」としか伝えていませんでした。
ところがその後、1.5の参加希望者数が一時定員の4倍を超えるという事態が発生したのを見て、TDDBC開催経験者として少しでもなんとかできればと思い、6/29にtddbc MLに講師・サポートスタッフ募集を行いました。この段階ではまだ、@さんに講師をお願いしようとは思っていませんでした。そろそろt-wadaさん抜きでTDDBCを開催できるようにならないとt-wadaさんへの負担が大きくなってしまう(既になっている)と考えたためです。
そして7/2のtddbc仙台01。これに参加した前後で出会った多くの方とtddbcについて相談にのっていただきました。ここで「tddbc = t-wadaさん」という感じの意見を多く頂き、また仙台懇親会会場でt-wadaさんに「少なくとも午前はいけます」と仰っていただけたことにより、正式にTDDBC東京 1.6として動くことになりました。

スタッフ

今回は多くの方にスタッフとして参加していただいたので、この場で紹介をば。

  • @さんをはじめとする会場スタッフの方々

本イベントは株式会社ニフティ様のセミナールームをお借りしました。そして、softestさんをはじめとする会場スタッフの方々に多くのことを手伝って頂きました。素晴らしい会場を提供していただき、また、イベントに関する様々なことに配慮していただきありがとうございました。

講演、JavaScriptサポートを担当。本来なら午前講演すら厳しかった状況を、予定を調整して参戦して頂きました。

Javaサポート担当。準備段階ではTA探しも手伝ってくださいました。

C++サポート担当。twitter上でもたくさん相談にのって頂きました。

Rubyサポート担当。ML上でTAとして手をあげていただき、また、様々ことについて(希望言語統計の公開など)指摘してくださいました。

Javaサポート担当。残念ながら今回はペアを作ることができませんでしたが、Pythonも担当していただく予定でした。

模範実装及びC++Javaサポート担当。今回は残念ながらペアを作ることができませんでしたがC#,F#サポートを担当していただく予定でした。

C言語サポート担当。C言語をTDDBCを通して初めてサポートできたのは、tosikawaさんとgoyokiさんが参加してくださったおかげです。

Groovy,Javaサポート担当。SCMBCだけでなくこちらもサポートスタッフとして手伝ってくださいました。当日急遽Groovyペアを組めたのはkyon_mmさんとirofさんのおかげです。

TDDBC参加経験者かつ開催時期にたまたま東京にいるということで、個人的に会場スタッフをお願いしました。

Groovy,Javaサポート担当。当日に参加者から急遽サポートスタッフに昇格していただきました。当日急遽Groovyペアを組めたのはirofさんとkyon_mmさんのおかげです。

Backlog紹介をして頂きました。また、離脱されるまでGroovyやJavaのサポートも行ってくださいました。


このように、豪華イケメンスタッフ陣でした。
特徴としてはスタッフ陣が幅広い世代で構成されていることだと思います。
皆様、ありがとうございました。

tddbc初、在住地じゃない主催者

いやまぁ、福岡も現住所ではないですが、住んだことすらないという意味で*1
今回一番困ったこととしては、希望言語と東京特有のキャンセル問題です。
言語に関してはコメント欄で知ったのですが、まさかPHP希望者があれほど多いとは思ってもいませんでした…リサーチ不足といえばそれまでですが、かなり驚きました。あとC#希望者がほとんどいないとかですね。
PHPに関しては募集開始後に「サポートスタッフやるのでPHPも加えてもらえませんか?」というありがたい申し出があったのですが、募集開始後だったためお断りせざるを得ませんでした。これは、後からサポート言語を増やすと希望言語の再調査しなければならなくなり、運営の負荷が増えると考えたためです。前日までにMLかTwitterであれば確実に加えたのですが…というわけで皆さん、tddbc MLに登録しましょう。
Google グループ
キャンセル問題に関しては正直、irofさんやkyon_mmさんが「気にしなくてもいいんじゃない?」と言ってくださらなかったら体調を崩す寸前までいってたかもしれません。東京だと多くなるということは知っていたのですが、「ワークショップ形式だからそこまでないだろう」と考えていました。参加費無料だったことも影響あるのかもしれませんが、それを抜いても認識が甘かったです。そういう意味では、事前にキャンセル可能日時を指定していなかった私にも非はあります。
逆をいえば、ワークショップ形式はキャンセルに影響されやすいです。今回だと、事前に言語組み分けを発表できなかったり、システムへの登録(Backlogなど)ですね。開催中もいくつか組み替えを行ったことが気がしますが、忘れたので誰か今度列挙してください(おい


もちろん良いこともたくさんありましたよ!別地域の方々とたくさん交流できる機会なんて滅多にないですからね!

Backlogの導入

今回のtddbcで個人的に一番うれしかったことは、tddbcというコミュニティに対してヌーラボ様にBacklogを正式に提供していただけたことです。
今までは基本的に、演習課題はスクリーンに表示していたため見づらいことがあったのですが、Backlogを導入することで気になったらすぐに確認できるようになりました。福岡の時のように環境を自分たちで整備する必要がなかったことも良かった点の一つです*2。また、今回のように主催者とスタッフが簡単に打ち合わせできない状況でもプロジェクトを立ててそこで課題などを議論することができるので、準備にも使いやすいと思います。
Backlogを導入することでイベントでやれることも増えると思うので、今後はどんどん使っていきたいですね(ネット環境の使える会場を探すのは大変ですが…)。
触ってみて「これいいな!」と思った参加者の方、上司と相談して契や(ry

どんな流れだったの?

参加者の一人である@さんのブログにとてもわかりやすく書かれております。
TDD Boot Camp 東京 1.6に参加してきた #tddbc - Shinya’s Daily Report
こんなに詳しく書ける自信がないので、主催者権限で公式レポート認定しちゃっていいですかね?w


また、当日使用したBacklogのプロジェクトにタイムテーブルやKPT、演習データが記述されています。
ログイン方法はこちら。

今後もみんなで仲良く使うためにも、ルールは守ってください。よろしくお願いします。

主催者権限により

勝手にLTさせていただきました。

この中で私発案(?)なのはTDDBC本とTDD Boost Campの名称くらいだと思います。
資料にいれようかどうしようか迷ったものは以下の2つ。

  • TDD会議
  • t_wadaを囲む会

外した理由は「TDDBCじゃなくね?」という理由から。
さておき、LT内に書かれているネタから2つだけピックアップしてみます。

事業化

事業化するためには、講師の問題もそうですが「講師と一緒に行動でき、きちんと運営できる人」も必要になると思います。そうしないと、結局講師の負担が増えると思います。
今候補がいるのかって話は…いずれ現れるのではないですかね?

TDDBC本

実はこれだけは妄想とかじゃなくて、真面目に書きました。作れるくらいには材料が揃っていると思うのですよ。
「講演+演習+TDDBCを開催するために」みたいな内容にすればTDDBCらしくなるんじゃないかなーと思っています。

演習課題

今回は名古屋のお題だったKVSを少々アレンジした感じの課題です。
本当は仕事で実装するような内容にできればよかったのですが、準備時間が足りなかったので断念…次回の課題ですね。
で、「仕様変更が楽しい」という噂のお題出題をやったのですが…


ひぃぃぃ怖いよー!


な状況でしたw
というのも、スタッフの方々によって曖昧な仕様に突っ込まれまくるという状態が発生したためです。
あと、言語によって考え方が異なったりする場合があるので、そのあたりをもう少し考慮した課題にしたいですね(今回の課題はJavaチック)。
あの豪華なメンバー相手に仕様を考えるのだと最初からわかっていれば…いやはや、ものすごく勉強になりました。

応用編講演を後半に

この形式は結構良かったかも、と思いました。
実際に演習してから聞くと身を以て体感していることが多いので納得できるというか。
欲を言えば本の紹介以外での話も聞きたいなーと思いますが、準備時間がたりないので仕方ないですよね。

時間が足りない!

やはり1日では時間が足りませんね。
最初は「心を鬼にして講演や発表は途中でも切ってしまおう」と考えていたのですが、参加者皆様の真剣な姿勢や発表者様の熱い語りを聞いていると、とてもじゃないですがそういう気分にはなれませんでした。そして結果的にデモがお昼に食い込む結果に。難しい問題ですね…。
直前まで悩んだのですが、レビュー大会も時間が足りないためはずしました。その影響でディスプレイを調達する暇がなくKPTに「レビュー時にコードが見にくかった」「レビュー用のモニタがあるとうれしい」と指摘が…何やってるのだろうね、私。あと今気づきましたが、レビュー時に別の言語ペアとレビューすればよかったかもしれませんね。
なににせよ、1日でやるならまだまだ改善すべき点が多いと感じています。

t-wada賞

t-wada賞は個人的に譲れない大事なイベントの一つだと思っている*3ので、勝手に用意しました。
本当は応用編で紹介される本全部用意しようと思っていたのですが…さすがに無理でした。
建前:「データベース・リファクタリング」なのは、持ってない人も多かったりすることと、読み手は選ぶが読む人が読めば絶対役に立つと思うから。
本音:GOOSを用意するつもりだったけど間に合わなかった。鈍器は重い。レガシーコード改善ガイドは本屋になかった。

ネタとか諸々

  • お菓子を準備してくださった皆様、ありがとうございます
  • goyokiさんが私を名古屋在住と間違えた(言った瞬間に間違いに気づいた様子だったのでセーフ?)
  • 余裕がなくて参加者様全員と挨拶することはできなかった。機会があればいずれ挨拶したい。
  • 一部で言われていたKEN HIRAI=私です。6月以降テストクラスタの方々からなぜかそう呼ばれています。正式には『残念な感じのヒライケン』です。
  • 博多とおりもん人気?また用意します。
  • そしてなごや嬢食べてない…orz
  • メモ:スタッフ用RedBull10本+お菓子+t-wada賞
  • 「もっと研究のこととか、そういうのはイベントで言ってもいいと思うよ」ということを言われた記憶が。たしかに、今回は自分に対してのあれがそれで…いかん日本語がorz

KPTに対する個人的コメント(一部抜粋)

  • Problem:せっかくのbleisさんがちょっとぼっち状態だった(ように見えた)

「MVPの無駄使い」と言われても仕方がないかも…

  • Keep:アシストしてくれた人が親切、丁寧でした

惚れちゃいますよね〜

  • Try:TDDBC卒業者は今という情報を知ったり、TDDの総合的な議論や質問がしたい(Twitterは流れちゃうのでやりにくい…)。

これは同意

  • Try;これまでとは違った課題

より現実にありそうなやつですかね。あとデモもFizzBuzz以外があってもいいかも。

  • Problem:当日まで、どのテスティングフレームワークを使うのかわからず、何を準備すればいいのか分からなかった

私のOutput不足です、ごめんなさい。

  • Keep:1テーブルに一人TAがつくのはよかった

Keepしたいけどできるかなぁ…

  • Try:共有のgitリポジトリ(github/tddbcでもいいと思う)を作り、参加者には事前にgitクライアントのインストールをしてもらう

Gitを使ったことのない人にこれは厳しいかも。最後をコミットするだけならSubversionでもいい気がする。

次のTDDBC

TDDBC東京 1.7が8/21にあるらしいですね。
1.7はPHP限定で行われるようですが、制限せずに運営の負荷が増え、それによって質が低下する可能性が上がるよりは限定して質を高めるほうがいいと思うので、良い判断だと思います(ただし、言語を1つに限定しているイベントにTDDBCという名をつけるかどうかはまた別議論。また、1つに制限することの問題点も別問題なのでここでは省略)。

TDDBC関連で私が今後やるとしたら

今のところやれるといいな、と思っているのは

  1. 過去主催(orスタッフ?)経験者のみで構成されたTDDBC
  2. レガシーコード改善BootCamp

の2つです。
ただこれ、どちらも九州での開催は厳しいかなと。前者は開催経験者が九州〜北海道と広範囲にいるため、後者はスタッフ確保が難しいためです。やるなら東京か名古屋じゃないですかね。
ちなみにレガシーコード改善BCは11月ごろから準備で動きたいですね。で2月頃開催と。たぶん名古屋周辺の会場を探すと思います(勝手に探して決めて主催者してしまってもいいと思いますよ?)

最後に

私はトリガーにすぎません。遠方地かつ学生の私がTDDBCを開催する構図は本来歪だと思います*4
そういう意味も込めて、最後に「次回は主催者で!」と言いました。主催者は厳しいという人はスタッフをおすすめします。また、イベントじゃなくて社内勉強会だっていいのです。
参加してばかりでは自分の環境は改善できないと思いますし、自分でやってみてこそわかることもあります。


会場を貸してくださったニフティ様、Backlogを提供してくださったヌーラボ様、会場スタッフの皆様、サポートスタッフの皆様、そして参加者の皆様。どのピースが欠けても今回のtddbc東京 1.6は開催できなかったと思います。ありがとうございました。
あと、「社内TDDBCをやるぜ!」という話をTwitter上で見かけたのでとてもうれしいです。
それでは、またどこかでお会いしましょう!

ちなみに

事業化自体には賛成ですよ?大学院中退してでもお手伝いしたいですよ?
でもまだ無理じゃないかなと思っているだけです。

*1:というか東京に行ったのも3回目

*2:「5分で利用可能になる」はすごい!

*3:私がそう思っているだけで、他の主催者様がどう考えているのかは知らない

*4:学生開催はむしろ歓迎すべき。「遠方地」がつくとまずいって意味。