はじめの一歩からわかる「TDD Boot Camp」の開き方 #tddbc
皆さんはTDD Boot Camp(TDDBC)というイベントをご存知でしょうか?
TDDBCはTDD(テスト駆動開発)について一から学べるイベントです。実際にどのようなイベントなのかは公式サイトから引用します。
TDD Boot Camp(TDDBC) とは、テスト駆動開発(Test Driven Development)について、座学だけでなく、実習形式で手を動かして体得することを目的とするイベントです。
各地のコミュニティの方々が中心となって、全国各地で行われています。
非常に人気のあるイベントですが、その反面都市部での開催だとあっという間に枠が埋まってしまい、参加したくてもできないということが多いイベントでもあります。
そこで私がお勧めしたいのが、参加できないのであれば「自分でTDDBCを開いてしまう」ことです。本エントリでは、新潟県長岡市で2回のTDDBCを開催した筆者の経験を元に、TDDBCを開くにはどうすれば良いのか、「はじめの一歩」から紹介します。
TDDBC開催の流れ
- TDDBCのMLで開催したいと宣言する
- 講師を依頼する
- 講師の予定を聞いて会場を押さえる
- TA・スタッフを募集する
- 参加者を募集する
- イベント準備をする
- イベントを開催する
- ふりかえりをする
1. TDDBCのMLで開催したいと宣言する
TDDBCは各地の開催者がゆるくつながったコミュニティ「TDD Base Camp」が運営しています。
このコミュニティには情報交換用のML(メーリング・リスト)がありますので、まずはそこに参加しましょう。
として「TDDBCを(いつ頃)(どこ)で開催したい!」という宣言をしましょう。
例)
高野(@masaru_b_cl)@新潟県長岡市です。
この度、5月くらいを目途にTDDBC長岡 1.0を開催したいと思い、まずは宣言だけさせていただきます。
今のところ、私の中での一番の動機付けは「新潟県の開発者にTDDを知ってもらいたい」というものです。したがって、テスティングフレームワークの導入から比較的簡単なお題で実際に手を動かしてもらう、というような感じが良いかなと思っています。
2. 講師を依頼する
開催希望の宣言をしたら、次は講師の依頼をしましょう。
過去のTDDBCでは、次の方々が講師としてキーノートセッションを行なってくださいました。こういった方々に講師をお願いすると良いでしょう。
依頼手段は、MLでも良いですしtwitterで直接メンションしてしまっても良いと思います。
例)メンションでの依頼
@t_wada 突然すみません。7月上旬の土曜に長岡でTDDBC開催したいとなったら、今のところご都合はいかがでしょうか?
— 白い高野さん (@masaru_b_cl) February 28, 2018
3. 講師の予定を聞いて会場を押さえる
講師の方が承諾してくださったら、何より最初にやらなければならないのは、イベント会場を押さえることです。
お住いの地域によって、会場となる施設は様々です。地方であれば、自治体が運営する公民館のようなところが手軽に使えるかもしれません。そういったものがなくても、貸会議室やホテルの大広間など、調べれば何かしらあると思います。
会場の大きさですが、TDDBCは午後ペアプロワークショップを行うので、実際の人数よりも広めのところが良いでしょう。例えば、20名程度を予定しているなら、最低30名が入る会場が良いでしょう。
こういった会場をいくつかリストアップしたら、講師の方の都合のつく日を問い合わせて会場を予約しましょう。
例)新潟県長岡市の会場候補
- まちなかキャンパス長岡
長岡市民であれば、非営利イベントなら無料で使え、駅からも近いのでオススメ。飲食可能な会議室もあるので、イベント終了後そのまま懇親会を行うこともできる。 - 長岡市中央公民館
同じく長岡市民なら無料で使える貸し会議室が数多くある。駅から遠いのが玉にキズ。
4. TA・スタッフを募集する
会場を押さえたら、イベントを開催するための具体的な準備を始めます。
TDDBCには、主に次のようなスタッフが必要です。
- 講師
キーノートセッションやTDDのデモ、ペアプロワークショップのお題提示、参加者へのアドバイス、サポートを行う。 - TA (Teaching Assistants)
ペアプロワークショップで参加者へのアドバイス、サポートを行う。 - タイムキーパー
イベント全体の時間を管理する。ワークショップ中は集中していて時間に気づきにくいので、そこを支える。 - 受付
参加者の出欠を確認したり、会費を集めたりする。 - 撮影
講師が許可するなら、キーノートセッションをはじめとしたイベントの様子を撮影する。 - 懇親会幹事
懇親会の準備や出欠確認、会費集めをする。
イベントの運営は一人ではとてもまかないきれるものではありません。遠慮せずに、先達の力を借りましょう。特にTAについては、紹介したMLで相談すれば、経験豊富な方々が協力してくれるでしょう。
例)
下記条件でTAにご協力いただける方は、ご一報いただけると幸いです。
・募集言語 Java、.NET(C# or VB)、JavaScript、他
5. 参加者を募集する
スタッフの募集と並行して、参加者の募集も始めましょう。
TDDBCはconnpassのTDDBCグループで募集ページを作成しています。ML経由でこのグループの管理者に自分を含めてもらうよう依頼すれば、どなたかが対応してくれます。
募集ページには次のようなことを書いておくと良いでしょう。
- 開催日時・会場
- TDDBCとは何か?
- 会場の紹介
- 施設ごとの注意点なども事前に書いておく
- 参加費の使途
- 営利目的でない旨を明記しておく
- 当日のタイムテーブル
- 講師の紹介
- 事前準備
- TDDに必要な環境の作り方など
先日行ったTDDBC 長岡 2019-02 - connpassも参考にしてください。
なお、connpassは募集枠を複数作れるので、一般参加者の他にスタッフ枠、参加費を抑えた学生枠などを作ったりしても良いでしょう。
参加費について
参加費をいくらにするかは悩ましい問題です。大雑把には次のように決めると良いでしょう。
- 全体でいくらかかるか試算する
- 会場費: 会場を借りるのに必要な費用
- 飲食費: 後述する「おやつ」などの購入費用
- 文具等: 首下げ名札、メモ用紙、筆記用具などの購入費用
- 謝礼等: 協力していただいた講師、スタッフの方への交通費補助など
- 試算金額を想定参加者数で頭割りする
- 満席にならない可能性も考慮する
TDDBC長岡では、一番大きな会場費が無料だったため、一人2,000円とし、17名の参加でトントンになるように予算を立てました。 詳しくは次の会計資料を参考にして下さい。
TDDBC 長岡 2019-02 会計報告 - Google スプレッドシート
懇親会について
イベントを終えた後は、ぜひ懇親会も行って参加者・講師の交流の場を持ちましょう。
懇親会については、大きく次の2つの方法があります。
- 同じ会場でそのまま行う
- ピザやドリンクなどを手配する
- いわゆる「ビアバッシュ」と呼ばれる形式
- 懇親会の参加費を安くできる
- 会場を移動しないので、イベント本編の熱を保ったまま自然な流れで懇親会に入れる
- 参加者の皆さんにも会場設営を手伝ってもらうことで、交流しやすい空気が生まれる
- そのままゲリラ的にLT大会が始まったりすることもある
- 片付けやゴミの処理、残食の処理が問題
- 誰かが持ち帰らないといけない
- ピザやドリンクなどを手配する
- 別の会場で行う
- 居酒屋などで行う
- 遠方から来たスタッフの方に地場の美味しいものを提供できる
- 懇親会の参加費がビアバッシュに比べると高くなる
- 一旦移動する必要がある
- 片付けの必要がなくなる
- 居酒屋などで行う
どちらにしても、準備にはそれぞれ別々の大変さがあります。できれば、懇親会の幹事もスタッフとして用意した方が良いでしょう。
また、懇親会の募集は本編とは別のページで行うと、参加者の管理がやりやすくなります。
参加申し込みアンケートについて
connpassには参加申し込みをする際にアンケートを実施できます。この機能を活用し、次のような情報を集めておくと、ハンズオンのペア組みの参考になります。
- 希望するOS
- 希望する言語(複数)
- 希望するテスティングフレームワーク(複数)
- 希望するキーボード配列(JIS、USなど)
- 希望するエディタ、IDEなど
- 習熟度(初級者かベテランかくらいで良い)
- PC持参可能か
6. イベント準備をする
参加者の募集をしながら、イベント開催の準備をしましょう。
会場予約の正式手続き
会場によっては電話、メールなどの予約だけでなく、窓口で書類を書かないといけないところもあります。余裕を持って先に済ませておきましょう。
スタッフの役割割り振り
ご協力いただけるスタッフの方が集まってきたら、それぞれの役割と当日期待する動きをまとめて共有しておきましょう。TDDBC長岡での実績では、次のような情報を事前に共有しました。
- 講師
キーノートセッション、ハンズオンの課題検討、クロージングセッションなど - TA
ハンズオン時のサポートの方針、担当言語・テーブル割り振りなど- TAはハンズオン以外の時間は他の役割(受付)も手伝ってもらえないか確認しておきましょう
- 受付
出欠確認、参加費回収、名札配布、など - 懇親会幹事
懇親会の会場手配、参加者募集と出欠確認、会費回収、ビアバッシュなら料理屋飲み物の手配、ゴミの扱いの確認など
必要物品の購入
イベントに必要な物品を事前に購入します。TDDBC長岡では次のようなものを購入しました。
- 吊り下げ名札
参加者を識別するため&簡単な自己紹介も兼ねてハガキサイズの吊り下げ名札を用意して、名前やSNSのIDなど参加者に自由に書いてもらいました。 - A4コピー用紙
ハンズオンの際の手書きメモ用に、A4のオフィス用紙を購入しました。例えば、TDDに必要なTODOリストや設計メモなど、自由に書いてもらうためです。 - スケッチブック、筆記用具類
当日の案内板にしたり色々と使い道があるスケッチブックと、名札の記入用にサインペン、メモ用にボールペンなどを用意します。 - 領収書
イベント参加費の領収書が欲しいという参加者のために、領収書を用意します。 - おやつ
午後のハンズオンは非常に脳みそを使うため、栄養補給に甘いものを用意します。チョコなどの個包装でつまみやすいものが良いでしょう。また、地域の銘菓などちょっといいお菓子を入れておくと、他の地域からの参加者やお手伝いいただいたスタッフの方に喜ばれます。
参加者の取りまとめ
申し込みいただいた参加者を取りまとめて名簿を作ります。名簿には名前の他、懇親会への参加申込状況も入れておくと、当日急に変更があったりしても、懇親会幹事への連携がしやすいです。
また、アンケートで事前に連絡いただいた希望言語や環境などをもとに、ハンズオンのペア組みを行います。
- 基本は第一希望言語同士でペアを組む
- 習熟度を回答してもらっていれば、初心者とベテランを組ませるのをオススメ
(設計時に全く進まないということがなくなりやすくなります)
- 習熟度を回答してもらっていれば、初心者とベテランを組ませるのをオススメ
- 第一希望言語でペアが作れなかったら、第二、第三希望でペアを組む
- 初級者はなるべく第一希望でハンズオンに臨めるようにする (ベテランは第二希望でもなんとかできると信じる)
- 知り合いと一緒に参加するようであれば、その知り合いとペアにする
- 希望言語が3人になっていたら、トリオにすることも検討する
なお、ペア組みについては、参加者が30名近くになるような規模であれば、当日現場で組ませてもよいかもしれません。
オリエンテーション資料作成
当日イベント開始時に、主催者からイベントの紹介などを行うオリエンテーションを行いますので、その資料を作成します。
TDDBC長岡では次のような内容でした。
- 表紙
イベントの名前、日付、会場名 - イベントの紹介
TDDBCとは何か、趣旨を簡潔に紹介 - 講師紹介
キーノートセッションを行っていただく講師の方を紹介 - タイムテーブル説明
キーノート、ハンズオン、レビュータイムなどの大まかな目安の時間を説明 - 会場説明
会場を使う上での注意事項やトイレの位置、自動販売機の場所などを説明 - スタッフ紹介
- 主催・共催・後援団体紹介
7. イベントを開催する
準備を進め万全の体制で当日を迎えましょう。当日のタイムスケジュールは大まかにこんな感じになるでしょう。
- スタッフミーティング
事前にスタッフで集まり、当日の流れなどの認識合わせをしておきましょう。
誰か1人が突然いなくなっても、イベントが回るようにできれば最高です。 - 会場設営
開場30分前には会場のセッティングを始めましょう。- 受付の準備
テーブルの設置、名簿や参加者に記入してもらう吊り下げ名札の用意、参加費をまとめる袋や領収書の準備など - テーブル設営 ハンズオンを見越してテーブルをいくつかの島になるように配置しておくと良いでしょう
- 演台の準備
キーノートセッションを行うための演台を各テーブルから見やすい位置に設置します - 音響機器の確認
マイクやプロジェクターの準備と使い方説明、接続確認を行います
- 受付の準備
- 開場: 受付
参加者の出席状況を随時確認します。全員揃ったら早めにイベントを始めても良いでしょう。 - オリエンテーション
主催者からイベントや会場について説明します。 - 自己紹介タイム
参加者がそれほど多くなければ、全員に自己紹介(名前やSNSのID、ハンズオンの言語、バックボーンなど)をしてもらうことをお勧めします。 - キーノート
講師の方によるキーノートセッション。TDDのデモもここでやります。 - 昼休み
- ハンズオン(前半戦)
講師の方に用意してもらったお題を元に、TDDのハンズオンを進めます。 - 休憩
ペアプロによるTDDは非常に疲れるので、途中で強制的に休憩を入れます。
このタイミングでおやつを食べてもらったり、他のペアの成果を見たりして一息ついてもらいましょう。 - ハンズオン(後半戦)
- レビュータイム
ハンズオンの成果を各ペアに発表してもらいます。苦労した点や工夫した点、言語特有の面白いところなどを紹介してもらうと良いでしょう。
成果についてはTAや講師を中心に良かったところ、気になったところなどコメントをします。また、他の参加者の方からの質問なども受け付けると面白くなるでしょう。
TDDBC長岡では全ペアのレビューを行いましたが、後に発表するペアのハードルが上がってしまったり、指摘する内容がかぶったりと言うこともあったので、各言語ごとに1ペア程度で良いかもしれません。 - クロージング
講師の方から全体の講評と、TDDBCの次のステップの話をしてもらいます。 - 片付け
テーブルや借りた機器などを元に戻し、忘れ物やゴミなどがないか確認します。 - 謝礼受け渡し
TAやスタッフへの謝礼を忘れずにお渡ししておきましょう。 - 懇親会
懇親会幹事の主導で懇親会を行います。美味しい食事や飲み物とともに、たくさん会話しましょう!
8. 事後処理とふりかえり
イベントが終わったら、事後処理とふりかえりをしましょう。
事後処理
イベントの事後処理として、次のようなことを行います。
会計報告
お金の透明性を確保するためにも、当日集めた参加費の使途を整理し、必要な領収書やレシート類とともに参加者、スタッフに公開しましょう。TDDBC長岡では、Googleスプレッドシートを用いて、公開しています。
お礼メッセージ送付
上記の会計報告資料などとともにイベントが滞りなく行えたことに関する感謝を参加者に伝えましょう。また、ブログなどで感想をフィードバックしてもらうよう依頼するのも良いでしょう。
connpassなどのイベント管理サービスには、参加者にメッセージを送る機能がありますので、それを活用すると良いでしょう。
参加者へ一括メッセージを送る - connpass ご利用ガイド
ふりかえり
イベント全体についてふりかえり、良かった点、悪かった点、改善すべき点などをまとめましょう。講師、スタッフと一緒にふりかえりができるならより良いでしょう。
なお、「ふりかえり」の手法としては、「KPT分析」が有名です。次のブログエントリなどを参考にすると良いでしょう。
ふりかえりメソッド「KPT」の基本とはじめ方 | Social Change!
レポート作成
ふりかえりの内容を元に、ぜひ開催についてのレポートをブログなどのメディアに書きましょう。
TDDBC長岡2回分のレポートは次の通りです。
まとめ
TDDBC開催に必要な準備や運営の注意点を簡単に紹介しましたが、その内容はTDDBC以外でも参考になることも多いと思います。
ぜひこのエントリを参考に、各地で多くのTDDBCをはじめとしたイベントが開かれることを願っています!
イベント運営は大変だけど楽しいよ!