23卒エンジニアで『LeanとDevOpsの科学』の輪読会を実施しました

23年度入社の中利です。 アドプラットフォーム事業でアプリケーションエンジニアをしています。

今回は、23卒で実施した『LeanとDevOpsの科学』の輪読会のお話です。

背景、きっかけ

私の部署では新卒研修の一環として先輩1名と23卒4名で輪読会がありました。研修の輪読会が終わったタイミングで、23卒だけでも輪読会をやってみようという話が上がり、輪読会を実施するに至りました。

扱う題材としてはクリーンアーキテクチャ関連の書籍などいくつか候補が出ました。23卒で普段使っている技術にバラつきがあったことから、「広い技術に適用できる概念を学びたい」、「部署やチームの動きとしてもDevOps/DevSecOps関連の話がある」という2つの観点により最終的に題材は『LeanとDevOpsの科学』に決まりました。輪読会は今年の2月から5月にかけて6回に分けて行いました。リーン開発について学び、部署内の取り組みに関してDevOpsの視点から議論することを今回の輪読会の目的としました。

輪読会の進め方

輪読会は以下の流れで進めました。

  • 45分)読書+ドキュメントツールに感想・議論したいことを書く、他の人の議論したいことを読む
  • 5分)議論したいことを決める
  • 60分)議論

よかったポイント

一般に輪読会は事前準備してから当日は議論のみを実施することが多いですが、輪読会の最初の時間で各自黙読の時間をとって事前準備不要にしました。これにより、輪読会へのハードルが下がり、モチベーションを維持するというメリットがあったと思います。

また、社内の同期だけで輪読会を行ったことで、議論のコンテキストが同じ状況で、社内の事情も含めて議論ができました。他チームに配属された同期が今どんな仕事をしているか知るきっかけになったこともよかったポイントです。

内容面では自部署の取り組みや自分自身の業務とも繋がりがある題材を扱ったことがよかったと思います。輪読会で議論しているときに「議論に関連するE2Eテストがこの前のタスクであった!」と議論のネタが増える場面があり、また逆に業務中に「そういえば今やってるデプロイワークフローの自動化ってこの前の輪読会で議論した内容だ!」と勉強した内容が活かせていることの喜びを感じる場面がありました。

改善できたポイント

概ね満足に輪読会を行うことができました。強いて改善できたポイントを挙げるとするなら、各回2章分ずつと決めて進めていたため、回によって時間が足りなかったり、逆に余ったりした点です。

議論の内容

輪読会で特に盛り上がった内容をいくつか紹介します。

開発生産性アンケート

議論で盛り上がった内容の一つとして、本書で紹介されているアンケートに自分たちで回答してみるというものがありました。

『LeanとDevOpsの科学』はアンケートによって開発生産性の高さと相関関係にある指標を分析するという内容が主なので、自分たちのチームと照らし合わせることで指標にどのような意味があるのか、どうすれば指標を上げることができるのかということを議論することができました。

変更のリードタイムとデプロイ頻度

変更のリードタイムとデプロイ頻度は日頃から4keys分析で特に重視していたポイントなので、チーム内でどのようなことをしているのか、どのような課題があるのかについてお互いの情報を共有して改善方法を模索しました。

具体的には、「PR数を上げる取り組みには自動デプロイは必要か」、「デプロイ頻度を上げる取り組みと相性が良いタスクは何か」、「初めから小さくリリースできるようなアーキテクチャを考えるべきか」といったような内容を議論しました。

成熟度モデル vs ケイパビリティモデル

用語の定義が難しい箇所に関しても議論が盛り上がりました。

具体例の一つとしては本書の中で成熟度モデルとケイパビリティモデルが比較されていますが、そもそも成熟度モデルとケイパビリティモデルは何が違うのか、という点について本書の内容と部署内での実際の成熟度モデルの使われ方を元に考えました。違いとして挙がったこととしては「成熟度モデルは一定レベルに達すればゴールだがケイパビリティは追求し続ける必要がある」、「成熟度モデルはレベルが同じであれば解決策は画一的であるがケイパビリティは組織の課題を顕在化させるにすぎず解決策は組織ごとに考える必要がある」などがありました。『LeanとDevOpsの科学』はそれぞれのケイパビリティに関しての説明がメインなので、大元の前提を議論によって確認できたことは本書の内容を理解するにあたって有意義だったと思います。

議論以外にも、「このケイパビリティってたしかに大事だよね」や「これってチームのパフォーマンスに関係があるんだ」などのような率直な感想も話の流れの中で共有することができました。

実際の議事録の一部

成熟度モデルとケイパビリティモデルについての議論

用語に対する社内での具体例

チームで本書の内容に取り組むための議論と関連書籍の薦め

学んだこと

輪読会を開催した時期は、ちょうど部署内で開発生産性向上のために4keys分析が始まったタイミングでした。 4keys分析の意義が理解できたことで、自分も4keysの指標をより意識するようになりました。

また、組織文化の重要性に改めて気がつくことができました。具体例の一つとしては、部署内でも明文化されている「失敗からの学びを奨励する組織文化」はバーンアウトを防ぐために有効であるという内容の調査結果を読んで、「失敗からの学びを奨励する組織文化」の効果を知りました。

他にもTDD(テスト駆動開発)という手法を最近チームで活用しているのですが、TDDが4keysの観点から見ても有効なプラクティスであるということを学び、TDDの意義を再認識することができました。

議論したからこそ得られた学びとしては「自部署と理想のチームとの間にあるギャップを埋めるためにはどうすれば良いのか」という点に関して自分以外のチームの状況も踏まえて考えることができました。

今後取り組みたいこと

輪読会での議論によって自部署の現状と課題が少し見えてきたと思うので開発生産性をより向上させるために今後も当事者意識をもって動いていきたいと考えています。輪読会には参加したメンバー間で共通の認識合わせができるという強みもあると思うので、それを活かした動きもしていきたいです。

また、直近で扱っているTDDのプラクティスをより使いこなして4keysの向上を意識できるようになることも目指しています。

おわりに

輪読会をすることで部署での取り組みの意義を一層理解することができました。また、チームの違う同期がどのような仕事をしてるのかを定期的に知ることができたのも良かったポイントだと思います。

『LeanとDevOpsの科学』が扱っている内容のような抽象的なプラクティスは実務だけではなかなか吸収しづらいものだと思います。しかし、一人で黙々と本を使ってインプットしているだけだと、どうしても自分の視点でしか本の内容を解釈できなかったり、途中で退屈になってしまったり、様々な課題があります。今回の輪読会はそのような問題点を解決するために有効だったと思います。今後も輪読会に限らず色々なインプット方法を実践することで、楽しみながら継続的に知識の引き出しを増やしていきたいです。

最後まで読んでくださり、ありがとうございました。