- 生産性 = どれだけ少ない資源でどれだけ高い価値を届けられたか - 生産性 = アウトプット / インプット - 使った資源は時間(開発時間、リードタイム)、お金(人件費、その他コスト)などで計測可能 - 生産性のアウトプット - 開発生産性の3つのレイヤー - レベル1:仕事量 - 開発チームのアウトプット、エンジニアの仕事量 - ゴミを大量に作っている可能性もある - この生産性が高ければレベル2以降の生産性も高いとは言えない - レベル2:期待付加価値 - プロダクト開発組織のアウトプット - リリース数やリードタイムなど - レベル3:実現付加価値 - アウトカム、売上やKPIへの貢献 - 遅行指標になるためリアルタイム評価には不向き - [[📎開発生産性について議論する前に知っておきたいこと]] - 開発生産性を測定するための指標 - Four Keys - SPACE - d/d/d - PRマージ数・時間 - 生産性のインプット - 労働人数 - 開発している人数 - 兼務していると週1日コミットとかあるので注意 - 労働時間 - 人月/人日 - シニアの1日もジュニアの1日も同じ1日な点に注意 - 開発人件費 - シニア/ジュニアを区別するためには人件費で計算すればOK - ツールを利用して効率化した場合ツールの利用料は計算に入らない点に注意 - 総事業コスト - 人件費だけでなくツール利用料なども込みで開発にかかっているコストで計算するパターン - 開発だけにするかマーケティングなど全ての費用を対象にするかという選択肢がある - 「高い価値を届けられるソフトウェア」をどう定義するか - PRの数やコードの行数で計測する - 定量化しやすいが本当に高い価値を届けられているかは不明 - KPIへの貢献度で評価する - ソフトウェア以外の変数が入ってくるため正しい計測できているかわからない - 遅行指標になるので計測に時間がかかる - 計測はあくまで可視化・モニタリングのためと割り切り、この指標の改善自体を目標にしないことが大事 - [[開発生産性の指標を振り返りにどのように活かすか]]