4つのメトリクスでCircleCI上の膨大なワークフローを分析
CI/CDツールを使う動機として多いのは、「自動化したい」「コストを削減したい」「開発スピードを上げたい」といったところだろう。ほかにも、ソフトウェアの品質やセキュリティの強化などが考えられる。
「これらはすべて、『最高のチームづくりをしたい』ということに収束するのではないか」と、車井氏は冒頭で述べた。
では、最高のチーム、優れたパフォーマンスを発揮できるチームとはどのようなものか。それをデータに基づいて分析するために、CircleCIでは膨大なワークフローの調査を実施した。対象となったのは、CircleCIのクラウドプラットフォーム上で2019年6月1日~8月30日の3カ月間に確認された3000万件強のワークフローデータ。これらは、4万以上のOrganization(組織・企業)と、15万以上のプロジェクトから取得されたものだ。なお、CircleCIの「ワークフロー」とは、複数のジョブ(ビルド、テスト、デプロイなど)を組み合わせて構築するCI/CDパイプラインの全体を指す。
3000万件のワークフローから具体的にどのようなデータを抽出したのかについて車井氏は、「DORA(DevOps Research and Assessment)が公表した『2019 Accelerate State of DevOps Report』(以下、State of DevOps Report)で示されている4つのメトリクスをベースにした」と説明。
それらは「スループット」と「安定性」の2つに大きく分かれ、前者は「変更のリードタイム」と「デプロイ頻度」、後者は「平均修復時間(MTTR)」と「失敗の頻度」といったメトリクスで構成されている。
ただし、CircleCIはあくまでもCI/CDツールであり、State of DevOps Reportで示されているこれらのメトリクスをそのまま適用するのは難しいという。実際には、それぞれ次のようなCircleCI上で取得可能なメトリクスを採用し、分析を行っている。