SHOEISHA iD

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

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

Developers Summit 2023 セッションレポート(AD)

PR数から「SPACEフレームワーク」へ、技術組織の成長と共に進化した開発生産性の計測手法

【9-E-8】 定量評価疲弊しませんか? ~Well-beingと生産性指標を組み合わせたエンジニアリングメトリクスプログラムについて~

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

 技術組織のパフォーマンスを定量的に計測するにはさまざまな手法がある。どの手法でどのように評価するか、開発する内容や組織の成長段階よって異なってくる。ITエンジニア/デザイナーの副業・転職サービス「Offers」を開発・提供する株式会社overflowでも、組織の成長に合わせて定量評価の指標を進化させてきた。CTOである大谷旅人氏は「定量的な評価は組織を疲労させる」と、これまでの取り組みを紹介し、現在使用しているSPACEフレームワークについて解説してくれた。開発組織のパフォーマンス指標に興味がある人、組織をどのように評価すればいいのか検討している人のヒントになるだろう。

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

組織の成長段階に応じて変化した評価指標

 冒頭で大谷氏は「この6年の『Offers』開発組織の運営の中で起きたことをベースに、定量評価は組織を疲弊させるという話をします」とテーマを説明してセッションを開始した。

 ここでいう定量評価とは、『LeanとDevOpsの科学』という書籍に出てくるような技術組織の開発生産性を表す定量的な指標のことだ。代表的な指標として、Source lines of code(SLOC)やPR作成数・マージ数・d/d/d(deploys/a day/a developer)などがあるという。

 overflowでは、こういった指標を取り入れた結果、あらためて開発組織の健全性やチームの状態を把握するとは何なのかを考えることになった。

 では、実際にどのような評価指標を取り入れていったのだろうか。これには、次のように4つの段階があったという。

人数規模と指標の推移
人数規模と指標の推移

 最初の指標は、プルリクエスト(PR)のマージ数である。メンバーも5名程度と少なく、モニタリングに時間をかけられなかったため、この指標を採用した。具体的には、PRのマージ数を機能リリース数と仮定して、1カ月単位で振り返りを実施していた。

 「この指標は、測定が簡単で運用も楽でした。しかし、やはり1PRが1機能リリースとは限らないため、ブランチやPRの運用次第になってしまい数字が不安定になってしまいました。また、メンバー増減の効果を見づらいという側面もありました。PRの増加が、メンバーが増えたおかげかパフォーマンスが増加したおかげか区別できないからです」

 2番目に導入した指標がd/d/dである。これは、1日当たりのデプロイ回数を開発者数で割った数で、チームが拡大しても安定して機能提供できているか把握できる。

 どちらかというと推移を見る指標で、たとえば数値が下降傾向にあるのであれば1開発者あたりの生産性が上がってない、維持してるのであれば安定・停滞している、上昇傾向であればチームが順調に拡大してる、といった具合になるという。

 この指標は、メンバーの増減も考慮されており計測も比較的容易になっている。一方で、ボトルネックになっている要因が見えにくく、別の指標から要因を探る必要があった。

 「私たちの組織も、d/d/dを導入した時期は人員増加していたタイミングで、d/d/d/も上昇傾向で良い感じだと思っていました。しかし、ある時期から数字が大きく変動しなくなり、状態を把握する指標としては使えなくなりました」

 そこで2年ほど前からFour Keysという指標を導入した。これは、GoogleでDevOpsに関する研究開発を行っているDevOps Research and Assessment(DORA)チームがソフトウェア開発とチームパフォーマンスについて確立した指標で、デプロイ頻度・変更のリードタイム・変更障害率・サービス復元時間という4つの指標を用いる。この4つの指標が優秀なチームほど、ハイパフォーマンスでビジネス的にも競争優性が高い組織であるという分析結果に基づいて統計的な面から確立した組織評価を行う指標になっている。

 「この指標は、設計・実装・テスト・デリバリー・保守運用というフルサイクルフローを総合的に測るにはいい指標だと思います。あとエンジアニングプロセスの改善結果が数字に現れやすいのもいい面だなと思います。測定が比較的大変ですが正直あまり悪い印象はありませんでした」

 実際この指標を導入したことで各種プロセスの改善が進んだという。改善活動が結果の数値に結びつくためだ。また、Four Keysの内容が普遍的なものだと判断して、会社のnoteにも公開して広報的にも役立てている。

 こうしてチームのパフォーマンスが測定できるようになったので、これに加えて機能やプロダクトにフォーカスすることにしたという。そのために、SLO(Service Level Objectives:サービスレベル目標)とSLI(Service level Indicators:サービスレベル指標)を定義して、重要機能が継続的に改善・実行できているか観測している。

 Four KeysとSLO/SLIを同時に観測することで、チームとプロダクトの両面で持続可能な改善が行われてるか計測可能になったと大月氏は説明した。従来、属人的に行ってきたパフォーマンス劣化の対応にチームで対応できるようになったのだ。

開発生産性を総合的・多面的に見ていくSPACEフレームワーク

 Four KeysとSLO/SLIを組織的に導入していった結果、指標を人事評価にも使うようになった。メンバーの半期ごとの個人目標としてFour KeysやSLOの項目を設定し、目標数値の改善に取り組むようになったという。その結果、パフォーマンス改善タスクを実施するなどの成果もあった一方、改善目標に挙げた項目を無理やり間に合わせるような対応も見られた。

 この頃から、他社の事例なども調べるようになり、社会学者のドナルド・キャンベル氏が提示する「キャンベルの法則」を見たときに、「どつぼにハマっていた」と感じたという。

キャンベルの法則

 どのような定量的な社会指標も社会的意思決定に用いられると、その分だけ劣化圧力を受けやすくなり、追跡対象としていた社会的プロセスがゆがめられ、劣化する傾向が強まる。

 「指標の観測を意思決定に使っていった結果、追跡対象としていた行動自体が歪んでしまったのはないか」と大谷氏は振り返る。ビジネス価値につなげるため、開発生産性を数値化・可視化して評価することは重要だが、開発生産性をアウトプットのみから定量化して評価することが困難だと気づいた。

 アウトプットを生み出す背景には、充実感や満足感に関係するエンゲージメント、プロダクトの課題感にインパクトを与えるモチベーションやコラボレーションに関わるものなどがあり、むしろこちらを意識した方が開発生産性向上につながるのではないかという考えに至った。つまり、開発生産性を総合的・多面的に見ていく必要があるのだ。

開発生産性の背後にあるものを多面的に見ていく
開発生産性の背後にあるものを多面的に見ていく

 そこで参照したのが、『LeanとDevOpsの科学』の著者の一人であるニコール・フォースグレン氏が筆頭著者となり、2021年に発表したレポートで提言されていた「SPACEフレームワーク」だ。

 SPACEフレームワークでは、開発者の生産性は「重要な1つの指標」で把握することはできないとしている。そこで、下図の5つのカテゴリで計測し、個人・チーム・システムという複数のレベルで多面的にとらえていくというものだ。

SPACEフレームワークとは
SPACEフレームワークとは

 さらにSPACEフレームワークでは、各カテゴリについて3つの指標を取得する。このとき、少なくとも1つはアンケ―トデータなどの定性的指標を含めるという。

 5つのカテゴリから選ぶ判定基準は、チームや組織が何を重要とするかで選ぶべきだ。例えば、「Communication and collaboration」と「Efficiency and flow」はトレードオフの関係にあり、チーム内の交流を増やすとフロー状態に入り集中できる時間が減るという。そのために、組織の成長段階や文化によってあるべき姿に落とし込み、自分たちの組織やコンテキストに合わせて決めることが重要だと言われている。

 このようなSPACEフレームワークについて大谷氏は「これぞまさに求めていたもの」と感じ、現在は組織に導入するべく取り組んでいる。

SPACEフレームワークの導入で組織にもたらされた変化

 overflowでは、SPACEフレームワークの5つのカテゴリのうち、3つのカテゴリを重要指標として運用している。

 1つめは「Satisfaction and well being」とし、満足度・充実度を測定する。2つめは「Communication and collaboration」とし、メンバー間のコミュニケーションやコラボレーション具合を測っている。3つめの「Activity」ではこれまで同様Four Keysを指標として見ている。

overflowで選択した3つの重要指標
overflowで選択した3つの重要指標

 「この3つを選択した理由は、すでに私たちの組織は拡大し、がむしゃらに作るフェーズではなくなっているからです。提供している機能も増えて、議論しながら磨き上げていくことが重要だという判断から、満足度や充実度、コミュニケーションとコラボレーションというカテゴリを選びました。同時に、安定的に機能をリリースしていくことも変わらず重要だとしてFour KeysやPR数も測定しています」

 具体的な測定方法として、次の4つの調査を実施しているという。

 1つめはコンディションサーベイ。これは、業務難易度・タスク量・会社やプロダクトを勧められるかといったアンケートに回答してもらうものだ。個人が特定されるような内容の開示はせず、全社の平均値や全体スコアを元にした影響を観測し、定量指標にプロットしている。

 2つめは開発者アンケ―ト。日々の業務におけるトイルやペイン、オンボーディングのコスト、会社としてのツールのサポート状況などをアンケートで収集する。そしてSREタスクとして棚卸して順次対応することによって、トイルとペインの減少状況を確認していく。

 3つめは、コミュニケーション相関関係図により組織の状態を見ていくこと。Slack上のやり取りを可視化できるようにし、誰と誰のつながりが強いのか、つながりが薄いメンバーがいないかなどを把握するという。こうした情報を、入社したばかりのメンバーのフォローや、副業で参画しているメンバーのエンゲージメントの高さを確認し、転職の声掛けなどにも活用している。

 さらに4つめとして、従来のFour KeysとGitHubでのアクションなども計測している。

 では、SPACEフレームワークに基づいた指標を測定するようになり、組織はどのように変化したのだろうか。

 一つは属人的に見ていた相関の発見ができたこと。たとえば、コラボレーション力・巻き込み力が高い人ほどインパクトのあるアウトプットを生み出しやすいが、リードタイムが長い傾向が見られるという。また、コミュニケーションをフォローすることで満足度が向上し、それが行動数の増加につながり、大きな成果を生み出していると考えられる。トイル・ペインの解消という点では、アンケートで上がった項目に対応していった結果、数カ月後にFour Keysの向上に繋がるといった弱い相関が見えてきたといった具合だ。

 もう一つは、チームや個人に則したデータに基づく組織改善ができたこと。従来、1on1やアンケートを基に組織をフォローしてきたのだが、そのフォローした結果が定量的にどうなったのか特に気にしていなかった。それが、現在は測定したデータに基づいて効果を把握しやすくなっているというのだ。

SPACEフレームワーク導入で見えてきたもの
SPACEフレームワーク導入で見えてきたもの

 こうした事柄の相関発見は、大谷氏や他のマネージャがこれまでの経験から属人的に予測していたが、定性的な調査や数値を継続的に把握することで裏付けしやすくなってきたと、その効果を強調した。

 最後に大谷氏はセッションの内容を次のようにまとめた。

 「開発生産性を定量的に測定するのは大切なことですが、組織的な副作用もあります。そのため、Well-beingを意識した状況把握も組み合わせて多面的に把握することが大事です。SPACEフレームワークは柔軟な運用が可能なので、チームや組織で何が重要なのか自分たちのフェーズに合わせて決めるのが良い使い方だと思います」

 なお、セッション内で紹介したいくつかの機能を、overflowが提供する「Offers MGR(オファーズマネージャー)」で提供できるようオープンβ版の事前登録を行っていると伝え、セッションを終了した。

プロダクト開発組織の管理・マネジメントにおすすめ!

 「Offers MGR」は、プロダクト開発組織の生産性向上を支援するサービスです。SlackやGitHub、Figma、Notion、Jiraなど開発業務で利用するサービスからデータを抽出し、個人やチームのアウトプットを可視化することで、作業効率の見直しや個々のモチベーション管理に役立てることができます。

 ぜひ「Offers MGR」公式サイトからお問い合わせください。

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

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

提供:株式会社overflow

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

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

この記事をシェア

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

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング