GQM (Goal, Question, Metric) の概要
GQMはメリーランド大学のビクター・バシリ教授によって開発された
ソフトウェア工学における計測のためのフレームワークおよびモデル化手法です。この手法は、無目的にデータを収集することなく、計測を目的に基づいて行うことを推奨しています。
GQMの構成要素
GQMは、計測のために3つの層から成るモデルを提案しています。これらはゴール層(G)、クエスチョン層(Q)、メトリクス層(M)です。
1. ゴール層 (G)
目的の定義を行う層であり、何のために測定を行うのか、測定対象は何か、そしてどのような観点やコンテキストに基づいて計測をするのかを明確にします。
2. クエスチョン層 (Q)
前述のゴールを達成するために評価すべき具体的な質問を定義する層です。これはゴールが達成されたかどうかを判断するための基準となります。
3. メトリクス層 (M)
質問に対する答えを得るための測定可能な指標を定義する層です。ここで決定されたメトリクスは、適切なデータを収集するための基盤となります。
相互関係
各層の要素同士は多対多の関係にあり、一つのゴールが複数の質問に関連付けられる一方で、異なるメトリクスが同じ質問に対して用いられることもあります。この特性がGQMの柔軟性をもたらします。
GQM法のプロセス
GQM法の実施は、次の6つのステップに分かれています。まず初めの3ステップはゴール、質問、メトリクスを決定することから始まり、残りの3ステップではデータ収集と結果利用に焦点を当てます。
1. ビジネスゴールとそれに関連する計測ゴールを設定する。
2. 計測ゴールを基にして定量的な質問を作成する。
3. 質問に対する答えを得るために必要な指標を定める。
4. データ収集の準備を行う。
5. データを収集し、検証・解析をリアルタイムで実施し、必要に応じてプロジェクトにフィードバックする。
6. 測定終了後に結果を詳しく解析し、ゴール達成の可否を判断し、今後の改善策を提案する。
ゴールの定義
GQM法においてゴールを定義することは極めて重要であり、
ステークホルダーのニーズに基づいて正確な測定ゴールを設定することが求められます。このプロセスを通じて、効果的な計測を実現するための意義ある議論が行われます。バシリ教授は、ゴール定義を標準化するために5つの具体的な要素を含むテンプレートを提案しています。これには対象物、目的、フォーカス、
ステークホルダー、コンテキストが含まれます。
GQMの応用
GQMはその明快な枠組みと高い記述力により、ソフトウェアエンジニアリングのさまざまな場面で広く応用されています。特にエンピリカル
ソフトウェア工学の研究では、この手法を用いて研究目的が明確に記述されることが一般的です。
このように、GQMは計測プロセスを根本から見直し、効率的かつ有意義なデータ収集を促進する一連の方法論を提供しています。