活動報告

専門家コラム「GQMアプローチの紹介」(2025年6月)

はじめに

筆者はソフトウェア開発組織でソフトウェアプロセス改善に取り組んでいた経験があります。簡単にいうと、ソフトウェア開発・保守活動の改善を、技術の開発・導入ではなく、主にプロセス面(例えば、プロジェクト管理のやり方など)から向上させていく取り組みです。

本記事では、ソフトウェアプロセス改善で利用していた、ソフトウェア開発プロセスなどを定量的に評価するためのアプローチのひとつである、GQMアプローチ(以下、単に「GQM」と省略)を紹介します。

GQMの概要

GQMが提唱された背景

GQMは「Goal – Question – Metric」の頭文字をとった用語になります。GQMは1990年台にはメリーランド大学のVictor Basili氏などによって提唱・推進されており、当初はソフトウェア開発のプロセスを定量的に評価・改善するためのアプローチとしていました。

一般的な製造業の製品と異なり、ソフトウェアは物理的な実体がありません。そのため、開発の進捗状況や成果物の品質などを物理的に確認して評価することが難しいという特徴があります。

開発プロセスや、物理的実体のない成果物の品質をどのように評価するか、それも客観的な評価や継続的な比較・改善に適した定量的な評価をどのように可能にするか、ということがソフトウェアプロセス改善では重要な課題になります。GQMは、このような課題に応えるためのアプローチとして用意されました。

GQMで構築する測定モデル

ソフトウェアやその開発プロセスでは、測定可能な項目は多数(例えば、作業期間、欠陥数、欠陥の深刻度、コードの複雑度、コード行数、など)あります。ただし、どの項目を使用し、その測定結果をどのように解釈するかは、測定時の目的・状況などを適切に理解したうえで行う必要があります。

GQMは、ゴールからトップダウンで測定項目を導き出すことで、ゴール達成の判断に役立つ適切な定量的評価を試みます。GQMでは目的・状況などに対応する、以下の要素から測定モデルを構築します。

図表 1 GQMで構築する測定モデルの構成要素

上述の構成要素は、下図のようにGoalを最上位にした階層構造になります。直接的には定量的な評価が難しいGoalに対しても、Question、Metricへと落とし込むことで、Goal達成の判断に役立つ測定項目・評価指標を分かりやすく設定することができます。

図表 2 GQMの測定モデルの階層構造(例)

GQMの測定モデル構築を支援するツール

GQMの考え方自体はそれほど複雑なものではないですが、実際に導入するとき、Goalなどの検討を支援するためのツールが考案されています。

本節では、経験的にも役立ったツールを紹介します。GQMを導入し改善活動などを進めるチーム・担当者にとって役立つだけでなく、実際に導入するときに開発現場などへGQM導入の目的・概要などを説明し理解を得るときにも役立つツールです。

Goal検討用のテンプレート

Goalに関してはBasili氏の記事やGQMを取り上げた発行物などで、検討にあたり考慮すべき点が紹介されています。それらを参考にして、下表の項目を記入するようなテンプレートを用意すると、経験的には役に立ちました。Goalを検討するときに、最初に着手する点を見つけたり、最終的に明確にしておきたい点を押さえたりするため便利でした。

図表 3 Goal検討用テンプレートの項目

表の「No.」で示す各番号の項目について、「[ 4 ]が、[ 2 ]のために、[ 3 ]に焦点を当てて[ 1 ]を測定・分析する」という文章を作れるような内容を考えると、わかりやすく使いやすいGoalを設定しやすくなります。

GQM要約シート(GQM abstraction sheet)

GQM要約シートは、GQMで構築した測定モデルの概要を1ページでまとめたシートになります。GQMに関する発行物やGQM導入の事例報告で、GQM要約シートが紹介されています。発行物などからの図の直接の引用は控えますが、GQM要約シート利用時は、オリジナルの内容を参考にして主に以下の項目を用意し、GoalをQuestionやMetricまで落とし込んだ内容をまとめていました。

図表 4 GQM要約シートでまとめる項目

Goalから上述の項目に落とし込むことで、単にQuestionを列挙するだけでなく、GoalとQuestionの関係を「変動要因」などで整理できます。さらに、「測定結果の仮説」を整理することで、現実的な測定項目であるかも確認できます。

また、Goalに紐づくQuestionやMetricを1枚のシートでまとめることで見通しよく測定モデルの全体像を確認できるようにもなります。

実際のレイアウトは、導入事例の紹介記事などをみると確認できます。本記事作成時は、例えば以下の記事で確認できました(執筆中にみつけただけで、リンク先記事を推奨しているわけではありません)。

Adopting GQM-based measurement in an industrial environment(PDFファイル)

経験則ですが、実用的には、上述した内容を1枚のシートにまとめてさえいれば、レイアウトはあまり拘らなくても十分役立つと思います。

GQMの利点

GQMの主な利点について、経験からは以下の点が挙げられます。

1.ゴールからトップダウンで整合性のある測定項目・評価指標まで落とし込める
ゴールを明確にしたうえで、ゴールとの関係を明確にしながら測定項目・評価指標まで落とし込めるため、目的がよく分からない測定項目を設定し、結局役に立たないデータの収集に不毛な工数を費やすことを避けられます。

また、ゴールと測定項目との関係性を明確にできると、実際のデータ収集時には多少の追加負担が生じる現場の担当者に対しても理解を得やすくなります。

2.組織・プロジェクト固有の状況に合わせて柔軟に調整できる
同じGoalに対しても、組織やプロジェクトの状況に応じてQuestionやMetricを調整できるアプローチになっており、様々なニーズに応えて導入しやすいものになっています。

まとめ

本記事では、GQMの概要と、導入にあたり役立つと考えられるツールについて紹介しました。

既に説明したとおり、GQM自体は30年以上前の1990年台には提唱され実用されていたものになります。ただ、そのアプローチや考え方は、現在でも通用するものであり、またソフトウェア開発以外にも応用できるものだと考えています。

本記事の内容に少しでも興味を持ち、さらにはゴールの定量化といった業務上の課題に少しでも役立たせた方がいらっしゃれば幸いです。

<略歴>
静永 誠
メーカー系・独立系ソフトウェアハウスで、開発工程全般の実務に携わったほか、航空宇宙業界のソフトウェア開発プロセス調査や自動車業界でプロセスアセスメント、ソフトウェアベンダーでのアジャイル開発の推進など、開発プロセスの改善や標準化に従事。近年は開発者としてスクラムを利用した開発も推進している。

PAGE TOP