「LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する」

この記事は 「ひとりでアジャイルo0h② Advent Calendar 2021」のday-7です。 adventar.org

day-7は「LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する」です。

どんな本

リーンシンキングをベースとして、「高パフォーマンスな組織とはどういうものか、何ができているのか」について考察と提言をしている本です。
本文に入る前に設けられているクイックリファレンスの表現を借りれば、"ソフトウェアデリバリのパフォーマンスを改善する効果の高いケイパビリティを24個特定できた”としており、それらを5つのカテゴリに分類しています。

  1. 継続的デリバリの促進効果が高いケイパビリティ
  2. アーキテクチャ関連のケイパビリティ
  3. 製品・プロセス関連のケイパビリティ
  4. リーン思考に即した管理・監視に係るケイパビリティ
  5. 組織文化に関わるケイパビリティ

(例えば、書籍「プロダクトマネジメント」で語られているような)マーケットにおいて高価値性を発揮するプロダクトを発見し開発するには?といった話まではスコープではないかも知れませんが、ソフトウェアデリバリ(平たく言ってしまえば「素早い開発、高頻度なデプロイ」のようなもの)が「成功する組織」の鍵になっているものと捉えて、その実践方法を紐解いていきます。

その上で、「生産性を計測するメトリクスとは」を探り、「ハイパフォーマンスな組織とローパフォーマンスな組織の生産性(≒競争力)の開き」を暴き、そして「組織文化」「マネジメント/プロセス」「技術プラクティス」といった多角的な観点で「成功の秘訣」を扱っていきます。

本書の特徴としては、徹底的な「エビデンスありき」な点が挙げられると思います。
"ソフトウェアの開発とデリバリを高速化し、ひいては組織全体への価値提供をも高速化する効果が高いのは、どのようなプラクティスとケイパビリティなのか"という研究をした結果を基にしたものであるとし、その研究は”寒冷上、学問の世界でしか用いられてこなかった厳格な研究方法を用い、結果を産業界にも公表することで、ソフトウェアの開発とデリバリの状況を改善すること”に目的があったとしています。
(いずれも「はじめに」より)

加えて、「本研究の動機」については、”ハイパフォーマンスな技術系組織を生み出す要因は何か」「ソフトウェアは組織をどのような形で改善しうるのか」を解明するためであるとしています。
この「ハイパフォーマンス」のベースがリーン思考にあり、すなわち「フロー効率を高める」「価値(マーケットにデリバリをする)に直結する活動を増やす」といったものを「正」としているという事になります。

第1部で研究結果と考察を、第2部ではその研究自体の調査・分析手法に関する解説、第3部では取り上げたケイパビリティのもたらす効果に関するケーススタディという構成になっています。

最近は紙書籍を読む時は付箋を使って見るようになったのですが、かなり貼りまくりな形になりましたw
f:id:o0h:20211208050144p:plain

お気に入りポイントかいつまみ

ケイパビリティ

「どう測るか、どう伸ばすか」に徹底的に拘っているのが本書ですが、その鍵になる=観察対象とすべきは「ケイパビリティだ」ということを述べています。

すなわち「計測して、変革して、結果を出す」ことが必要になるわけですが、その計測・評価については「成熟モデルではなくケイパビリティモデルを用いるべき」とのことです。
これらは第1章1節にて述べられています。

成熟度モデルでは「特定の成熟段階に達成すること」が目的とされており、また各段階において取り入れるべきソリューション(テクノロジー、プラクティス、ケイパビリティ)が提案される・・しかし、それは過度なモデル化のような弊害を呈しており、非現実的であるとしてきしています。
ケイパビリティモデルは、より流動的な状況を想定します。「特定のケイパビリティが、組織の改善にどのように貢献しているか」を評価しながら、特定地点への到達よりも「更に効果を出すこと」を目的としており、企業や組織の状況に応じたアプローチの採用と重視すべきケイパビリティの剪定を伴うことが可能です。

「過去のプラクティスを重視する」のはクネビンフレームワークで言うところの安定が優位な世界(右側の象限)に当てはまると思います。本書の説明するところの成熟度モデルは、これらに当てはまるように感じられ、他方のケイパビリティモデルはより「探索的」なアクションを促すのかな?と感じました。

ケイパビリティとはなにか?について、一言ではなかなか掴みにくい感じもありますが、本書を通じて「ケイパビリティこそ向き合うべき」という感覚は味わえるのではないかと思います。

4つのキーメトリクス

「デリバリに関するパフォーマンスを定量化する」というのはとても野心的な目論見に感じます。しかも、シンプルで少ないメトリクスで測れるものなのか・・?
それをやり遂げたのが、本書の最も価値の高いポイントの1つであると思います。

第2章2節においてとりあげられています。(ずっとこの辺りの話は出てくるけど、最初に概説されるのがこの部分)

たとえば「コード量」が「生産性」として用いられれば「ムダに長いコード」ができますし、「クローズしたチケット数」だけを取ると「バグだらけでもマージする」といった反作用をもたらしかねません。
こうした点も考慮しつつ、以下の4つの項目がキーメトリクスになると結論づけています。

  1. リードタイム
  2. デプロイの頻度
  3. 平均修復時間
  4. 変更失敗率

リードタイムについては、リーンでやっていれば欠かせない観点になると思います。
また、デプロイの頻度についても「バッチサイズ」として捉えることができるとリーン思考の最重要観点であるというのは同意できるはずです。「デプロイ=バッチなのか?」を成立させている根拠は、「バッチサイズを小さくすることで、フロー改善・安定とフィードバックの高速化が得られる」ことから代替的に利用可能なものとされています。工業製品と違って「1度に出荷できる量」という概念こそ存在しないものの、デプロイであれば「出荷」でありながら計測の容易性も担保できるのです。

MTTRについては、「複雑化した原題のソフトウェアに置いて欠陥を出さないことは難しい」とした上で、「組織は、故障が発生した後の対応力・機動性を高める必要がある」という意味合いで重要視しています。
かといって、故障の数が増えれば対応コストが上がる事は免れません。非付加価値活動にコストを割くことは、リーンではないでしょう。そのために変更失敗率=プラスの価値活動に対するマイナスの活動の割合、というのも最重要項目の1つになる、とのことです。

これらのメトリクスを基にして「パフォーマンスの高い/低い組織」というのを炙り出すことができます。
その結果が本書にて紹介されていますが、定量化された数値で如実に「ハイパフォーマンス組織の壁」が現れていて、唖然とするくらいでした・・

この辺りの話は次の記事も興味深いと思います。 codezine.jp

リーンと品質

変更失敗率という話がでてくる、というのは先述のとおりです。
くわえて、個人的に「低品質がムダを生む」という文脈でハッとさせられた部分が他にもありました。

第4章3節に「品質に対する継続的デリバリの効果」というセクションがあり、ここでは「継続的デリバリというプラクティスが品質に好影響を与えるであろうという仮説を、どういう指標で評価すればいいだろう?」という話がなされております。
「品質を測定するには何を見ればいいか」です。

その過程で、変更失敗率以外にも意味のありそうな項目も用意していたとのことでした。

  • アプリケーションの質とパフォーマンスに対する担当者の治験
  • 修正作業や予定外の作業にかかった時間の割合
  • エンドユーザーがいつけた不具合の修正にかかった時間の割合

これら全てが「デリバリのパフォーマンス塗装感を持つ」とのことで、その中でも「予定外の作業時かかった時間の割合」の相関が強かったようなのです。
「作業時間の全体」に対して、例えば「不具合の修理・調整」「緊急デプロイ」「監査書類の緊急作成養成」などの作業時間が占める割合です。 継続的デリバリによってこの項目が低下(向上)すると言われています。

ハイパフォーマーの場合は新たな作業に費やす時間が49%、予定外の作業や修正作業に費やす時間が21%であったのに対し、ローパフォーマーの場合はそれぞれ38%と27%であった。生産工程の最初から「品質」の概念を組み込むのに失敗したことを示す事象が修正作業や予定外の作業であるため、この事象は品質を測る有用な尺度となりうる。

4.3 品質に対する継続的デリバリの効果(P63)

「品質の定量化」や「品質の低下によって失われるモノ、発生するコスト」というのは非常に説明が難しいものだと考えています。
その点で、こうした観点は、計測値が何を示しているのが実感を持って理解しやすい上に「現状を生々しく反映してくれそうだな」と思い、とても興味深く感じました。

組織文化とパフォーマンス

「パフォーマンスに影響するものはなにか」の調査ということで、組織文化にも焦点を当てています。
例えば「変更失敗」や「リードタイム」に対して、「組織やそこで働く人がどういうものを大事にしているか」が影響しそうだというのは直感的に理解できるのではないでしょうか。

組織文化が「基本前提」「価値観」「アーティファクト」からなるとした上で、特に「価値観」に注目して扱っています。

組織文化を3つに類型化しています

  1. 不健全な(権力志向の)組織
  2. 堅牢的な(ルール志向の)組織
  3. 創造的な(パフォーマンス志向の)組織

これらは、例えば「失敗」に対する態度にも影響してきます。 そして、この「3タイプの分類でハイパフォーマンスの良し悪しも予測できる(P40)」という先行研究の結果を取り入れて、本書の話が進みます。

リーンにせよDevOpsにせよアジャイルにせよ「態度」の問題は最重要視されている内容の1つですが、それを「どう測るか」「どう影響しているか(パフォーマンスに差が出るのか)」という観点で踏み込んで話しているのはとても面白かったです。

第11章では変革型リーダーシップの話も出てきたり、第16章でもリーダーシップとマネジメントが扱われていたりと、本書が技術的プラクティスだけではなくもっと総合的な課題に向き合っていることが感じられます。

まとめ

「非常に濃密!!」という印象を持った本です。
全体で250ページ強と手に取りやすいボリュームで、とにかくリーダー層やマネジメント層にいる人たちは問答無用で読んで欲しい・・・という風に感じました。
とりわけ、第1・3部が必読だと思います。

DX系の話題や技術組織づくりの文脈で、カンファレンス発表等での引用が多く見受けられる書籍です。
自分が学んだり感じたことの3割程度しか言及できていないような感覚もありますが、素直に「かなり良かったな」と言える本でした。