ソフトウェアエンジニアリング指標とは
ソフトウェアエンジニアリング指標とは、ソフトウェア開発のプロセス、 プロダクト、チームの品質、効率、影響を評価し、追跡し、改善するために用いる定量的な尺度です。うまく使えば、 体系的な診断ツールとして働きます。運用上のボトルネックを明らかにし、技術的負債の返済を正当化し、 エンジニアリング活動を具体的なビジネス成果に結びつけます。下手に使えば、行動を歪め、信頼を損ない、 まさに間違ったものに報いることになります。
この本が存在するのは、多くのチームが、指標が何のためにあるのかを決める前に指標に手を伸ばすからです。 ダッシュボードは数えやすいものすべてで埋まり、経営陣は「この数字は上がったのか下がったのか」と尋ね始め、 四半期のうちにチームは、数字が表すはずだった成果ではなく、数字そのものを最適化し始めます。この失敗には名前があります。 グッドハートの法則です。測定が目標になると、それは良い測定ではなくなります。 この本のすべてのトピックは、この法則を背後に置いて書かれています。
2つの基礎的フレームワーク
業界は、エンジニアリングのデリバリーとチームの健全性を測るために、研究に裏づけられた2つのフレームワークにおおむね収れんしてきました。
DORA指標(DevOps Research and Assessmentプログラムによるもの)は、 システムのスループットと安定性を測ります。デプロイ頻度、変更のリードタイム、変更失敗率、失敗したデプロイからの復旧時間です。 この本の第2部は、この4つを専用のリファレンス・トピックで扱い、デリバリーとフローの指標をより広く整理するために使う フロー・フレームワーク(Flow Framework)も併せて取り上げます。DORAはパイプラインの仕組みをよく測りますが、 パイプラインにどんな種類の価値が流れているかについては何も語らないからです。
SPACEフレームワークは、Microsoft、GitHub、 ビクトリア大学の研究者が作ったもので、生のスループットを、開発者体験の5つの次元で釣り合わせます。満足度と ウェルビーイング、パフォーマンス、活動、コミュニケーションとコラボレーション、効率とフローです。第3部で詳しく扱います。
この2つのフレームワークのほかに、チームは領域ごとにまとめたローカルな指標を追跡します。コードと品質の指標(第4部)、 製品とビジネスの指標(第5部)、信頼性・運用・セキュリティの指標(第6部)です。第7部は、すでに進行中の変化を扱います。 生成AIツールによって生のコード出力がほぼ無料になり、業界が10年にわたって頼ってきたいくつかの指標が、 かつての意味を持たなくなったということです。
想定読者
主な読者は、チームが何をなぜ測るかを選ぶ人たちです。エンジニアリングリーダー、スタッフ/プリンシパルエンジニア、 プラットフォームやDevOpsのチーム、そして初めて指標ダッシュボードやスコアカードを作る、 あるいは行動を歪め始めたものを立て直すプログラム/プロダクトマネージャーです。副次的な読者は、 自分の組織がなぜそれを追跡しているのか、指標が悪用されたときにどう異議を唱えるのかを理解したいすべてのエンジニアです。
読み方
ここから始め、本の構成を知るためにはじめにを読むか、直接目次に進んでください。 各トピックは単独で成り立ちます。まず原則を述べ、具体的な推奨を示し、扱う指標がどう操作されるかを名指しし、 成熟度モデル、ディスカッションの問い、参考文献で終わります。使うために、本を端から端まで読む必要はありません。