Goal-Driven Software Measurement

ソフトウェアプロセスの測定と分析関係で、色々と作業。
CMMIだとML2のMA(測定と分析)とML4のQuantitatively Managedが直接示されている測定と分析関連ですけど、
CMMIそのものがデータ蓄積と活用を基にしたプロセス改善なので、
測定と分析は非常に多くの箇所に散りばめられています。


プロセスを作っているとプロセスの測定と分析に関しては、「データ収集」だけに留まってしまう事が非常に多い。
だから、実際に分析しようとするとできなかったり、そもそも何の為にそのデータ取っているの?
という事になってしまうんですよね。


「(1)見積もり→(2)実作業→(3)測定→(4)分析→(5)フィードバック」
という流れが必要なのは頭では分かっているつもりでも、ついつい(2)から始めて(3)までで止まってしまう。(--;
プロセス改善を始めた当初だと、アクティビティの手順もなかなか定まっていないからデータも揺らぎが大きくて、
「測定と分析なんて大層な事をしなくても見れば分かるじゃん」となりがち。


それで改善続けていくと、「結構良くなったな・・・さて、これからどうやってより細かく改善しようか?」
となり測定と分析のプロセスを盛り込んだプロセスを再構築するしかなくなってしまうんですよね。
その為にCMMIではML2でMAを取り上げているんでしょうけど・・・分かり難いよね。(^^;


最近は、ソフトウェアの測定と分析をもうちょっと真正面から取り組まねば、と時間効率から先人の知恵は活かす為に
SEIのSEMA(Software Engineering Measurement and Analysis)を色々と漁ってます。

その中では、Goal-Driven Software Measurementは、ここで整理するのは面白いかも。

  1. ビジネスゴールの特定
  2. ゴールの達成の為に必要な知識/データの特定
  3. 短期的なゴールの特定
  4. エンティティと特性の特定
  5. 測定のゴールの規定
  6. 測定の為の質問や指標の特定
  7. データ要素の特定
  8. 測定値と指標の定義と文書化
  9. 測定の実施の為の活動の特定
  10. 計画の準備

Goal-Driven Software Measurementは、上記の手順で実施される測定と分析の手法です。
通常だと「取得できる目先のデータ」から「測定と分析という名のただのデータ収集」が実施されるソフトウェア
開発プロセスにおける測定と分析を、明確なビジネスゴールをベースにして実施するというもの。


この手法により、筋道を立てて測定と分析の活動の実施と、無駄な測定/分析活動を減らす効果を期待するわけ。
でも、なかなかこれが上手くいかないよな〜、と。