はじめに
スタートアップでWebエンジニアとして活動しているShoheiです。
突然ですが、皆さんの所属している組織では「輪読会」を実施していますでしょうか。
「え、輪読会って効果あるの?」
「なんか面倒くさそう…」
そう思ったそこのあなた!
最近特にIT企業で注目され直しており、結論、輪読会は組織力の底上げにかなり効果的です。
エンジニア組織のチーム力アップ、個々人のスキルアップに大いに役に立つ活動であると思います。
今回は、昨年秋からSIer→スタートアップに転職したShoheiが、転職先で実施している輪読会について感じた良い点について、エンジニア組織における「輪読会のすゝめ」という内容でブログを書こうと思います。
ぜひみなさんのチームや組織に取り入れてみてください。
輪読会とは
一般的に輪読会とは、一つの書物や読み物を複数人で読み回し、意見を交換し、議論を交わすことで、内容の理解や内容以上の発展的な事項について相互理解を高めることを目的とした取り組みです。
読書会との輪読会の違い
輪読会と似た取り組みに読書会というものがあります。
私は輪読会と読書会を以下のように目的別に捉えています。
読書会
読んだ内容をまとめて発表(アウトプット)することが目的
輪読会
読んだ内容を理解すること、議論をすることが目的
読書会は個々人で読んだ書物の内容をまとめて発表することを目的としている一方で、輪読会とは複数人で一つの書物を回し読み、同じ内容について議論、理解することで内容の効率的な理解や内容以上の事項に対する理解を深めることを目的としています。
複雑な書物を多く読む必要があるエンジニア界隈では特に輪読会が重宝されています。
ではなぜ輪読かいがエンジニアチーム内で有効であるか、そのメリットについてお話ししていきます。
輪読会のメリット
輪読会をエンジニア組織で実施するメリットは以下のようなものがあります。
- エンジニアチームのスキルセットの底上げ
- 新しい知見だけでなく,その知見にまつわる周辺知見をチーム内で共有でき,効率的な学習をできる
- 技術的負債の解消
- 例えば新たに開発プロセスの中で新たにテストを導入する場合,チーム全員がテストに長けた知見を持っているわけではないため,開発に必要な技術知見をチーム全体で獲得できる
一方で、輪読会を実施するにあたり少なからずデメリットもあると感じており、僕が感じたデメリットとそれに対する捉え方についてもご紹介していこうと思います。
輪読会のデメリット
- 業務時間内に輪読会の時間を作ることが難しい
- 特にスクラム開発などを実施しているチームにおいて毎週の予定ブロックは避けたいところ…
- エンジニア外の組織からの理解も必要になってくる
弊社の輪読会の進め方
僕が所属するスタートアップのエンジニアチームでは,CTOの輪読会に対する理解もあり,業務時間内にチーム内で輪読会を実施しています。
輪読会の題材は過去に下記のようなものがありました。
- ドメイン駆動開発について
- フロントエンド開発のテスト(Jest)について(https://zenn.dev/tentel/books/08b63492b00f0a)
- 書籍「メタプログラミングRuby」←今
毎週月曜日の17:00~輪読会を定期的に実施しています。
僕のチームはスクラム開発を取り入れてプロダクト開発を実施していますが,スクラムのイベント同様に予定をブロックして強制力を持って輪読会に取り組んでいます。
当然,スクラム開発の場合,スプリントゴールの達成が最優先のため,状況次第では輪読会がスキップになりますが,僕が入社していらいスキップになったのは1度のみ!
輪読会の効果としては…
フロントエンドのテスト開発がスムーズになりました!
特に上記,Jestにまつわるドキュメントを読み合ったのが,ちょうどフロントエンド開発においてテストを導入したタイミングで,輪読会前後でメンバー間のJestによるテスト開発の速度と精度が格段と上がったのではないかと思っています。
現在,僕は「メタプログラミングRuby」を読んでおり,バックエンド開発のRubyに対する知識もより深まっています!
もちろん輪読会のコンテンツもエンジニア間で決め,現在エンジニアが増えてきているため,同じ時間内でマルチスレッドで別々のコンテンツに参加したい人が集まり輪読会を進める形が定着してきています。
輪読会をするにあたってのポイント
業務時間内に実施すること
デメリットに業務時間内の時間確保が難しいと書きましたが,ぜひ業務時間内で輪読会が実施できないか一度検討して見でください。
決して開発に無関係な時間ではなく,コンテンツと時間の使い方によってはかなり効果的な取り組みです。
もちろん,組織やプロジェクトによっては業務時間内での輪読会の実施が難しい場合もあるでしょう。
そういう場合は,ぜひ朝の始業前30分でも良いので有志何人かで集まり一つの本について議論を交わす時間を設けて見てください!
輪読会の図書選出は目的と効果をしっかり考えて行う
輪読会に読むコンテンツはなんでも良いわけではないです。
個々人の興味に留まった選出の仕方ではチーム内での目的もぶれてしまい,チームとしての向上は望めないと思います。
輪読会で読むコンテンツは目的と期待する効果を明確にすることをオススメします!
例えば,現在僕のチームで読んでいる「メタプログラミングRuby」の輪読会の目的と期待する効果は以下の通りです。
目的:バックエンド(Rails)開発のコード品質を上げること
期待する効果:バックエンド(Rails)開発におけるコードの品質をチームレベルで向上させ,より高品質のプロダクトを素早く顧客に届けられるようになる(サイクルタイムの向上)
このように目的と効果を事前にはっきり定義することで,参加するメンバーの輪読会に臨む姿勢も変わってくると思います。
内容以上に知っていることはチーム内に共有する心構えで!
チーム内で技術レベルが拮抗しているような素晴らしいチームはそう多くはないでしょう。
エンジニアとしての技術力が上がるにつれて,チームに必要な輪読会のコンテンツについても既に知っている,それ以上に知っていることもあるでしょう。
そんな時は,ぜひ輪読会の時間を使い「知識の共有」を心がけて見てください。
僕のチームにも凄腕エンジニアが何名かおり,その人たちからの内容以上の情報共有は知識が知識を呼ぶ,知識と知識の紐付けの面で非常に効果的でした。
おわりに
輪読会はエンジニア組織のチーム力向上にとても有効です。
ぜひ読者の皆さんのチーム内でも輪読会を取り入れて見てください!
Shohei