iOS Clean Architecture勉強会を開催しました

2020年1月21日に行われた「iOS Clean Architecture勉強会 sponsored by Sansan」という勉強会を開きまして、勉強会の運営に対して計画してやってみたことを振り返っています。

つまるところIT系の勉強会の設計に関わる話です。小さな勉強会を設計してみたい人のために、何かしら参考になれば幸いです。

ひろしんぐさん発表

やってみたこと

  • 発表をお願いする人をTwitterのDMでお願いする
    • 勇気を持ってお願いする
    • LTしてくれる人はconnpass上で待つ
  • 発表のまとめをリアルタイムにやっていく
    • qiitaに限定共有モードで書いていく
    • ハッシュタグ付けて参加者に分かるようにした
    • 最後の座談会モードで振り返るため
  • 軽食と飲み物の出し惜しみはしない
    • 待ってる時間でもう食べようよ
  • 出囃子(でばやし)を作る
    • 盛り上がるかなとタイマーに効果音を入れた
  • 発表モードと座談会を分ける
    • 発表モードは発表者に前で発表してもらう
    • 発表が全員終わったら発表者を集めて座談会モードとし質疑応答
  • 発表してもらうときに司会はリアクションしよう
  • アンケートをGoogleフォームで入力してもらう
    • 最後の座談会モードで質疑応答に使う
  • KPIを参加数などにしない
    • 5〜10人くらいいれば充分です
  • あえて懇親会はやらない
    • やりたい人がいたらやる
    • 懇親会モードとして時間を作らない
    • 座談会モードで技術的な質疑応答
    • 合間の休憩時間長めに懇親できるようにする

やってみたことの詳細

発表者を集めるためにTwitter DMする

普段DM使わないんですが勇気を持ってDMしました!

お願いするときの文言なのでなぜ誘いたいかという部分はコピペとかはしていません。

  • 「普段のツイート見てクリーンアーキテクチャ使ってること知ってますよ。発表してもらえません?」
  • 「運営メンバーが発表してほしいと案が出て、どうしてもお願いしたいんですよね」
  • 「Qiitaの記事読みましたよ」

と、お願いしたい人それぞれへの文章を考えてお願いしました。

脱線しますが、
「自分はあなたについてあんまり良く知らないけど、うちのメンバーによると有名らしいですね」みたいなことってDMしませんよね?普通ね。

そんなこと文章にしたらおかしいとわかるのに、しかし、
同じようなこと対面で言ってくるビジネスサイドの人なんなんだろう。

「俺は知らねーけど、お前有名人なの?」みたいな、「俺が知ってるレベルには来てねーみたいだが、そういう界隈では有名だそうで」みたいな、ときには「失礼ながら私は存じ上げないんですけど有名だそうで」ってありえねーですよ。いちいち自分は知らないを挟まないとあれなのか、むしろ自分は知らないというこちらにとってもどうでもいいことを言ってこちらを落とす事自体が失礼ではないのか...という。

「iOSアプリ開発といえばFlad...さんとか、つつ...さんとかは知ってるけど、私は知らないなあ。有名なんですね」とかもマジでいらねー。私は有名人でもなくて日々汗水たらして脳みそ回転させて働いて悩みながら働いてるだけっす。その合間をつくり同業者に意見を求めてアウトプットしてるだけで、それでお前の基準で勝手に比べられてこっち落とされてそれでお前...。

発表のまとめをリアルタイムにやっていく

IT系の勉強会でたまにまとめ記事を書いてるくれることってありますね。あれ実はとてもありがたいことで、発表の立場でも、参加できなかった立場でも、運営の立場でもとてもありがたいです。

あれって勉強会のあとに、眠い目をこすりながらやってくれるんですよね。間違えないように注意深くやる事が多いと思います。大変です。

なので、勉強会中、各自の発表中にQiitaの限定共有でまとめを作成しました。

https://qiita.com/yimajo/items/b0ce9d02a9b7f7fe4e18

やってわかったこととして、リアルタイム性を重視するならDropbox Paperのほうがいいですね。Qiitaだと記事の保存タイミングを気しないといけなかったりするし、Dropbox Paperは他の人も書き込めるし。

今回は私が運営するから私がまとめていってましたが、私が運営しない参加するだけの勉強会でもDropbox Paperで書いてもいいかも。

軽食と飲み物の出し惜しみはしない

18:30開場で19:00開始にしてたんですが、「19時の挨拶後に一斉に軽食と飲み物にありつくのは渋滞するのでは?」という話もあり、会場に来てくださった方はそのタイミングで自由に軽食に手を伸ばしてもらうようにしました。

できれば他の勉強会もそうなってほしいです。例えばピザの匂いだけ充満してそれを我慢しつつ発表を聞く、そしてやっとピザが冷えているのを食べる。みたいのはきついのです。

出囃子(でばやし)を作る

発表の直前が一番緊張するものだと思っていて、
その緊張がほぐれるかなーという夜中の思いつきによって、
発表のタイマーアプリをSwiftUIの勉強がてら作り出囃子の音を流すようにしました。

LTタイマーアプリ

3秒のカウントダウン後に音が流れます。

(もちろん趣味で楽しむiPadアプリなのでAppStoreでリリースなどはしません)

ただし発表者によっては出囃子の音が勢いありすぎて恥ずかしいかもしれないので、
発表者ごとに「タイマーの音量出します?」という確認をしました。

作った私が一番恥ずかしがっていてやめようか迷っていたんですが、やって見た感じ、発表者の皆さんは全員楽しんでいただいたみたいで良かった。

最後の発表時には出囃子の勢いを利用しているのを見ると、「これが正解だったんだ!」というのを感じさせてもらいました。

発表してもらうときに司会はリアクションしよう

発表者の近くでタイムキーピングと司会をしていましたが、そういうとき司会やタイムキーパーは発表に対してわかりやすくリアクションしましょう。司会じゃなくても運営側で発表者の近くにいる人はリアクションしましょう。

発表者の敵は心細さなんですよね。難しいことをわかりやすくしたつもりなんだけど、反応がいまいちわからないので、良いなら良いと反応してほしいし分からないなら分からないと反応してほしいものです。反応ないと、どうしていいか分からなくなって声も小さくなってしまう。

ちなみに、世の中には運営じゃなくても反応できる人がいてやばい。私はそういうのあんまりできないタイプなんですが、少なくとも運営する際には、反応を2倍増にすると思うと意外とできるものです。

発表モードと座談会を分ける

iOSでのクリーンアーキテクチャというテーマなので、発表者はそれぞれの実務での経験を発表してもらいますが、同一テーマを語る場合は質疑応答も適していると考えました。

そのため、まずは発表を一通りやってもらい、その後でそれぞれの発表のまとめを振り返り、アンケートや発表者自身からお互いに質問していくスタイルにしました。

手順としては

  • 発表まとめを読み上げて、振り返り
    • 発表まとめでまとめ間違いもあるので、その場で指摘してもらう
  • アンケートから意見を拾う
  • 質問に答える

座談会モードの司会進行は普段の仕事でやるようなものとだいたい一緒なので、

  • 「あれが良かった」
  • 「あれが難しかったのでできれば別の機会にWebにまとめてほしい」
  • 「二人は結果おんなじこと言ってたってことでOK?」
  • 「Firestore使うとクリーンアーキテクチャにしづらいのはそうですが、GoogleがFirestoreを使ってそれ自身にViewが依存しないようクリーンにしているサンプルもあります(iOS, Android共に)」

のような感じで、型にはまらずに進めてみました。

KPIを参加数などにしない

私の理想とする勉強会は、
2014年03月12日に行われたpotatotips (iOS/Android開発Tips共有会)で、これは普通の参加枠がなく、参加者全員発表者という緊張感があった。

cookpad.jpg

https://qiita.com/yimajo/items/336fd0039bd9d35887f6
緊張感はあるけども会場はクックパッド社なのでキッチンで何か作ってる人がいるんですよね。人のうちに遊びに来ているような安心感。

これは完全に自己満足ですが、そのような理想に近い形を別の形で超えられた気がする。達成感を得られた気がします。

もし参加者数なんかを目標にしていたら、それは自分にとっては達成感はないと思います。いやKPIを設定しないといけない状況になったらすればいいと思いますけど、本当にそれ価値あるの?って感じです。

その他気付いたこと

  • 参加枠への考え
    • 勉強会への参加枠としてのコントリビューション度としては
      • 発表枠 > Twitter実況枠> 普通の参加枠
        • Twitter実況してくれる枠はありがたい
          • 抽選ではなく申込者はすぐに確定してほしいので先着順
    • 普通の参加枠
      • Twitter実況してくれる人もいる
    • Twitter実況枠
      • しかしこの枠への参加率は少ない
        • なぜ?
          • Twitter実況という定義をはっきりしてほしい?
            • 定義とかはしたくない。どんなツイートでも自由にやってほしい
              • 次回から「自由にやってほしい」と書くべきかも
              • もしくは全員Twitter実況枠
  • iOSでのクリーンアーキテクチャがテーマなので発表内容がかぶるのは普通
    • 発表者は気にしないでほしい
    • 教科書にないことをやって、同じことを複数人が同じようになっというのは重要なこと
      • かぶるのは重要な部分なので聞いてる方にはそれが重要だと分かる
      • 別々の人が同じ事を違う視点や言い方で結果が同じになることは興味深いこと

最後に、
様々な形で参加してくださったり、会場を貸してくださったり運営を手伝ってくださったSansan株式会社のみなさんに感謝です。

参考記事

あなたが勉強会を開く際に覚えておきたい10のTips
https://qiita.com/yimajo/items/bcaa84412b3ded9458ba

第1回実践iOSアプリ開発モブプログラミング会についてまとめ
https://qiita.com/yimajo/items/0f13c735932ae20b891f

第2回実践iOSアプリ開発モブプログラミング会についてまとめ
https://qiita.com/yimajo/items/e57e866a4d357962a01a