11月22日(昨日!)に発売されたばかりの、『LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する』を読んだ。
この本は、すぐに現場に活かせる新しい知見を提供するものことを主眼としたものではない。タイトルにあるように、科学の本なのだ。しかし、人文系出身の自分にも読みやすい形で、論文の成果を提示してくれる。そして、その成果の中には、現場のエンジニアとして役立てられるものも含まれている、価値のある書籍だ。以下、紹介したい。
書籍の特質
科学的アプローチ
ソフトウェア分野においては、プラクティスを紹介するような書籍が数多く出版されている。それらは、読者が自らの現場で闘うための武器を与えてくれる。
本書は、そういった(優れたものを数多く含む)書籍とは、趣きを異にしている。この書籍と一般的な書籍との差異は、この書籍が科学的なアプローチを採用している点にある。「はじめに」には以下のようにある。
本調査研究は、現在まだ市場で満たされていないニーズに応じるためのものである。目標は、「慣例上、学問の世界でしか用いられてこなかった厳格な研究方法を用い、結果を産業界にも公表することで、ソフトウェアの開発とデリバリの状況を改善すること」である。単なる逸話やチームの体験談を提供するのではなく、統計的に有意な方法でパフォーマンスの改善を促すケイパビリティを特定・理解する方法を確立することで、業界全体の水準向上の一助となるのではないかと考えた。*1
この書籍も、様々な武器を読者に提供してくれる。しかし、「その武器がどのような事柄に対してどのように有用か」を科学的手法によって明確に示している点がこの書籍の特徴だ。書籍の中の語を用いて説明を試みるならば、計測したい複数の「構成概念」を設定し、これを計測するためのアンケート調査を実施し、統計学の手法を用いて、これらの構成概念間にどのような相関や因果関係があるのか(ないのか)を明らかにしているのだ。
主題
本書で計測対象としている構成概念には、様々なものが含まれる。 一部を紹介すると、「ソフトウェアデリバリのパフォーマンス」、「帰属意識の強化」、「バーンアウトの軽減」、「デプロイ関連の負荷」、「組織全体のパフォーマンス」、「Wesrtumが推奨する組織文化」などがある。「組織文化」のような一見すると科学的手法になじまないようなものも扱っている点が面白い。
本書の主要なテーマである「デリバリのパフォーマンス」について少しだけ紹介する。デリバリのパフォーマンスを測定する尺度として、本書では以下の4つを採用している。
- 変更のリードタイム
- デプロイの頻度(年間デプロイ件数)
- 平均修復時間
- 変更失敗率
これらの尺度によって測定されるデリバリのパフォーマンスで、チームはハイパフォーマー、ミドルパフォーマー、ローパフォーマーの3つに区分される(クラスター分析)。この区分を用いて、どのような他の構成概念に「デリバリのパフォーマンス」が相関・因果関係を持つのかを明らかにするのが本書のメインテーマである。
各部の簡単な紹介
第1部
第1部「調査結果から見えてきたもの」では、デリバリのパフォーマンスを中心とした、様々な構成概念の間に見出される関係が説明される。詳述は控えるが、そこでは「継続的デリバリの実践度が増すと、職務満足度ややりがいが高まる」*2や、「WIP制限が単独ではデリバリのパフォーマンスの有力な予測尺度になりえない」*3などといった興味深い命題も提示される。
第2部
第2部「調査・分析手法」では、第1部の成果を導き出した研究の手法が説明される。研究はアンケート調査に基づいているのだが、このアンケート調査に対する不信に対しても丁寧に応えている。この第2部の記述は、統計学やアンケート調査の学術的トレーニングを受けていない人に向けて書かれており、どのような質問項目が適切か、質問項目によって「構成概念」が適切に計測できているかをどのように判断するのか、なども解説される。この第2部は、他のソフトウェア分野の書籍にはない貴重な部分だろう。
第3部
第3部では、第1部で紹介された知見を実際に応用する助けとして、ING Netherlandsにおける組織改善の現場事例が紹介されるとともに、そこで観察されたプラクティスが整理した形で提示される。類書の事例・プラクティス紹介と一線を画しているのは、プラクティスのなかで本書の研究でパフォーマンスの高さと相関があることが示されたものに印が付けられていることだ。末尾近くで、高パフォーマンス文化を獲得するためには、「エビデンスに基づく実験や学びを繰り返し、各組織の状況や組織文化にふさわしい新たな協働方式を開発していかなければならない」*4と述べられている点にも、この書籍全体を貫く精神が反映されていると言えるだろう。
雑感
冒頭でも述べたように、本書で紹介されている知見は、必ずしも目新しいものではない。現場と向き合うための新しい知恵を求めて本書に臨む人は、物足りなさを感じることさえあるだろう。
しかし、それは本書の価値を減ずるものではない。本書の価値は、科学的アプローチで我々の「事実だと思っていたこと」を裏付けている点にある。プラクティスの有効性に根拠を求めるような人(あるいは、そのような人にプラクティスの導入を説得しようとする人)には、本書は実に有用であるだろう。折しも下記のようなTweetをしていた自分には良い模範となる書籍だった*5。
ソフトウェア工学!って感じ。科学的手法に意味があるところでふわっと印象論、個人の経験知、に訴えてしまうのは自分の悪い癖。科学のトレーニング受けてない弱さ。
— こま (@koma_koma_d) 2018年11月22日
最後に、本書でソフトウェアのデリバリのパフォーマンスを改善するのに有用だと指摘されるケイパビリティのリストを示しておく。下記の内容に関心を持たれた方は、本書を手に取られてはいかがだろうか。
- 継続的デリバリの促進効果が高いケイパビリティ
- バージョン管理
- デプロイの自動化
- 継続的インテグレーション
- トランクベースの開発
- テストの自動化
- テストデータの管理
- 情報セキュリティのシフトレフト
- 継続的デリバリ
- アーキテクチャ関連のケイパビリティ
- 疎結合のアーキテクチャ
- チームへの権限の付与
- 製品・プロセス関連のケイパビリティ
- 顧客フィードバック
- 業務プロセスの可視化
- 作業の細分化
- チームによる実験
- リーン思考に即した管理・監視に関わるケイパビリティ
- 変更承認プロセス
- 監視
- プロアクティブな通知
- 進行中の作業(WIP: Work in Progress)の制限
- 作業の可視化
- 組織文化に関わるケイパビリティ
- Westrum推奨の創造的な組織文化
- 学びの支援
- チーム間の協働
- 職務満足度
- 改善を推進するリーダーシップ