DevExの3つの要素を測定してみる
浜田氏は、「DevExという指標を測定するには、先に紹介した、フロー状態、認知負荷、フィードバックループの3つの要素それぞれに対して、『Perceptions(理解、認識)、Workflows(システムのプロセスの振る舞い)、KPI(組織が目指すべき指標)』という3つの項目を測定します」と、その方法を紹介した。3要素それぞれについてPerceptionsとWorkflowsを測定、KPIは3要素全体をまとめて測定する。
Perceptionsは、開発者のフィードバックループ、フロー状態、認知負荷に関する定性情報を収集する。具体的には、Google Formsに設問を設定し、各項目について開発者に満足度を5段階で記載してもらった。
Workflowsでは、フィードバックループ、フロー状態、認知負荷に関する情報を収集するが、GitHubやJiraなどの開発システムから得られる定量情報が対象となる。フィードバックループについては、CI実行時間、コードレビュー・ターンアラウンドタイム、デプロイ・リードタイムの3つを測定した。CI実行時間は、CIの結果を生成するのにかかる時間を意味する。ファインディではGitHub Actionsを使用しており、コンソール上からCIの平均実行時間を抽出した。コードレビュー・ターンアラウンドタイムは、レビューを依頼してからレビューが完了までの時間であり、デプロイ・リードタイムは、Four Keysの項目の1つである、変更のリードタイムから取得した。
Workflowsの認知負荷については、プルリクエスト数、デプロイ手動ステップ数、ドキュメント改善頻度を、フロー状態は、ミーティング時間、トイル対応の割合、インシデント頻度を測定した。
KPIでは、ソフトウェア提供プロセスの容易性、従業員のエンゲージメントと満足度、計画通りのデリバリーであるかを測定した。PerceptionsとWorkflowsだけでは細かい数値が多いので、個別最適になってしまう可能性がある。そのため組織が目指すべき目標としてKPIを定義し、その達成状況を確認することで、個別最適ではなく全体のパフォーマンスやアウトプットの測定を目指した。