SPACEフレームワークを導入して開発生産性の改善活動ができる環境作り


## はじめに
私は株式会社うるるの技術戦略課にエンジニアとして働いています。
今回は、私たちの課で行っている活動の一環として、過去半年間にわたって取り組んできたSPACEフレームワークの導入・運用までの道のりと経験を皆さんと共有させていただきます。この共有が、皆さんのお役に立てれば幸いです。


## SPACEフレームワークとは
SPACEフレームワークは、2021年に「LeanとDevOpsの科学」の著者、Nicole Forsgren氏がGithub、ビクトリア大学、Microsoft Researchなどのチームと共に開発した、開発チームの生産性を測定するためのツールです。

このフレームワークでは、生産性を総合的に評価するために以下の5つの重要な指標を用います。

| 指標  | 説明 | 
|:------|:----|
| Satisfaction & Well-being| 仕事、チーム、使用するツール、職場文化にどれだけ満足しているかを評価します。|
| Performance | チームが生成したコードがもたらした成果の大きさを評価します。 |
| Activity| メンバーが業務遂行の過程でどれだけの行動や成果を出しているかを評価します。|
| Communication & Collaboration| チーム内外でのコミュニケーションや協力の様子を評価します。|
| Efficiency & Flow| チームや組織全体の活動がどれだけ効率的に、スムーズに運ばれているかを評価します。|


これらの指標は、個人、チーム、システムという3つの異なるレベルで評価されます。これにより、開発チームの生産性を単一の指標だけではなく、多角的な視点から把握し、改善に繋げることができます。SPACEフレームワークは、開発チームの生産性を広範囲にわたり評価し、改善するためのフレームワークです。


## なぜSPACEフレームワークなのか
- 当社では、各事業部ごとにの開発効率を測定するために、Four Keysの指標を用いた可視化を行ってきました。
- しかし、FourKeysの指標だけでは、具体的にどの部分を改善すれば開発生産性が向上するのかが明確ではなかったため、効果的な改善活動を回すことができていませんでした。

| FourKeysの指標  | 簡潔な説明 | 
|:------|:------|
|デプロイの頻度|本番環境へのデプロイ頻度|
|変更のリードタイム|コミットから本番反映までのリードタイム|
|変更失敗率|不具合が起こってから修正され本番反映されるまでのリードタイム|
|平均修復時間|デプロイが原因で本番環境で障害が発生する割合|


- 加えて、単一の指標にのみ焦点を当てると、意図しない結果を引き起こすリスクがありました。
- このため、SPACEフレームワークを導入を行い、総合的・多面的な指標を追加でみていくことで最適な開発生産性の改善活動ができる環境を作ることができると考えました。


## 準備フェーズ
### 実施した内容
- SPACEフレームワークの学習・理解
    - 海外・国内の事例、参考になる資料集め
    - 既にSPACEを導入している企業にヒアリング
    - 開発生産性カンファレンスへの参加
- 当課でのSPACEフレームワーク理解の認識あわせ
- 導入対象のスコープ定め・協力をお願い
    - 自社の事業部でどのチームが導入ができる状態なのか、導入が適正ているフェーズなのかスコープを明確に実施



### 良かった・悪かった点
- 良かった点
    - SPACEフレームワークの事例が少ない状態なので、しっかりとした情報源から弊社にあった情報だけを取得できました。
    - 各事業部・チーム共に開発生産性の改善活動が回せていない課題感があったので、導入対象がすんなりと決まりました
- 悪かった点
    - SPACEフレームワークを実施している海外・国内の事例が少ないので、他社を参考にして導入を進めることが難しかったです
        - SPACEフレームワークの理解に時間がかかりました。


## 導入フェーズ
### 実施した内容
- 対象のチームにSPACEフレームワークの紹介・当課が実施したい内容の共有
- 対象のチームごとに具体的な測定指標・内容の明確化
    - チームが今後どのようなことを大事にしていきたいかのヒアリングを実施
    - 工数を削減するため、現在測定できている内容を優先的に指標に設定
- 明確になった指標のデータを取得・可視化
    - スプレッドシートにデータを反映
    - 取得したデータからグラフを作成

### 良かった・悪かった点
- 良かった点
    - 他企業とは違う、うるる独自のSPACEフレームワークの形ができあがりました。
    - 対象のチームはFour Keysを以前から測定していたので、データ取得・可視化をするのは比較的容易に実施できたました。
- 悪かった点
    - 事業部ごとの思いを汲み取って指標を定めたので、定めた指標で開発生産性の改善活動に活かせるか運用を回してみないと分かりませんでした。
    - データの取得が手動で取得している状態なので、データ取得に工数がかかりました。

## 運用フェーズ
### 実施した内容
- 当課で可視化したデータからデータ分析・仮説構築の実施
    - 取得したデータからあらゆる側面からデータ分析
    - データの相関関係から仮説構築を実施して、改善活動を定義
- 仮説構築を実施して定めた改善活動の実施
- 対象チームメンバーとデータ分析・仮説構築の実施準備
    - 対象チームのメンバーを含めて、データ分析・仮説構築を実施する準備を実施
    - 対象のチームの開発フローにSPACEでの改善活動を導入する計画・準備を実施

### 良かった・悪かった点
- 良かった点
    - データ分析・仮説構築を行って開発生産性を向上できそうな仮説構築を作ることができました。
    - 多方面での指標を可視化することで、改善が必要な部分が明らかになり、改善活動を実施できる状態を作ることができました。
- 悪かった点
    - 12月ぐらいまで事業部の開発計画が逼迫していたので、対象のチームメンバーとの運用を始めるまで時間がかかりました。
    - 導入フェーズにも関わりますが、SPACEフレームワークをチームに導入する際はチームの担当者のリソースが必要になります。
    - 導入するチームに余裕がないと導入・運用まで進めるのは難しいと感じています。

## 現状でのSPACEフレームワークの評価
### 有用点
- 多面的な指標の導入による課題解決
    - 従来のFour Keysによる単一指標での開発生産性の可視化に代わり、SPACEフレームワークを導入して多角的に指標を設定・可視化することができる状態になりました。
    - 定量的および定性的なデータを基に相関関係を示す指標が明確になり、仮説構築ができる状態になりました。
- 改善活動の実施
    - 多面的な指標に基づく仮説構築により、開発生産性を向上させるための具体的な改善項目や取り組みを特定することが可能になりました。
    - すでに改善活動を進めており、今後の対象チームメンバーを含めた定期的な振り返りにより課題解決への進展が期待されております。


### 懸念点
- 現状、海外・国内の事例が少なく、分からないことがある場合に参考にすることが難しいため、進めるのに時間がかかります。
    - そのため、導入当初はスピード感が出ないことがあります。
    - 学習コストが高くなりがちです。
- 導入するチームメンバーの工数も必要になるため、事業部が開発計画で逼迫している状況では、導入が難しくなります。
- 開発生産性の施策をまったく導入していないチームへの導入はハードルが高いです。
    - 通常は「Four Keys → SPACE」の流れで導入を行います。Four Keysを導入していない場合でもSPACEの導入は可能ですが、Four Keysでの指標がデータ収集できる前提があると感じております。

## 今後実施したい内容
- 対象チームで定義している指標が適切かどうかが分かっていないため、運用を進める上でブラッシュアップを行いたいです。
- 「Performance」の指標を、プロダクトの売り上げ・利益、KPIなど、実際のサービスへの貢献度で測定できる状態にしたいです。
- 他のチームへSPACEフレームワークの活用を広げていきたいと考えています。


## まとめ
他の業務があるとはいえ、準備・導入・運用で半年間かかってしまいました。
今思うと見切り発射で```SPACEフレームワークの指標を定めて、測定して、可視化してみる```まで短期間で実施しても問題なかったと感じております。

効果としては、まだ運用を始めてから時間があまりたっていませんが、SPACEフレームワークを導入することで、当初の課題が解消しつつあります。
開発生産性の改善活動を実施していきたいと考えている場合、SPACEフレームワークの導入を検討してみてはいかがでしょうか。


## 最後に
今回は準備フェーズから・運用フェーズまでの実施した内容と、そこで実感した良かった・悪かった点を主に記載しました。
SPACEフレームワークの導入で、特に困るのが```具体的に何を測定するのか？```という部分だと思います。機会がありましたら弊社の具体的な測定内容、運用の仕組み、改善活動の例を共有していきたいと思っています。


## 参考文献
https://speakerdeck.com/overflowinc/ding-liang-ping-jia-pi-bi-simasenka-well-beingtosheng-chan-xing-zhi-biao-wozu-mihe-waseta-enziniaringumetorikusupuroguramunituite

https://speakerdeck.com/naoki344/scrumtimunojian-kang-zhuang-tai-woke-shi-hua-suru-spacehuremuwakufour-keys

https://queue.acm.org/detail.cfm?id=3454124