SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

開発生産性を測る新たな手法「SPACEフレームワーク」入門

「SPACEフレームワーク」とは何か:開発者の生産性を多面的に評価する新しい評価手法

  • このエントリーをはてなブックマークに追加

 開発者の生産性を多面的に評価する指標として注目されている「SPACEフレームワーク」。本連載では、SPACEフレームワークとは何か、そして筆者の事例を通じて、組織へ実際に導入・運用するためのヒントを紹介します。今回はSPACEフレームワークの概要と使い方について紹介します。

  • このエントリーをはてなブックマークに追加

SPACEフレームワークとは

 SPACEフレームワークは、開発者の生産性を多面的に評価するためのフレームワークです。

 このフレームワークは、GitHub、ビクトリア大学、Microsoft Researchのメンバーによって提唱され、『LeanとDevOpsの科学』の著者でもあるNicole Forsgren氏によって「The SPACE of Developer Productivity」という論文の形で発表されました。

 論文では、開発者の生産性についての神話と誤解を明らかにし、「重要な1つの指標」で把握することはできないと結論づけ、多様な側面を評価できる生産性指標を複数選定し、これらを大きな視点で論理的かつ体系的に考える方法をSPACEフレームワークとして定義しています。

 フレームワークという名称から、エンジニアである私たちが最初に思い浮かべるのはアプリケーションフレームワークのような定型処理がまとまったものですが、このSPACEフレームワークはSWOT分析などのビジネスフレームワークに近く、概念を提示しているものと言えます。

 また、最近ではGitHubによるCopilotレポートでも考え方の基礎として言及され、にわかに注目が集まっています。

SPACEフレームワークが開発された背景

 フレームワークの詳細に入る前に、評価指標や方法が多くある中で、なぜこのフレームワークが開発されたのか、そして、これまでの指標運用にはどのような課題が存在したのかといった背景を交えて説明します。

これまでの指標運用の課題

 論文内では、開発者の生産性に関する多くの神話が、長年にわたって蓄積され誤解を生んできたと書かれています。

 そもそも、そのような神話と誤解を生む「開発者の生産性」とは、一体何なのでしょうか。

 生産性とは、Wikipediaによると、

 生産性とは、経済学で経済政策に対する生産要素の寄与度、あるいは、資源から付加価値を産み出す際の効率の程度のことを指す。

 より少ないインプットからより多いアウトプットが得られるほど、より生産性が高いという関係にある。

生産性=アウトプット/インプット

生産性には何を基準に置いて評価するかによって幾つか種類がある。

とあります。以下に説明されているように、開発者という言わば労働力に対する生産性は、労働生産性になります。

 労働生産性(Labour productivity)とは、労働力(単位時間当たりの労働投入)1単位に対してどれだけ価値を産めたかを指す。

 (中略)

 生産量を物的な量で表す場合を特に「物的労働生産性」、金額(付加価値)で表す場合を「付加価値労働生産性」と言い、一般的な経済指標で単に「労働生産性」と言った場合、通常は後者を指す。

 この定義を開発者の生産性に適用すると、アウトプットには、物的労働生産性を表す設計文書や仕様書、作業項目、プルリクエスト、コミット、コードレビューの量や数、機能実装など直接価値提供につながるものがあり、また付加価値労働生産性を表す顧客満足度向上、全体のフローを改善するDX改善、コスト削減対応なども含まれます。

 このようにエンジニアが関わる生産は多岐にわたります。

 そして、インプットとして投下した労働力が実際にどれくらいのアウトプット量を生み出すかは単位時間や人数だけでは計れず、コンディションや開発フローへの満足度といった定性的なものや、オンコール対応や他メンバーのオンボーディング時間、他チームとの会議時間などによっても左右されます。

 これら多面的な活動に対して、一つの次元または指標のみで把握することは難しいと言えます。

 また、論文内では以下のような神話がまとめられています。

  • 生産性は開発者の活動がすべてである
  • 生産性とは個人のパフォーマンスに関するものでしかない
  • 1つの生産性指標ですべてがわかる
  • 生産性指標はマネジャーにしか役に立たない
  • 生産性はエンジニアリングシステムと開発者ツールにのみ関係する

 これらは、逆に言えば、すべてが必ずしもそうではないことを示しており、実際の意味ある観測には一次元ではなく多面的な捉え方が必要というのが現実です。

 さらに、一つの指標のみを観測した場合、人によってはその数値のみのパフォーマンス向上を行うような行動を優先する(あるいは更に極端な例として、指標の操作など)こともあるでしょう(意識的には行わないとは思いますが、実際に評価に関わる数値であるとしたら、日々の行動に影響がまったくないとは言えません)。

 改善行動を取った結果、数値が向上したとしても、それが指標操作によるものなのか、それともPDCAサイクルを回した結果の数値なのかの判断は難しいです。

 つまり、単一指標では様々な側面を持つ生産性評価ができず、また一つのみ観測してしまうと、本来目的とすべきであろう生産効率が上がったのか下がったのかを正しく計測することができなくなるという問題が発生します。

 これら本来は複雑で多面的な視点で把握を必要とする生産性評価という問題に対して、コンディション状況などのウェルビーイングを意識した状況把握を含む定性指標と従来使われていた定量指標(Four Keys、コミット数、PRマージ数など)を組み合わせた三角測量を行うことで、微妙な影響を理解しながら組織を改善していくフレームワークが、SPACEフレームワークです

 では、具体的にどのような定義と運用で解決を図るフレームワークなのか、次の項以降ではSPACEフレームワークの要点となるその定義と使用方法について紹介していきます。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
SPACEフレームワークの定義

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
開発生産性を測る新たな手法「SPACEフレームワーク」入門連載記事一覧
この記事の著者

大谷 旅人(株式会社overflow)(オオタニ タビト)

 経路探索エンジンの研究開発後、2010年に株式会社サイバーエージェント入社。Ameba事業本部でシステム開発・運用責任者、事業部ポードとして組織運営などを務める。2013年、株式会社メタップス入社、決済、A分析ブラットフォームの基盤開発やシステム開発責任者して従事する。2015年に上場を経験。20...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17913 2023/06/23 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング