見出し画像

メトリクスってなんなの?(ソフトウェア分析)

単数形のメトリックは、その本来の意味はメートル法のことですが、それから発展して、何らかの測定基準や評価指標を指します。健康診断のメトリクスには身長や泰淳、それにメタボ基準があります。ソフトウェアメトリクスはソフトウェア開発・製品に関するメトリクスで、例えば、ソフトウェア規模を計測するメトリクスには、SLOC(ソースコード行数)やFP(ファンクションポイント)の基準があります。アジャイル開発などが流行するにつれ、メトリクスもそれに対応する必要があります。引用元:IPA ソフトウェア開発分析データ集 FAQ

メトリクスってなんなの?

メトリックス metrics の単数形であるメトリック metric の本来の意味は「メートル法」のことです。そこから発展してメトリクスは「測定基準」やさらに上位概念の「評価指標」のように辞書に書かれています。
 
測定基準としては、何らかの目的のために、何をどのように測定し、測定値をどのように扱うかなどの基準があります。
 
例えば、健康診断のときは、対象者の健康を診断するために、身長や体重、血圧などを機械的に測定します。そしてこれらの測定値を過去の統計から、問題のない健康な状態にあるかを判断するための情報にします。これが健康診断のメトリクスです。

ただし人によっては、データそのものをメトリクスと呼んでいる、無謀な場合もありますので、文脈でメトリクスの意味を判断してください。

ソフトウェア規模のメトリクスはだめ

ソフトウェア開発プロセスやソフトウェア製品(プロダクト)のメトリクスを考えていきます。ここでは簡単にプロセスメトリクスとプロダクトメトリクスと呼ぶようにします。

ソフトウェア規模はプロセスとプロダクトの両方のメトリクスで扱う基本的な測定量ですが、基本的な規模でさえ、そのメトリクスは簡単に決まらずに難しいものになっています。つまりソフトウェア規模をどのようなもので測定するのかですが、伝統的なものとしてはSLOC(Source Lines Of Code、ソースコード行数)やFP(Function Point、ファンクションポイント)があります。

しかしアジャイル開発などの作っては壊しを繰り返す開発、ノーコード/ローコード開発やOSS、COTSなどのパッケージ利用開発では、プロセスメトリクスとしてのソフトウェア規模をSLOCやFPで測定するのが意味を持たなくなってきています。

ソフトウェアの規模をそのソフトウェアがもたらす価値で測定するのがいいと言われていますが、そのメトリクスは確立されていません。みんながそうできればいいなという幻想を抱いている状況です。基本的な規模でさえ、こうっているのは、上司や顧客には秘密です。

品質メトリクスもだめ

ソフトウェア品質を測定するメトリクスもまだまだです。リリースした後の実運用中の不具合は問題になりますので、どこでも測定しているデータです。この運用中の不具合のメトリクスも組織によってばらばらです。もしかしたら、同一組織内でもメトリクスは定義されていても、実際はばらばらかもしれません。

運用中の不具合は状況によって、社長が謝る必要がある致命的な不具合から、放置プレーで済む軽微な不具合までを区分していることが多いですが、そのメトリクスは恣意的なものが多いです。つまりもはやメトリクスではなく、勘や経験による目分量です。

IPA/SECによるメトリクスの統一

ソフトウェアメトリクスは組織内で統一するために、組織内で通じるメトリクスを各組織が作って運用していました。しかし、そのメトリクスは組織によって、用語からばらばらです。

そこでソフトウェアメトリクスを統一するために、立ち上がったのが2004年のIPA/SEC(情報処理推進機構 ソフトウェアていました。センター)です。ここで作成している「ソフトウェア開発データ白書」の活動の中で、ソフトウェアメトリクスを統一し、日本の各社から実際のデータを収集しました。

なお私は当時、データ白書の委員としてこの活動に参加していました。IPA/SECの活動では、毎回30名以上の会議を毎月開催し、合宿も行いました。何もかもみな懐かしい。

IPA/SECで統一したメトリクスはウォーターフォール開発をベースにしたプロジェクトメトリクスで、ウォーターフォールの各工程でのメトリクスを統一しました。・・・残念ですがアジャイルでないことに注意してください。

この活動は2022年の「ソフトウェア開発分析データ集2022」まで継続していくことになります。私は2019年からIPAの責任者として活動することになりました。宿命かも。

そして、このメトリクス統一の反応は大きいものでした。例えば、最新のソフトウェア開発分析データ集2022(2022年9月公開)では、累算で15万ダウンロードされています(2024年5月31日時点)。またメトリクスに関する問い合わせも多く、最近(2019年~2024年)でも年間30件程度の問い合わせがきています。

ダウンロードや問い合わせをしていただいた皆様、ありがとうございます。

ソフトウェア開発分析データ集2022
https://www.ipa.go.jp/digital/chousa/metrics/metrics2022.html

新しいメトリクスの統一に向けて

しかし最初にも書いたように、今のアジャイルやパッケージ利用開発が多用される時代には合わなくなってきているのも事実です。今の時代に合う新しいメトリクスが必要です。その統一は今まで以上に困難で、もしかしたらできないかもしれません。必要とされないかもしれません。

しかし一方でウォーターフォール開発がなくなるわけでもなく、ハイブリッドな開発になっていくことから、従来のメトリクスと新しいメトリクスの融合が必要になってくるでしょう。このために、このNOTEでも考えていくようにしたいと思います。

ということで今日の結論。「メトリクスはハイブリッド」 以上です。

以下のグループで今回のメトリクスに関する情報を紹介しています。
ソフトウェア研究会「とある技術のソフトウェアエンジニアリング」 | Facebook

引用:ソフトウェア開発分析データ集2022 | 社会・産業のデジタル変革 | IPA 独立行政法人 情報処理推進機構

よろしければサポートをお願いします!