LINEヤフー Tech Blog

LINEヤフー株式会社のサービスを支える、技術・開発文化を発信しています。

有意義な輪読会を開催し続けるコツ

LINEヤフー Advent Calendar 2023の9日目の記事です。

こんにちは! LINEヤフー株式会社でバックエンドエンジニアをしている三上です。

今回は、約2年半以上続いている輪読会(複数人で集まって1つの技術書を持ち寄って読み合わせをする会)について紹介します。

輪読会が始まった背景

この輪読会が始まった背景は、大きく分けて2つあります。

1つ目は、チーム内で知識の差をなくして、業務を円滑に進めるためです。当時のチームで開発/運用を担当していたコンポーネントはドメイン駆動設計を利用していました。メンバー構成は、初期から設計や開発に携わっている先輩社員と自分を含む若手の2名の合計3名と、チーム内で知識に差がある状態でした。

2つ目は、購入した書籍の積読状態を解消するためです。ヤフー株式会社(現LINEヤフー株式会社)では、技術スキルの向上を目的としたTechUp制度があり、月1万円の支援を受けられました。かなり手厚い制度だったのですが、購入した多くの技術書が積読状態になりがちでした。この積読状態を解消するためにも輪読会が始まりました。

ちなみにチームの知識差を解消するためにドメイン駆動設計の本を1通り読み終わった後は、それぞれが読みたい技術書を持ち寄り、チームがバラバラになった後もこの3名で集まり続け輪読会が続いております。

有意義な輪読会のやり方

まずは、輪読会の進め方について、いくつかの工夫をしたのでその知見について共有します。

サマリーを作るか作らないか

一般的な輪読会では、読んだ内容を要約し、そのサマリーを発表する方法が採られます。

こちらのサマリーを作るタイミングについて、輪読会していく中で以下の3パターンの方法を試しました。

  1. 事前に担当者がサマリーを作る
  2. 輪読会で皆でサマリーを作る
  3. サマリーなしで、読み合わせと感想、議論のみ実施する

1の方法は、多くの輪読会で採用されています。このアプローチでは、担当者が高い負担を負いますが、準備されたサマリーのおかげで、輪読会が有意義に進行しやすいです。ただ、担当者が欠席すると、その日の輪読会を中止せざるを得ないことがあります。

2は事前準備として本を軽く読んでおき、輪読会中に全員でサマリーを作り、議論や感想を言う方法です。1に比べると事前準備の負荷が低く、輪読会中にみんなでサマリーを作るので参加者全員が議論に加わる機会を提供します。しかし、内容が難しい本の場合、サマリー作成自体が困難です。作業感がにじみ出るので、輪読会の雰囲気はあまり良くありません。

3は事前準備不要で1番コストは低いですが、人によって読書速度や理解速度が違うので読み合わせの時間設定が難しく、有意義な輪読会に発展しにくい欠点があります。

2と3は、輪読会の時間以外で発生する作業が少ないのでコストは低く業務と両立しやすい側面はあります。しかし、有意義な輪読会に発展しにくい側面があるので、読み合わせる本の内容を考慮して採用する必要があるでしょう。

われわれはほとんどの輪読会で1を採用しています。このオーソドックスな手法は、どのような本にも対応でき、安定して読み進められる点が強みです。

しかし、担当者の負担も大きいので、あくまでもサマリは輪読会における議論の補助道具として位置付け、出来の良し悪しは問わないことにしています。箇条書きレベルでも、担当者が重要だと思った事柄が共有できれば、それは議論につながる可能性があります。

やり方コストメリットデメリット
サマリーを担当者が事前に作る有意義な時間になりやすい担当者がお休みになると輪読会は流会になる
サマリーをその場でみんなで作る事前準備は本を読んでおくだけ輪読会の時間内にサマリーを作り切ることが難しい
サマリーを作らない事前準備がまったく不要有意義な輪読会になりにくい

議論を活性化させる工夫

輪読会でありがちな課題は、議論が活性化しないことです。

この問題に対処するために、われわれの輪読会ではサマリーに加えて、疑問点や不明点を書き込む専用のフォームを用意しています。参加者が事前にこのフォームに疑問や不明点を記入することで、輪読会の日に活発な議論が行われやすくなります。

初期の疑問点フォーム

最終的に、以下のような参加者ごとに個別のフォームを準備することにしました。これにより、それぞれの参加者が輪読会での議論への積極的な参加を促すようになり、議論への意識が高まる効果があります。

今使っている疑問点フォーム

議論が活性するには、少人数で開催するのが一番いいのではないかと思っています。

以前、3名以上の大人数の輪読会を開催した際、参加者が他の誰かが話を始めるだろうと考え、結局は無言の時間が続くという状況がしばしばありました。一方、参加者数が少ない場合、サマリー作成の担当者になる頻度が多く、輪読会に対して当事者意識を生みやすくなると思います。たとえ上記のフォームに書き込みがない場合でも議論が発生していました。

輪読会のモチベーションを保ち続けるには

なるべく1冊を早めに読み切る

輪読会は、積んでしまった技術書を読み切るのには最適の場です。モチベーションを保ちながら続けるためには、なるべく1冊を早めに読み切るのがいいでしょう。

たとえば、600ページを超える「データ指向アプリケーション」という技術書を読むのに約1年を要した経験があります。この間、メンバーのモチベーションを持続させるのが難しかったことを感じています。

内容自体が難しかったこと、そして担当の割り当てを細分化しすぎていたことが、長引いてしまった理由です。

技術書を読み切ることは達成感にもつながるので、テンポ良く読んでいくのが好ましいと感じました。

可能であれば1章ごとに担当を割り当てて読んでいくのがいいでしょう。さらに、参加者のスキルレベルに合わせた難易度の技術書を選ぶことも大切です。

また、これは反省になるのですが、あまりにも1つの本に対して輪読会の開催期間が長くなりすぎる場合はキリの良いタイミングで別の本を挟んでも良かったと思います。

データ指向アプリケーションデザインのスケジュールの様子

日程変更は柔軟に

われわれは週1で1時間枠を設けて、輪読会を開催しています。

業務として輪読会をしているわけですが、通常の開発作業が優先されます。リリース作業やトラブル対応で参加できないメンバーがいることもあります。その場合は時間をずらしたり、次の週に2回実施したりと柔軟に日程変更を心がけています。

このような柔軟性は、参加者が他の業務と輪読会を両立させやすくし、参加者の心理的安全性を高めるのに役立っています。

定期的に振り返り会をしよう

技術書を1冊読み終わったり、一定の期間が経過したりした際に、振り返り会を開催しています。

振り返り会では、本自体の感想だけでなく、KPT法を使って輪読会の進行方法を評価し、改善点を見つけます。この継続的な改善プロセスが、現状の進め方に満足せずに輪読会を持続するためのモチベーションにつながっていると考えています。

輪読会KPT

輪読会の良い副作用

輪読会には、知識の獲得だけでなく、他にも多くの利点があります。ここでは、参加者から報告されたいくつかの副作用を挙げます。

  • 読書の習慣が身につく
  • サマリーの発表によって、発表に慣れる良い機会になる
  • 事前の読書、サマリー作成、議論といったステップを踏むことで、一人で読むよりも深い理解を得られる
  • リモートワークが普及して対面での雑談する機会が減ったので、新たな息抜きとコミュニケーションの場として機能する

おわりに

輪読会を実施する中で、普段の業務で扱っているシステムと比較して考えたり、議論したりすることがありました。これらの議論によって、単なる知識の獲得だけでなく、扱っているシステムの設計思想だったり過去の経緯だったりと業務知識の獲得にも繋がったのがとても良かったです。

今後はChatGPTを取り入れて、議論の不明点を不明なまま残さないような工夫やサマリ作成の効率化ができれば良いなと思っています。

輪読会が単なる作業で終わらず、有意義な場になるよう、ぜひさまざまな工夫を試してみることをオススメします!