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

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

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

勤務先で取締役の人がおすすめしていたので手にとってみた。 エンジニア界隈では現時点ではまだそこまで話題になっている感じがしない(ソース:Twitterおよび自分の周囲)。

Martin Fowlerが冒頭に文章を寄せていて、親近感が湧いた。

全部をいったん通しで読み終えたが、内容をうまく自分の中で消化するには1日では足りない。なので本記事に少しづつ文章を足していきたいと思う。

LeanとDevOpsの科学[Accelerate] 出版記念イベント - 資料一覧 - connpass https://connpass.com/event/110420/presentation/

こんなイベントもあったのか。

この本には従来の固定観念を打ち崩す記述がいくつかある。

その1つが、「スピードと安定性は両立可能」だということ。 よくある考えとして、スピードと安定性はトレードオフであり、スピードを優先するなら安定性は犠牲になり、安定性を重要視するならスピードは出せない、というものがある。 ただ本書ではエビデンスをもとにスピードと安定性は両立可能である、とする。

本書の大枠を要約すると、ソフトウェアのデリバリ(コードを書いてコミットして、それが本番環境にデプロイされ、不具合があれば修正され再リリースされる)をいかにしたら改善できるかをデータに基づいた定量的な調査で明らかにし、そのポイントを「24個のケイパビリティ」であると結論づけている。その24個は以下のようなものだ(まえがき部分のxxページから引用)。

継続的デリバリの促進効果が高いケイパビリティ

  • バージョン管理
  • デプロイの自動化
  • 継続的インテグレーション
  • トランクベースの開発
  • テストの自動化
  • テストデータの管理
  • 情報セキュリティのシフトレフト
  • 継続的デリバリ

アーキテクチャ関連のケイパビリティ

製品・プロセス関連のケイパビリティ

  • 顧客フィードバック
  • 業務プロセスの可視化
  • 作業の細分化
  • チームによる実験

リーン思考に即した管理・監視に関わるケイパビリティ

  • 変更承認プロセス
  • 監視
  • プロアクティブな監視
  • 進行中の作業(WIP: Work in Progress)の制限
  • 作業の可視化

組織文化に関わるケイパビリティ

  • Westrum推奨の創造的な組織文化
  • 学びの支援
  • チーム間の協働
  • 職務満足度
  • 改善を推進するリーダーシップ

これを見てまず思い出した類似の概念が、the Twelve-Factor Appだ。Twelve-Factor AppはSaaSが満たすべき特性のようなものを定義したものに対して、本書の24のケイパビリティは、デリバリのプロセスをDevOpsという観点で見たときの、開発チームが持つべき能力について定義している。ただ、両者は実際に共通する概念も多いと思う。

これら24の項目はタイトルをみただけでだいたい分かるものが多く、実際に本書の中でも1つ1つを詳細に解説してはいない。本書はそれが趣旨ではなく、むしろこれらケイパビリティを満たすことが組織パフォーマンスの向上につながるという結論を導き出すまでの、リサーチ・分析手法の解説に重きをおいている。

なのでDevOps手法の説明にさかれているページ数は感覚的には半分くらいで、それ以外はそのデータの根拠を証明するための、緻密な手法と段取りの説明にさかれている。

Martin Fowler氏が冒頭で述べているように、こうした調査手法は素晴らしいし納得感もあるものの、類似の研究が他の学者でも行われて同様の結論が出てくるとより説得力が増すものになるだろう(本書の調査は2015年に行われているので、アップデートがあるかもしれない)。本書を読んだだけだと、結論ありきで恣意的に誘導されている印象を受けなくもない。ただ導き出されている結論には非常に納得感があって、実際効果もありそうだし実践するに値すると思えるのも確か。