COLUMN
2021年10月29日
#メトリクス/ソフトウェアメトリクス – 知ったかテックワード!君もIT博士
カテゴリー:知ったかテックワード
タグ:システム開発, プロジェクト管理, 基本用語
カエルの解説
メトリクス(Metrics)とは、測定基準や計測・尺度などを意味する「Metric」の複数形。ジャンルによって意味は違ってくるけど、システム開発で「ソフトウェアメトリックス」(ソフトウェア測定法)というと、ソフトウェアの品質や開発プロジェクトの進捗状況などを定量的に測定して管理のための指標にすることを指す。また、このような指標を開発プロジェクトの進捗管理に利用することを「メトリックス管理」と呼ぶんだ。
ソフトウェアメトリックスでは、次のような指標を測定する場合が多い。
- 複雑度:循環的複雑度、ファンクションポイントなど
- 保守性:結合度、凝縮度など
- 規模:コード行数
- プロジェクト進捗:信頼度成長曲線(バグ曲線)
こうした指標は、対象プログラムを実行することなくソースコードを解析することから「静的コード解析」と呼ばれるよ。
ソフトウェアの品質を高める工夫はこれだけではないけど、定量的な指標があることで改善したり目途を着けたりしやすくなるよね。
一方で、こうした指標がソフトウェア開発にどのように役立つのかといった批判がある。たとえば、ソフトウェア開発の生産性をコード行数で測定しようとすると、エレガントで短いコードを書くより、無駄に長いコードを書くほうが生産性が高くなってしまう、といった具合だ。
こういった批判に応えるなかで、「アジャイル開発」が登場してとも言えるかも。
関連ページ
おまけのコント
ウサギ:メトリクスというと、人工知能が支配する仮想現実が思い浮かぶよね。
カエル:そんな映画あったね。
ウサギ:住人は、そこで生活してると思いこんでいるだけ。
カエル:実は、強制的に仮想現実に接続させられているんだよネ。人間も大変だね。
ウサギ:いや、人間だけじゃないヨ。
カエル:どういうこと?
ウサギ:他の動物も、強制的に接続させられているんだ。
カエル:ウソ!動物は3DCGとシミュレーションで良くない?
ウサギ:ウサギは、仮想世界で人間の愛玩動物として暮らしている。
カエル:カエルは!?カエルはどうなっているの!?
ウサギ:オタマジャクシのときから、3Dゴーグルを付けて。
カエル:ひぇー、軽くホラーじゃん。
ウサギ:成長すると、近所の池で泳いだり日向ぼっこしたり、しているつもりになってる。
カエル:・・・・それなら、いいか。