KAKEHASHI Tech Blog

カケハシのEngineer Teamによるブログです。

チームで行っている輪読会の紹介

はじめに

こんにちは。カケハシの牧野です。
私が所属するチームでは数カ月間にわたり「ソフトウェアアーキテクチャの基礎」という書籍の輪読会をしておりました。この記事では輪読会を実施した背景や、実施して良かったことなどを紹介いたします。

輪読会のきっかけ

私のチームが開発するプロダクトはローンチから1年以上が経ちました。 私も含めローンチ時には在籍していなかったメンバーも増えたため、初期開発においてどういう方針で開発を進めていたのかの共有と、今後の方針について議論する機会がありました。

議論をする中で、初期開発で参考にしていた「進化的アーキテクチャ」の理解がメンバー間でばらつきがあったりと、共通の言語で議論ができていないことがわかりました。

私のチームではメンバー全員が可能な限り共通の認識を持ち、チームで合意をとって物事を進めることを大事にしております。
そういった背景もあり、チームの情報対称性を高める動きとして、輪読会を実施することになりました。 題材については当初は進化的アーキテクチャを予定していましたが、メンバーからの提案もあり最終的にソフトウェアアーキテクチャの基礎を読むことになりました。

どう進めたか

週に1~2回、1章ずつ、各回30分の枠で進めました。
参加メンバーは事前に対象の章を読み進め、気になったことや疑問などを上げておき、輪読会の時間ではディスカッションをメインとして行いました。

今回の輪読会はチームの共通認識づくりを重要視していたため、参加できるメンバーが少ない場合はリスケorスキップするようにしておりました。

また、区切りが良いところで輪読会自体の振り返りを実施し、今後の進め方の改善や、輪読会の対象範囲の認識合わせを行うなどしました。

よかったこと

チームの共通認識がつくれた

輪読会を実施した理由にもなりますが、チームの共通認識づくりの場として機能したという意見が多く上がりました。

たとえば本の中で「アーキテクチャ特性」という言葉が出てきましたが、チームとしての共通理解が進んだことにより、「自分たちのシステムはどういうアーキテクチャ特性を持っているのだろう」「今後のフェーズにおいてはどういうところがより重要になってくるか」といった議論を、共通の言語で行うことができました。

輪読会をきっかけとしたNext Actionが作れた

以前からチーム内で課題感はありつつも後回しになっていたものであったり、どういうアプローチで解決していけばよいかわからない課題がありました。
中にはチームとしての共通認識を持ててないことを理由に進められてなかった課題もあったと考えています。

いくつか存在していた課題のうち、輪読会をきっかけに

  • ADRの運用の開始
  • 複数サービス間でのデータベース共有における問題について議論

といったような、システムや開発プロセスの改善のための動きがありました。

上記以外でも、「こういうの取り入れたら面白そう」といったコメントが多く上がり、改めてチームとしての共通認識を持つことがチーム内のコミュニケーションの改善や生産性向上に寄与するという実感を得ました。

改善点

輪読会の振り返りの場で、他チームも巻き込んで輪読会ができればさらに良かった、という意見がありました。

私の所属するチームは1つのチームの中に2つのサブチームが存在するような構成になっています。 今回の輪読会は一方のサブチームのエンジニアメンバーのみで行いましたが、システムとしてはもう一方のサブチームと共有している部分もあるため、両チームのメンバー間で共通の認識が持てていたほうが、チーム横断でのシステム改善が進めやすいと思います。

今後両チームの関心事となりそうなテーマでの輪読会を行う際は、そのあたりも考慮して進めていけたらと考えています。

最後に

輪読会の実施によってチームの共通認識を作ることができ、システム改善のためのアクションが取りやすくなったりとポジティブな効果が多くありました。
またチームとして実施することで強制力が働き、モチベーションを維持して読み進められる点が個人的に良いなと思いました。

今後もチームの課題解決やチーム内の共通認識づくりの手段として、輪読会を積極的に利用していければと思います。