なかしょの技術日誌

業務では非MS系のものばかりですが、ここではMS系の技術やサービスを中心に書いていきたいと思います。

TDD Boot Camp 2020 Online#1 で TA (Kotlin, Swift)を担当しました

2020年8月1日に開催されたTDD Boot Camp 2020 Online#1 にTAとして参加しました。

tddbc.connpass.com

参加に至る経緯

2018年9月に開催されたTDDBC Tokyo 2018-09に参加して、次に東京で開催される際はTAをやりたいと思っていました。

tddbc.connpass.com

Covid-19の影響でオフラインの勉強会がなかなか開かれない中、TDDBCオンラインのTAの募集が始まりました。

tddbc.connpass.com

そこに応募しTAとして参加することになりました。

どんなことをやったか

本イベントではTAとCoC(Code of Conduct)を担当しました。

CoCについて

最近のコミュニティイベントでは行動規範を設けるところが多いです。 TDDBCでも話題となり、当然設けようという流れになりました。 そこで各スタッフが関わったイベントで採用されたCoCを紹介しあいました。そして私がその場の勢いでCoC担当に指名されたので、原案を作ることとなりました。

私はXP祭りの実行委員もしており、その打ち合わせの中でCoCが話題になったばかりでした。その時は confcodeofconduct.com をベースにしようと話していたので、その情報を元にオフライン的な表現をオンライン的な表現に変換して原案を作成しました。

そして、ある夜のスタッフ会議でその原案を元に意見を交わしました。厳しすぎな表現や当たり前すぎる表現は削ろうという意見もありましたが、そもそも緩い規範にしては意味がない、こんなやつおらんやろ、というものも記述すべき、ということで削ることはしませんでした。

削らない方針で決まった後ぐらいに、@t_wada さんから以下のサイトを紹介されました。

atsushieno.hatenablog.com

各スタッフが熟読した後に興味を持ったのが以下の文です。

コミュニティ運営メンバーによる違反行為についても同様に情報提供を求めますが、十分な対応が期待できない場合はTwitterなどのソーシャルメディアに助けを求めてください。

なるほど、CoCを正しく定めて相談窓口を設けても運営が正しく機能していなければ相談者を助けることはできません。その一文を加えることとして完成したのが以下のCoCです。

github.com

準備会ではCoCの相談練習として、Discordで私にDMを送ろうというイベントがあり、参加者の皆様からDMを受け取りました。当日はまったくDMがなく皆さん楽しめたようで何よりです。

TAについて

TAについては準備会前、準備会、準備会後、イベント当日と色々とやることがありました。ちなみにC#、Kotlin、Swift、Javaができると申告していましたが、Kotlin、Swiftの担当となりました。

ペアプロ演習

ペアプロ担当、TA担当、オブザーバーに分かれてTA同士のペアプロを実施して、課題を抽出しました。VSLiveShareの環境構築や、Discordでの画面共有、ブラウザIDEなど色々と試して意見を出し合いました。

私はがペアプロしたときは C# で VS LiveShareを使用してペアプロしました。業務でもずっとペアプロしていますが、普段とは違う人とペアプロするのは新鮮で楽しかったです。

このペアプロ演習を何セットかした結果、イベント一日だと準備に手間取ってTDDを楽しめないペアが発生しそうという懸念を持ち、準備会を開催することとなりました。

テンプレート準備

TDD用のテンプレートを準備しました。テストフレームワークを準備する時間ももったいないので、運営側で用意するという方針です。もちろん、強制するものではないです。当日のペアで合意したものであれば問題ないです。

私が担当したのはKotlin、Swift、C#(Mac)用でした。

github.com

github.com

github.com

C#Mac向けテンプレートはXamarin Studio用のものがあったのですが、.NET Core + NUnit のテンプレートを新たに作成しました。

準備会

準備会はイベント当日の約2週間前に行われました。 事前に作成したチェックリストに従い参加者がTDDのペアで環境構築等を進め、早く対応できたペアは実際にTDDをやるなどして、親睦を深めていました。 私が担当するグループはKotlin、Swift、Goが一組ずつでしたが、Go言語は知見がないのであまり絡まなかったのは反省。

準備会後

準備会後は、振り返りをしたり、個人では当日の課題を解いてみたりしました。課題を実際に解いておかないとTAとして適切に対応できないですよね。課題を解いたのはイベント2日前でした...(^^;

イベント当日

8月1日のイベント当日は @t_wada さんの基調講演とライブコーディングから始まり非常に盛り上がりました。自分自身にも非常に学びがありました。

TDDハンズオンでは、担当ペアをいったりきたりと、移動しながらちょこちょこ助言をしていました。あまり助言し過ぎないように、でも手が止まらないように言葉を選ぶのを意識しました。担当したペアはいずれも片方はベテランという状態であまり私の出番はなかったですが。

45分ごとにレビュを実施することになっていて、レビュ時の班長となっていたのですが、 その班に @t_wada さんがいらっしゃってくれたので、都度、非常に知見のある発言をいただき、私が思い切り勉強させてもらいました。

ハンズオンも終わり、懇親会も非常に盛り上がって、本当に成功したイベントでした。これからも関わっていきたいです。

振り返り会

イベントから約一週間後の8月9日20時から行われました。

実は7月の中旬にエアコンが壊れて、その日に修理があり、夕方に直って涼しさを満喫していたら寝落ちしてしまい、参加したのは21時からです。その間、色々な知見のある振り返りがあったかと思うと非常にもったいないことをしました。

振り返りではないけれど電通大OBが多いというネタで盛り上がっていたようで、同じ電通大OBとしてはその場にいなかったのが残念でした。

最後に

あまり触れていませんでしたがスタッフの打ち合わせは非常に学びがありました。集まれば何か意見を出し合って前に進んでいる感がアリアリで、特にTDDBCのオンラインを他の人も今後企画・運営しやすいようにノウハウを残さなければという使命感で色々とノウハウを蓄積していったのが素敵でした。 このあたりの記事が参考になります。

mohira.hatenablog.com

jnuank.hatenablog.com

今後もTDDやXPを普及に寄与していきます。