Leanとdevopsの科学
この本を読むと得られるもの
パフォーマンスの高い組織とそうでない組織の違いを理解し、科学的に、具体的に何を実践すれば組織のパフォーマンスが上がるのかがわかるようになる
アンケート調査対象
- 全世界を対象とし、総数は23000件
- 小規模スタートアップから大企業まで2000社以上
- 特定の業種に絞らず、最先端のネット関連企業、金融、政府機関などさまざま
- 技術スタックも問わない(最新のプラットフォームを利用している現場やレガシーな現場も含めて)
以下では、私がためになったと思うエッセンスだけ抽出して紹介します。
付録A 改善促進効果の高いケイパビリティ
ソフトウェアのデリバリパフォーマンスの向上を促進するケイパビリティ24個を5つのカテゴリーに分類して紹介している。
この付録の便利なところは、読者が最も知りたいであろうと思われる項目が索引のようになっており、興味のある部分にピンポイントで辿り着くことができるようになっているところ
カテゴリ
- 継続的デリバリ
- アーキテクチャ
- 製品とプロセス
- リーン思考に基づく管理と監視
- 組織文化
以下に、継続的デリバリのみ抜粋して紹介
第4章 技術的プラクティス 継続的デリバリの基本原則と効果
継続的デリバリ・・・いかにアイデアや価値を本番環境へ迅速、安全、持続可能な形で投入するための手法
継続的デリバリの以下のプラクティスを実践することでパフォーマンスを最大化できる
- ソースコードのバージョン管理
- デプロイ自動化
- 継続的インテグレーション
- トランクベース開発
- テスト自動化
- テストデータの管理
- 情報セキュリティの考慮
- 継続的デプロイ
第5章 システムのアーキテクチャのポイント
- 最先端のアーキテクチャ(コンテナによるマイクロサービスアーキテクチャなど)を使用していることと、開発組織のパフォーマンスとの間に相関関係はない
- 相関が見られたのは以下2要素(レガシーなアーキテクチャでもこれらを守っていれば組織のパフォーマンスを向上させることは可能)。
- テスト容易性
- デプロイ容易性
- どのフレームワークを使用するか、どのライブラリを使用するかなどの個別具体的なツールに焦点を当てること自体が誤りであるということが立証されている
リーン製品開発のプラクティス
- 作業を細分化して実用最小限の機能(MVP)を細かく頻繁にリリースする
- ユーザーのニーズを検証を繰り返しながら顧客のフィードバックを迅速に収集し、それを製品に取り入れる
ちなみに、本書には記載のない内容だが、リリースされたシステムの機能のうち、まったく使われない機能が45%、ほとんど使われない機能の19%を足すと、約3分の2が使われない機能
システム機能の利用度(XP2002でのStandish Group報告より)
付録B 統計データ
ソフトウェアを開発している組織、エンジニアの関心が強い特定のキーワードが、どのような変数と相関が強い(弱い)のかであったり、キーワードと深く関連する統計結果を示してくれている
例)ソフトウェアデリバリーというキーワード(指標)とデプロイ関連の負荷には負の相関関係がある(手動デプロイなど負荷が増すほどデリバリーパフォーマンスが下がる)
まとめ
いかがでしたでしょうか。本記事ではLeanとdevopsの科学の要約と読んだ感想について紹介させていただきました。科学的な観点から、チームのパフォーマンスに影響する指標を示してくれるとともに、すぐに実践できるプラクティスを知ることができるので、ソフトウェア開発に携わる方は是非一度は目を通したおいたほうがいい名著だと感じました。