Puppet Labs: State of DevOps Report 2015は、IT業界における最近のDevOpsトレンドを示すものだ。デプロイメントの成功と安定性の観点からパフォーマンスの高い人低い人を比較し、アーキテクチャと開発者の生産性との関係を調査している。
約5,000名の回答者の大部分 (81%) はITの運用、開発、DevOps部門に所属しており、その70%は100以上のサーバをインフラに持つ会社に勤務する。18%は1,000以上のサーバを持つ会社に勤務する。特にこの調査では以下のメトリクスを調べることで、業界全体のデプロイメントのスループットとサービスの安定性を評価している。
- デプロイメントの頻度 – 組織がコードをデプロイする回数
- デプロイメントのリードタイム – コミットされたコードをプロダクションに渡すための変更に要する時間
- 平均復旧時間 (MTTR) – エラーでダウンした時、サービス復旧に要する時間
- 変更成功率 – コード変更がプロダクション投入に成功する割合
回答を評価するにあたり、このレポート作成者はパフォーマンスの高い人と低い人とで分類した。その差異を次のテーブルに示す。昨年のレポートから変わったところは、MTTR(パフォーマンスの高い人はエラーから非常にすばやく復旧する)と変更成功率(Change Success Rate)(パフォーマンスの高い人はプロダクションにプッシュ成功するコードが20倍以上ある)だ。
メトリクス | 2015 (高い人 vs. 低い人) | 2014 (高い人 vs. 低い人) |
デプロイメントの頻度 | 30x | 30x |
デプロイメントのリードタイム | 200x | 200x |
平均復旧時間(MTTR) | 168x | 48x |
変更成功率 | 60x | 3x |
組織におけるリーンマネジメントおよび継続的デリバリーとITパフォーマンスの影響を測定するのに、レポート作成者は構造方程式モデリングを使った。彼らは、WIP(Work in Progress)を制限すること、品質、生産性、WIPをモニタリングするのに視覚的な方法を使うこと、ビジネス判断にモニタリングツールを使うことが、組織のパフォーマンスに直接的な影響を与える、と結論づけた。また、テストとデプロイメントの自動化、トランクベースの開発と継続的インテグレーション、アプリとシステムの構成をバージョン管理システムに保持することが、デプロイメントの苦痛と変更失敗率を抑え、デプロイメントのスループットと安定性を高め、結果的に、生産性とマーケットシェア、利益率を高めることになると述べた。
今年の調査では、ソフトウェアアーキテクチャと開発者の生産性との関係についても評価している。彼らは開発者1日当たりのデプロイメント数を記録した。次の図は、プロジェクトに関わる開発者が増えるほど、パフォーマンスの低い人の生産性は下がり、パフォーマンスの高い人の生産性は指数的に向上することを示している。
調査結果は高いITパフォーマンスに寄与する要因を次のように述べている。「ゴール指向の活力のあるカルチャー、モジュラーアーキテクチャ、継続的デリバリーを実現するエンジニアリングプラクティス、効果的なリーダーシップ」
レポートでは、ITマネージャー向けのアドバイスに一章をあてて、チームのパフォーマンス向上に役立つ方法、組織カルチャーが重要な理由、活力のある(パフォーマンス指向の)カルチャーの構築方法、DevOpsの導入方法を説明している。また従業員の燃え尽きにも一章をあて、業務の過負荷、コントロールの欠如、不十分な報酬、コミュニティの崩壊、公平感の欠如、価値の衝突といった主要な原因について説明している。