健康状態まで含めて生産性を評価するSPACEフレームワークとの組み合わせ
続いてフォースグレン氏は「SPACE」についても解説。SPACEは生産性を多面的に評価するためのフレームワークである。「開発者の状況や測定したい内容に合わせて、正しいメトリクスのセットを特定するためのフレームワークとして定義されている」とフォースグレン氏は説明する。また「SPACEとDORAは補完的な関係にある」という。DORAを使用して改善したい項目を特定した後、SPACEを使用してどのメトリクスを使用するかを決定するのである。つまりSPACEは開発者が行いたい作業や、働く文脈に適したメトリクスを選ぶためのフレームワークと言える。またSPACEは「開発者だけではなく、営業、コピーライティングなど、複雑な任務に関わるあらゆる作業に使用することができる」とフォースグレン氏は語る。
SPACEが生産性の測定指標として推奨している側面は5つある。第一は満足度と健康状態(Satisfaction and well-being)。自分の仕事にどれだけ満足し、幸せを感じ、健康的であるかを計測する。「時にはツールの使用満足度やツールの使いやすさなども含まれることもあります」(フォースグレン氏)
第二はパフォーマンス(Performance)。プロセスの結果であり、最終的に想定したことを確実に実行したかを計測する。
第三はアクティビティ(Activity)。ソフトウェア開発においては、このカテゴリを最も良く計測される。その理由についてフォースグレン氏は「自動化が容易であり、計測が簡単だから」と話す。具体的にはプルリクエストやコミットの数、コードの行数などが当てはまる。
第四はコミュニケーションとコラボレーション(Communication and collaboration)。これはメンバーやチームがどのようにコミュニケーションし協業するか。システム連携をどのようにするかということも含まれる。「システムやナレッジベースの検索が簡単かどうか、チームメンバーがどれだけ頻繁に会話するかなども含まれます」(フォースグレン氏)
もちろん、1on1の回数も含まれる。フォースグレン氏たちの研究によると、1on1の回数が増えるほど、開発者がコーディングに費やす時間も増えることが分かったという。
第五は効率とフロー(Efficiency and flow)。これは最小限の遅延と中断で作業を進める能力である。システムやプロセスを通じと効率とフローに関係するからだ。
さらにフォースグレン氏は、SPACEフレームワークを使用して何かを測定する際、「バランスとトレードオフを考えることが重要だ」と指摘する。そのため3つの異なる側面を使用することを推奨している。ある一つのディメンションに過度に依存しないようにするためだ。
例えばコードレビュープロセスを迅速化するために、通知やアラートを増やすことを考えたとする。この場合、アラートの数やタイミングは「アクティビティ」という側面の要素に該当する。だが、効率とフローの側面から見ると、アラートの数やタイミングによっては、効率性とフローが妨げられる可能性がある。「このように2つのメトリクスを利用するだけでも、レビュープロセスのスピードと通知量やタイミングを制御することができます」(フォースグレン氏)
さらに満足度と健康状態のメトリクスを追加すると、次のようなメリットが得られる。最初の2つの活動と効率性とフローは、自動化されたシステムで取得できる。満足度と健康状態については、開発者がコードレビュープロセスにどれだけ満足しているかを月次や四半期ごとに尋ねることで取得できる。この際、注意したいのは、過度な頻度で調査をしないこと。調査疲労が起こる可能性があるからだ。
SPACEフレームワークをインシデント管理にも活用したとしよう。まずは満足度と健康状態の側面の評価は、SREエンジニアに、インシデント管理プロセスにどれだけ満足しているかを尋ねることで可能になる。そのほか、燃え尽き症候群に陥っていないかなどについて尋ねるのも良い。第二のパフォーマンスという側面では、モニタリングシステムが問題を検出し、フラグを立てる能力やMTTR(Mean Time to Recovery)を全体および重要度別に尋ねることで可能になる。アクティビティの側面では、計測できるメトリクスが使える。例えばモニタリングシステムで検出された問題の数や作成されたインシデントの数、解決されたインシデントの数を測定。もちろん、重要度別に分けて評価することもできる。
その他コミュニケーションとコラボレーションの側面では、インシデントの解決に関与する人数やその人たちの所属チーム、インシデント中のコミュニケーション方法(メールやSlack、対面)を調査する。
また効率性とフローの側面では、インシデントの引き継ぎ、担当の割り当て、インシデントが最終的に解決されるまでの手順数などを調査する。
これらの側面をスコアリングし、スパイダーチャートなどで表すことで、どのような要素がトレードオフになっているかを見ることもできる。「どこに投資をすればインシデント管理という業務の改善につながるのか、見極めることができるはず」とフォースグレン氏は語る。
その際に重要になるのは、チームにこの結果を示すこと。トレードオフになっているものが適切かどうかを尋ねるのである。そうすることでより問題を明確に把握できるようになる。
DORAとSPACEは補完的な関係と先述したが、「共通点もある」とフォースグレン氏。DORAはSPACEのメトリクスの一部なのだ。DORAはいくつかのSPACEの要素をカバーしている。ソフトウェアのデリバリープロセスで考えてみると、リードタイムは効率性とフロー、デプロイの頻度はアクティビティ、MTTRは効率性とフロー、変更障害率や可用性はパフォーマンスの指標として見ることができる。「DORAはSPACEの5つの側面の内、3つをカバーしている。つまりDORAはSPACEの一部と言えるのです」(フォースグレン氏)
実践的なSPACEフレームワークの活用例として、フォースグレン氏は「Good Day Project」を紹介。これは同氏がGitHubで働いていた時のプロジェクトで、SPACEフレームワークを活用し、開発者個人が良い毎日を過ごす方法を見つけることを目的としている。「これはマネジャーやチームリーダーのためではなく、個人のためのものだった」とフォースグレン氏は振り返る。SPACEフレームワークを利用して、開発者の負担にならないよう、迅速かつ簡単な測定方法を考えたという。共に同プロジェクトに取り組んでいたEirini Kalliamvakou(エイリニ・カリアムヴァコウ)氏は次のような質問を行った。
- 「あなたの仕事はどうでしたか?」
- 「他の人と一緒に仕事をしましたか」
- 「仕事は中断されましたか」
- 「何回ミーティングがありましたか」
そしてこの質問の回答とアクティビティデータを照合した。この調査についての詳細はGitHubのブログで確認できる。
この調査で分かったことは、「中断がほとんどない、全く無い人は良い一日を過ごす可能性が82%だった」ということ。またフォースグレン氏がこの調査を評価するのは、「たった2分間の小さな調査が、人々に1日を締めくくる素晴らしい方法を提供したという報告があったこと」だと語る。このようにメトリクスは私たちに洞察と方向性を与え、行動を促し、生産性と多幸感を向上させることができる。だが「それだけでは変化を生み出すには十分ではない」とフォースグレン氏は言う。チームや組織の文化が関係するからだ。