輪読会の参加ハードルを低くする工夫とアウトプットを出すまでの道のり
この記事は、Magic Moment Advent Calendar 2023 12日目の記事です。
こんにちは!
Magic Moment で Tech Lead をやっている Miyake です。
アドベントカレンダー12日目の今回は、社内で輪読会を開催する際にあたって意識したことと、どのような成果に繋がったかを話したいと思います。
輪読会を開催した背景
以前から漠然とチームで勉強会の文化を作りたいなと思っていた矢先、チームの関心とそれにマッチしそうな良書の発売のタイミングが重なったのがきっかけです。
ちょうど昨年末から今年にかけて、チーム全体で監視やプロダクト品質といった組織で取り組む必要があるテーマに関心が高まったタイミングで以下の本が発売されました(実際に輪読会を行ったのもこの2冊)。
今後の組織の事も考えると、一人で読むよりなるべく多くのメンバーと一緒に呼んだほうが良いと思い、開催に踏み出しました。
また弊社にはエンジニアのスキル向上を目的とした支援制度「Magi Tech Fund」(マジテックファンド)というものがあり、毎月最大1万円を書籍代などに当てることができます [1]。
こういった支援制度の存在は、企画する側としてもメンバーの募集する際のハードルを下げることに繋がるのでありがたかったです。
Magic Moment では、エンジニアの成長を支援するために他にも色々な制度や取り組みを行っているので、詳しく知りたい方は以下の記事もご参照ください。
輪読会ルール
会社やチームとしての輪読会のルールがあるわけではありませんが、今回主催したものは以下のルールで行いました。
輪読会の方式としては事前準備方式で、参加メンバーは各回のテーマとなる章について事前に一読して以下の点をまとめてくるようにしました。
- わかったこと
- わからなかったこと
- 感想(任意)
特に "わからなかったこと" の部分が重要で、輪読会では各人が持ち寄った "わからなかったこと" を中心に議論を進めます。
準備の段階ではこの3項目をしっかりまとめてくる必要はなくて、読んでいて気になったところをメモしてくる程度の内容で良いという形で進めました。目的としては輪読会の中でこの内容を元に議論をすることなので、その場で話せれば良いといった具合です。
↓実際にこういった感じです。
また、簡単にまとめるだけで良いと言っても、読む時間がなかったりしてそもそものハードルが高いと感じられる人もいると思います。
そういった方のために、"観客"としての参加も歓迎しました。観客参加の人は事前に読んでくる必要はなく、聞き専で参加するもよし、議論に参加するもよし、と特に細かいルールはありません(時々感想や意見を聞くことはありましたが😅)
このようなルール設計に至る上で考えたことを次に話します。
輪読会の設計で意識したこと
輪読会の方針を決める上で、以下の点を意識しました。
- 参加のハードルを低くし、輪読会の存在が負担にならないようにする
- 読むことではなく、理解を深めることを目的とする
それぞれについてどのようにアプローチしたのかをお話します。
参加のハードルを低くし、輪読会の存在が負担にならないようにする
輪読会のやり方を調べてみると、大体次の2パターンあることがわかりました。
- 発表形式
- 読み合わせ形式
各方法についてメリデメはあると思っており、実際にやったことがあるわけではないので認識が間違っているかもしれませんが、以下のような印象を受けました。
発表形式 | 読み合わせ形式 | |
---|---|---|
説明 | 各回(各章)で担当を決め、担当者は事前に準備して発表する | 各回でお題となる章を決め、参加メンバー全員で順番に音読していく |
メリット | - 担当部分の理解度は高くなりそう - 担当日以外では参加ハードルが低そう |
- 事前に準備する必要がないので参加ハードルが低そう |
デメリット | - 担当日の準備負荷が大きそう - 担当日以外の部分の理解度が低くなりそう |
- 読み合わせに多くの時間を使ってしまいそう - 参加者全体で理解度が低いまま終わってしまう場合がありそう |
まず「1. 発表形式」についてですが、単純に担当日の負担が大きくなりすぎる懸念があり採用を辞めました。求める発表資料のハードルを下げるという方法も考えましたが、自分が担当となるとどうしてもしっかり準備しようと気持ちが働いてしまうもので、負荷を下げられるイメージが湧きませんでした。
一方「2. 読み合わせ形式」に関しては、事前準備が不要で一見1番コストが低いように感じられましたが、1回の会に要する時間が多くなりそうなのが気になりました。というのも、当日読み合わせを行うのは、議論と合わせてその分多くの時間が必要になる気がして、当日のコストが大きくなりそうと思ったからです。
各メンバーは所属しているプロジェクトによって忙しさの波があるため、忙しい中でも確実に確保してもらうために、最大でも30分に収めたいと考えていました。この点で読み合わせ方式もベストな選択ではない判断となりました。
こういった考えから、先述のルールで説明した通り「事前にテーマとなる章を読んでくる」と「事前準備方式で観客参加も認める」という形に決めました。
読むことではなく、理解を深めることを目的とする
すでに説明はしましたが、輪読会内では "わからなかったこと" を解決することを主目的において議論を進める形にしています。
これは輪読会の一番のメリットは、集合知による理解度の向上だと考えているからです。せっかく人数を集めて本を読み進めるなら、みんなで議論する時間を多めにとろうよ、という考えです。
実際に輪読会を行ってみると、バックグラウンドや経験が異なるメンバーの様々な視点からの意見が聞けるので、一人で読んだときよりも色々な知識や考えが得られるため良かったです。
また読んでいるときにわからないことが出てきても輪読会内で議論するという意識があるので、ある程度自分の考えは持ちつつ、その場では深掘りせず読み進められるので、普段よりも読書コストが低くなるとも思いました。
輪読会の成果
輪読会を進めていく中で、せっかくみんなで時間を使って取り組んでいるので、何かアウトプットを出したいと思いました。
結果的には「単体テストの考え方/使い方」の輪読会を通じて、社内のGoの単体テストルールを策定しドキュメンテーションできました。
最後の方は輪読会参加メンバーでモブプログラミングを行い、実際のテストコードのリファクタリングを通じて、ルールを考えました。
輪読会参加メンバーはそれぞれ別の機能やプロジェクトを担当しているため、それぞれの領域で考えていることを合わせつつ、最適な形を模索できたので良かったです。
最後に
弊社の共通の輪読会ルールというわけではありませんが、輪読会を低コストで行いアウトプットを出した事例を紹介させていただきました。
輪読会はチームの技術力向上や共通ルールの策定、意識の統一などを行う際に有用なメソッドだと思いましたので、今後も折を見てどんどん実践してきたいです。
明日のアドベントカレンダーは 清水さんの「セマンティックトークンの構造化は Animal Kingdom (アニキン) 手法がおすすめ」です。
-
支援制度「Magi Tech Fund」(マジテックファンド)については、2023年12月時点での情報です。 ↩︎
Discussion