書籍「エンジニアチームの生産性の高め方」を恵贈いただいた
Published at 2024-10-20
来たる 2024 年 10 月 26 日に発売される「エンジニアチームの生産性の高め方」を恵贈いただいた。yoichiro さんが Bluesky で告知していたのを見かけた数日後に、kwakasa さんから「執筆に参加したので送ります」という旨の連絡をいただいた。
昨今の Web 業界で生産性は注目されているトピックである(ちなみに何故ここまで注目されているのか、前後の文脈はわかっていない)。図らずも去年、Findy の主催する開発生産性に関するカンファレンスに登壇し「一人ひとりが動機を持ってイシューに向き合うための、組織における相互期待値」といった旨を話した。
Google が Four Keys を示してから久しく、監修として関わった Web フロントエンド版 DX Criteria でも、生産性というキーワードは散りばめられている。あるいは Developer Productivity に関するポジションや組織も数多く見かける。ソフトウェアプロダクトを生業とする組織にとって、生産性への関心が高まっているのは間違いなさそうだ。
本書は、そんな「生産性」を開発プロセス(プロダクト要求・デザインドキュメント・ブランチとリリース・リアーキテクトにおけるテスト)と開発チーム(組織づくり・エンジニアリングイネーブルメント・開発基盤の改善)に分類し、体系的に解説している。
複数人でトピックごとに執筆している書籍ということで論旨の一貫性が気になっていたが、通して読んでもトピック同士が補完し合ってまとまっているのは、エンジニアリングに対する理想が著者間でズレていなかったこと、そして全体をまとめ上げた編集技術の賜物である。もちろん、章毎の独立性もあるため関心のあるトピックを読むだけでも理解を整理できる。認識している課題に近い章から、徐々に読み進めることも可能だろう1。
「エンジニアチームの生産性」という枕詞だが、全体として「課題解決と価値提供」を目的としたものであるという軸がブレておらず、そのためにプロダクトドメインの理解や目的を共にする仲間との協調が様々なところで言及されているのが印象的である。つまり How to ではなく Why を示し続けている。
印象的だった部分を幾つかピックアップすると、
- Product Requirements Document, Marketing Requirements Document などを通じて、何を (What) なぜ (Why) 開発するのか、という原点に立ち返っている。これによって、エンジニアに限らずコミットする全ての人の認識を統一させる
- 普段は目の前の業務に気を取られるが、上記に加えて Design Doc やイネーブルメント・開発基盤の改善といった、ソフトウェアの実装開発そのものではない事項への投資が中長期的な能力や成果の向上に結びつくことを強調している
- ボトムアップな取り組みからトップダウンの意思決定に向けた意見の凝集、SPOF を作らないためのチーム構成、組織と枝分かれしたチームの目標を繋げるフレームワークとしての OKR、横軸の専門チームもプロダクトコードに触れるなど、他者と働く自覚や目標の構造と解像度の重要性が示唆されている
組織の誰か1人が本書を取って学び試行錯誤する以上に、この体系化された知識をエンジニアチームで学んで想いを共有することが、持続的に向き合う上で重要なのだろう。