2. Python Boot Camp 運営マニュアル#
Python Boot Camp(略称 PyCamp)の運営をする際の手順をしめす。
2.1. 対象利用者#
コアスタッフ
講師
現地スタッフ
TA
2.2. 役割分担#
2.2.1. コアスタッフ#
Python Boot Camp全体の運営・管理を行う。各開催では現地スタッフを運営面からサポートする。
役割
開催候補日を設定する
講師を探す
コアスタッフ・現地スタッフとの事前打ち合わせ
PyCon JPのFacebook、Twitter公式アカウントの管理・運用する
経費精算で一般社団法人PyCon JP Association会計係と精算を受ける講師・現地スタッフを仲介する
イベント後の反省会を開く
各開催、全体の予算の管理する
コアスタッフのマニュアルは Python Boot Campコアスタッフマニュアル を参照。
2.2.2. 講師#
チュートリアルテキストの作成・メンテナンス、テキストを利用してチュートリアルの実施。一般社団法人PyCon JP Associationからは謝礼として15,000円(懇親会参加費用含む)と、現地への渡航費用と宿泊費一泊分の経費が支払われる。
役割
チュートリアルテキストの作成・更新
コアスタッフ・現地スタッフとの事前打ち合わせ
事前リハーサルの実施
開催地での現地スタッフとの当日打ち合わせ
チュートリアル実施
チュートリアル後の懇親会への参加(費用は講師謝礼に含み、別途支払なし)
イベント後の反省会への参加
2.2.3. 現地スタッフ#
会場の選定・確保
Connpassイベントの管理・参加者への連絡など
コアスタッフ・講師との事前打ち合わせ
イベント準備(懇親会会場確保、会場運営など)
開催地での講師との当日打ち合わせ
チュートリアル実施
写真撮影(後で報告レポートに使用するためチュートリアルの様子がわかるもの。)
チュートリアル後の懇親会への参加(費用は現地スタッフの負担)
イベント後の反省会への参加
開催報告レポート作成
2.3. 全体の流れ#
- 日程、会場、講師の確定
コアスタッフが開催候補日を決め、現地スタッフと調整して会場のスケジュールを確認する。併せてコアスタッフは開催候補日に都合がつく講師を探す。会場、現地スタッフ、講師のスケジューがル調整でき次第日程を確定とする。
- イベント公開
会場と講師の日程が確定したら、イベントをConnpassで公開する。現地スタッフをイベントの共同管理者に追加して、詳細の追記や以後の更新、参加登録者への連絡は現地スタッフが行う。
- 事前打ち合わせ
事前打ち合わせを実施して、コアスタッフ、講師、現地スタッフで今後のタスクを確認する。現地スタッフがTAのあてがあるようであればTAも参加してもらう。
- イベント開催
講師は当日の午前中に現地入りをして、昼食をとりながら現地スタッフと当日の最終打ち合わせを行う。 イベントの案内やMCなどは現地スタッフが行い、講師はチュートリアルが注力できるようにする。イベント開催中は、TAは参加者の質問にこたえるなど講師をサポートする。
- イベント開催後の事務処理
イベント開催後、コアスタッフは事後の反省会の日程を調整する。参加者は、コアスタッフ、講師、現地スタッフ、TA。 コアスタッフは講師と現地スタッフと連絡を取り、経費の精算を行う。
2.4. 詳細#
2.4.1. 日程、会場、講師の確定#
- Python Boot Camp を開催したい人はPython Boot Camp 全国ツアーお問い合わせフォームから応募する。
応募の際、会場未定でもかまわない。
- 会場のあてがある現地スタッフや会場提供者で希望者はコアスタッフに立候補の旨を伝える。その際には、会場の空きや現地スタッフの都合などを考慮して、いくつか開催可能日を示すとコアスタッフが講師を見つけやすい。会場にあてがないスタッフは会場候補を探す。会場の要件は以下のとおり。
最低収容人数: 約15人
- 最低限の広さ: 収容可能な最大人数の参加者が着席しても、講師・現地スタッフ・TAが自由に動き回れる程度の広さ。
イベント開催中に参加者のサポートを行うため。
- 会場利用時間帯: 12:00-17:30
- 大まかなスケジュールは以下のとおり。「会場の準備・後片付けに時間がかかりそう」などの会場の事情がある場合は適宜時間帯を変更すること。
12:00-12:30 会場準備
12:30-13:00 受付
13:00-17:00 イベント本体
17:00-17:30 アンケート記入・記念写真撮影・後片付け
講師のスケジュール都合や予算(会場の有料・無料、有料ならいくらなど)の都合により開催が困難な場合は開催日程の調整を依頼する場合がある。
コアスタッフはSlackチャネル(#pycamp)に、現地スタッフ、会場提供者、講師を招待する。以後のコミュニケーションはこのチャネルを主に使う。
コアスタッフは講師と現地スタッフ希望者を JIRA に招待する。以後の進捗管理はJIRAチケットで行う。
2.4.2. イベント公開#
コアスタッフがconnpassのコピー作成機能(Connpassのヘルプの 「コピーを作成 」を参照)を使って、前回の開催イベントと懇親会ページを複製し、イベントページ管理者に現地スタッフを追加する。これで現地スタッフも管理者権限でイベントの編集を行うことができるようになる。
- 現地スタッフがイベント・懇親会詳細を編集する。編集する内容は、日時、開催地、会場の規模に応じて参加可能登録人数など。
参加費は一般枠2,000円、学生枠500円とする。
TA枠数は4~5人にひとり程度いれば十分だが特に上限は設けない。
参加者枠数は、いきなり大きな参加者数を見込んで会場をおさえて告知するのではなく、はじめは控えめな枠数で公開して、登録者数の伸びをみながら徐々に増やしていく。
- 参加費用は少額でも有料で開催したほうが、無断でのキャンセルや、とりあえず参加表明だけしておいて結局参加しない人などを避けることができる。講師派遣費用や会場費用などをスポンサーするので無料で開催したい、などのリクエストがある際にはこの点を考慮すること。
これは会場費などがかからなかった場合も同様。
会場によっては有料開催の場合は会場費がかかる場合もある。これまでの開催ではそのような場合でも、有料開催として別途会場費を支払った。
Connpassイベントの編集が完了次第、 現地スタッフがイベントを公開する。懇親会会場など、公開に際して絶対必須ではないものは「未定」でも早めから公開するほうが、より多くの人にイベント開催を知ってもらえる。過去の開催経験から 最低1ヶ月前から告知するようにする 。
コアスタッフはイベントの告知をFacebookとTwitterのPyCon JP公式アカウントから行う。公式アカウントの定期ポストは Google Spreadsheet のツールから設定する。
現地スタッフは地域のコミュニティネットワークなど、活用できるつてなどを使って宣伝する。
2.4.3. TA申込者#
イベント公開後、TA枠での参加登録申し込みがあった際には、コアスタッフがSlackチャット(#bootcamp-xxxxx)への招待を行う。
必要であれば現地スタッフがTAと直接連絡を取り、これまでの経緯と今後の流れを説明する。
2.4.4. 事前打ち合わせ#
- イベント公開と並行して、コアスタッフがGoogle Driveにイベント用のサブフォルダを作成して、下記のファイルを前回の開催イベントからコピーして流用する。
現地スタッフが 調整さん などでコアスタッフ、現地スタッフ、講師の打合せ可能な日程を調整する。TAも参加表明している人がいれば参加する。日程は開催が決まり次第、できるだけ早く行ったほうがよい。
事前打ち合わせ行う。打ち合わせでは、コアスタッフがイベントタスク一覧シートを使ってイベント開催前、開催時、開催後のタスクを説明する。打ち合わせにはSlack Call(音声のみ)やGoogle Hangout(ビデオ)などを活用する。まだConnpassイベントを公開していないのであれば、この場で現地スタッフからの質問にコアスタッフは答える。
2.4.5. イベント開催まで#
イベントの告知を継続しつつ、参加者数の伸びを時折みて、参加者枠数や告知のやりかたなどを見直す。
2.4.6. 当日打ち合わせ#
現地スタッフが当日打ち合わせの場所を確保する。会場近くで一緒に食事をしながら打合せできるような場所がベスト。
現地スタッフと、当日朝到着した講師が待ち合わせの上、打合せ場所で当日の最終確認を行う。確認する内容は、午後の流れ、最終参加登録者数、参加者の経験レベル、席配置、TAの割り振りなど。
2.4.7. イベント開催#
- 会場準備・受付をする
会場案内の貼り出し、机や椅子の配置、プロジェクター、講師PCの接続などなど。
過去の開催では受付場所がわかりにくかったというアンケート結果もあった。事前にConnpassメールでConnpass IDを用意してくださいと案内を出すとか、受付用の机を出したり、会場案内の貼り出しをする。
過去の振り返りミーティングでは、参加者の席順をOS別・習熟度別に並べることで参加者同士のコミュニケーション取りやすくなったという意見があった。可能であれば、事前に参加者に回答してもらったアンケートを元に、席順を検討することが望ましい。
- チュートリアル実施
チュートリアル中に、区切りのいいところで参加者の足並みをそろえるところを設けるなどして、極力参加者の進度をそろえる。
- 適宜おやつ休憩
最初におやつを渡してしまうより、ある程度チュートリアルを通して打ち解けてからおやつ時間を設ける方がコミュニケーションをとるきっかけになる。
2.4.8. イベント開催後事務#
振り返りミーティング#
コアスタッフが振り返りミーティングの日程を 調整さん で調整する。目的は今回の開催からのフィードバックを今後の運営に活かすため。
参加者はコアスタッフ以外に、現地スタッフ、講師、TAなど運営に関わった人。
コアスタッフはKPTをベースにしたアジェンダを用意して事前に配布する。イベント開催当日の最後に参加者から集めたアンケートの結果へのリンクもアジェンダには載せる。
反省会参加者は可能であれば事前にコメントの記入しておく。
反省会では寄せられたコメントやその他に気づいたことなどを共有する。
- 議事録は事前打ち合わせで作成したGoogle Driveのイベント用サブフォルダに、以下ファイルをコピーして使用する。
経費精算#
経費精算が必要なものについては領収書をもらう。領収書の宛名は:一般社団法人 PyCon JP Association。
講師(出張費用と謝礼)と現地スタッフ(おやつ・飲み物代やもしあればコピー代などの雑費)は経費の詳細を タスクリスト の「経費精算」タブに記載する。
領収書もしくはレシートをスキャンしたものを Google Driveの各イベントフォルダ以下 に保存する。スキャンが難しければスマホなどで撮影した画像でも可。原本の郵送などは不要。電車やバスなど領収書やレシートが難しい場合は、Google Mapsなどで経路を示したものを代わりに添付してコアスタッフが金額の妥当性を確認できるようにすること。
- コアスタッフに精算金額を受け取る振込口座情報の詳細を連絡する。タスクリストに記載してもよいし、コアスタッフにSlackなどのプライベートメッセージで送ってもよい。必要な情報は下記の通り:
金融機関名
支店名
口座種別(普通・当座)
口座番号
口座名義
- マイナンバー管理機能のための登録メールアドレス(講師のみ)
講師への謝礼支払いは源泉徴収の対象となるため、一般社団法人PyCon JP Associationのほうで源泉徴収した金額を差し引いた額を払うことになる。その際に講師のマイナンバー情報が必要となる。一般社団法人PyCon JP Associationでは、オンライン会計サービスの freee のマイナンバー管理機能を利用することで、一般社団法人スタッフが講師の個人情報であるマイナンバー詳細を直接みることなく源泉徴収処理を行うことができる。
その他注意点
コアスタッフは受け取った詳細をJIRAに起票して、一般社団法人の会計担当に振込依頼する。
講師の謝礼については上記の通り、会計担当が講師から連絡のあったマイナンバー登録用のメールアドレスをfreeeから登録する。
講師はfreeeから届いた案内に従ってマイナンバーをfreeeサイトに登録する。
会計担当は領収書などを確認し問題なければ振込を行う。
振込完了をもってコアスタッフはJIRAチケットをクローズする。
開催報告レポートの作成#
現地スタッフはイベント開催中、レポート作成のための写真撮影を行う。例えば、会場外観、入り口、中の様子、参加者がチュートリアルに参加している様子、懇親会の様子など。
コアスタッフは現地スタッフにブログ執筆の権限付与を行う。
イベント開催後、1週間をめどに現地スタッフはブログシステムから下書きを作成してコアスタッフにレビューを依頼する。
コアスタッフはレビュー後問題なければそのまま公開する。
2.5. 利用ツールまとめ#
Slack - pyconjp.slack.com
#pycamp チャネル:Python Boot Camp 全体のチャネル。全体の運営に関する議論や、講師を募ったり、会場提供者とのやりとりなどを行う。
Google Drive: Python Boot Camp用のフォルダ でドキュメント共有に活用
JIRA: PyCon JP JIRA での運営タスク管理
Twitter: @pyconjapan での告知・拡散用
Facebook: PyCon JP Facebookページ での告知・拡散用
Connpass: PyCon JPイベントシリーズ でPyCon JPイベントやその他の関連イベントとあわせて管理している。
Blogpost: PyCon JP公式ブログ での告知や開催報告レポート用
2.6. JIRAの使い方#
現地スタッフのタスクはJIRA上で作成したチケットを元に進める。
開催までに必ず必要になるチケットはSlack上のPyCon JP Botが自動作成するので、現地スタッフが作成する必要はない。
ただし、PyCon JP Botが作ったチケットに当てはまらないタスクがある場合は、自分の判断で新たなチケットを作成してもよい。
JIRAチケットは以下の流れで進める。
タスクを依頼する人(以下、チケット報告者)はJIRAチケットを作成する。チケットの説明には、タスクの完了基準を明記する。
タスクを依頼された人(以下、チケット担当者)は、チケットの説明に従ってタスクを実施する。着手前に「処理開始」ボタンを押してチケットのステータスを「進行中」にしておくこと。
チケット担当者は、質問があればチケットのコメントに記入する。この時、コメント内に質問相手への「メンション」(コメント欄で @ を入力した後表示されるユーザー一覧から該当者を選択する)を付けるとメールで通知を送れる。細かいやり取りが何度も発生しそうな内容であれば、Slackの #pycamp チャンネルを使い、結論をJIRAチケットのコメントにまとめる方法でもよい。
- タスクが完了基準を満たしたら、チケット報告者にタスクの完了を報告する。報告は以下の流れで行う。
「課題の解決」ボタンを押す(小さなウィンドウが表示される)。
「担当者」をチケット報告者に変更する。
タスクの結果が分かるエビデンス(ミーティングなら議事録、ブログ執筆なら記事URLなど)があれば「コメント」に記入する。
「解決」ボタン押す(チケット報告者にメールで通知される)。
- チケット報告者はタスクが完了基準を満たしているかを確認し、結果に応じて以下のように進める。
完了基準を満たしている場合: 「課題のクローズ」ボタンでチケットをクローズさせる。
完了基準を満たしていない場合: 「課題を再オープンする」ボタンを押してチケット担当者に担当を戻す。コメントには未完了の理由も記入すること。
2.7. その他いろいろな意見#
振り返りミーティングで出されたいろいろな意見。 イベントとして対応しない方向でいるものもあれば、アイデアベースで誰か立候補して進めてくれれば対応する方向のものも含む。
- リモート講師・自宅から生中継なら場所代などもかからないのでは
このPython Bootcampイベントで大事にしたいのは実際に人と人が現地で交流することなので、このイベント運営としてはリモート開催は対応しない。
他のイベント(Pyladies Kyoto Meetup #1でリモート講師を体験した人の経験では、なかなか難しかった。特にチュートリアル形式の場合、参加者の進度などリモートでは見えない部分が難しかった。
- チュートリアルの内容・テキストについての提案 ー 立候補者募集中
- 誰かテキストを作成してくれるのであればできる。
Python Bootcamp中級・上級の開催。
同じ題目で速度を競ったり、より綺麗にコードを書けるかを競ったりする。
コードを写経するような内容が多いので、穴埋めのように、自分でやった実感があるようなテキストを追加する。
オブジェクト指向・Classについての内容を追記
- イベントの開催時間をもっと長くしたい ー 未実施
午前に環境構築して、午後に始めるとスムーズかもしれない。また、講師としては午後の時間だけでカバーできる内容以外にも教えたい内容がある。
お昼前から始めるとランチのことも考えないといけない。
会場が許せば懇親会の時間に間に合う程度で希望者に延長戦は可能かもしれない。
- 参加者の問題解決のためにペアプログラミングを導入 ー 未実施
参加者が自分だけで解決しようとして環境構築の問題にTAが気づくのが遅れた。
参加者二人ずつでペアプログラミングの導入は運営の面以外に、参加者同士で話すきっかけにもなるので良いかも。
- 同じ場所で複数回開催する場合は同じ講師に来てもらって親交を深めてほしい。
初心者向けのチュートリアルで同じテキストでやる前提だとイベント参加者の顔ぶれは毎回違うことの方が多いと思われるので、できればいろんな人に講師をやってもらっていろんな交流を推めたいし、特定の講師のスケジュール次第でイベントの予定を決めなければいけなくなるのは避けたい。