見出し画像

The SPACE of Developer Productivity (Japanese ver.) Presented by Dr.Nicole Forsgren (『LeanとDevOpsの科学』著者)

今回は、以下動画をもとに”開発生産性におけるSPACE”について記事にまとめたいと思います。


発表者はDeveloper Productivityの文脈では非常に有名なDr.Nicole Forsgrenです。

発表者(『LeanとDevOpsの科学』著者) 

Dr.Nicole Forsgren (『LeanとDevOpsの科学』著者) 

DevOps Research and Assessment (DORA)をGoogleに売却した起業家。開発生産性におけるSPACEの考え方やDevOpsの文化について研究している。

早速動画の内容についてまとめていきたいと思います。

開発者の生産性についてどのように測定するのか

  • 開発者の生産性は速度やアウトプットだけではない

    • それに影響を与える様々な要因がある

    • その要因をまとめたのがSPACEフレームワーク

      • 生産性に影響を与える要素を5つの側面でまとめたもの

    • また、SPACEフレームワークは開発生産性のみならず、開発者の満足度向上や、よりよいソフトウェアをつくることに寄与する。

    • 生産性に影響を与える5つの要素:SPACEフレームワーク

      • Satisfaction and well-being(従業員満足と幸福)

      • Performance(パフォーマンス)

      • Activity(アクティビティ)

      • Communication and collaboration(コミュニケーションとコラボレーション)

      • Efficiency and flow(効率性とフロー)

SPACEフレームワーク

開発生産性の5つの誤解

上記で開発生産性に影響を与える5つの要素SPACEを紹介しましたが、ここで開発生産性指標に関するよくある5つの誤解を紹介します。

開発生産性の5つの誤解

01.Productivity is all about developer activity

生産性とは開発者のアクティビティ(コミット数・プルリク数・コード行数などの数値)が全てではない

02.Productivity is only about individual performance

生産性は個人のパフォーマンスのみにフォーカスするものではない(開発はチームスポーツであり、組織のパフォーマンスが重要である)
個人だけにフォーカスするとチームの目標を無視してしまうことがよくある

03.One productivity metric can tell you everything

一つの生産性指標で全てがわかるということはない
開発生産性にはいくつかの要素があり、一つの指標のみでは生産性を測定できない

開発者のしごとは複雑であり、特定のひとつの指標のみでその生産性を測定することは難しい

04.Productivity measures are only useful for managers

生産性指標はマネージャーのみに役立つ指標ではない(個々の開発者にとっても役立つ指標である)

05.Productivity comes down to engineering systems and developer tools

生産性が低下するのは、ツールとエンジニアリングシステムだけではない。そのほか様々な要素(個人のパフォーマンスやチームのコミュニケーション等)が結びついて、生産性の良し悪しが左右する

開発者生産性におけるSPACEとは

Satisfaction and well-being(従業員満足と幸福)

従業員満足と生産性には高い相関関係がある
開発効率やエンゲージメント、燃え尽き症候群(バーンアウト)の発生可能性などが生産性に影響を与える

Performance(パフォーマンス)

パフォーマンスはシステムとプロセスの結果である
信頼性指標・品質指標・顧客満足度・システム全体の速度/パフォーマンスなどが大事

Activity(アクティビティ)

アクティビティはアカウントであり、「達成される物事の数(コード行数・コミット数、プルリクエスト数など)」のこと。
これは重要な指標である一方、それだけが全てではないということに留意が必要

Communication and collaboration(コミュニケーションとコラボレーション)

広義の意味としてはシステム内で物事をどのように通信するか、情報をどのようにみつけるか、情報をどのように共有するか、が生産性に非常に影響を与える
コードの発見可能性・検索可能性などはチームで活動する上で非常に重要な要素
また、コードのみならず、開発においてさまざまな手法を組織で共有されている状態をつくることが非常に重要である

Efficiency and flow(効率性とフロー)

効率性とフローはシステム内を流れる物事の速さを考えること
引き継ぎ・量・タイミング・中断などのリードタイムを定量化して測定し、評価することが重要である

SPACEにおける生産性指標例

以下はSPACEにおける生産性指標例です。各指標が個人・チーム/グループ・システムの各レベルで分類されています。
SPACEフレームワークにおける指標は相互補完性があるため、全ての指標を考慮する必要はない、としています。

SPACEフレームワークにおける指標の相互補完関係の例

以下がSPACEフレームワークにおける指標の相互補完関係の例です(ここでは相互補完の関係について詳細を記述せず、全ての指標を考慮する必要はないということを強調します)。

S,C,Eの相互補完
S,A,Eの相互補完
コードレビューはSPACE全てに影響を与える

SPACEにおける生産性指標例(Japanese ver.)

以下は英語記載のSPACEにおける生産性指標例を日本語にしたものです。

SPACE framework in actionより作成

皆さまの個人・チーム・システムでは、これらの生産性指標をどの程度測定できていますでしょうか?
照らし合わせて考えてみてもよいかもしれません。

さいごに:開発生産性可視化ツールでの測定

以上、いかがでしたでしょうか?
近年注目されている”開発生産性”において、海外の研究者が提唱しているフレームワークについて記事にしてみました。

Findyでも、エンジニア組織支援SaaS『Findy Team+』を提供し、エンジニア組織の生産性可視化・パフォーマンス向上を支援しております。
Findy Team+はこちら👇

『Findy Team+』が測定できるSPACEの開発生産性指標もまとめてみました。ハイライト部分は概ね測定可能な範囲となっています。

SPACE Measurement with Findy Team+(2023年8月時点)

『Findy Team+』による上記ハイライト部分の指標測定における画面UIは以下ZOZOさんの記事などにもスクリーンショットが掲載されておりますので、ご興味ある方ご覧ください!

最後まで読んで頂きありがとうございました!

この記事が気に入ったらサポートをしてみませんか?