GoalQuestionMetric (GQM)
Lecture # 41
1
Steps of GQM Framework
• List the major goals of the development or
maintenance project
• Derive from each goal the questions that
must be answered to determine if the goals
are being met
• Decide what must be measured in order to be
able to answer the questions adequately
2
• By deriving the measurements in this way,
it becomes clear how to use the resulting
data
3
• Suppose your overall goal is to evaluate the
effectiveness of using a coding standard
• First, it is important to know who is using
the standard, so that you can compare the
productivity of those who do not
• You would also want to compare the quality
of the code produced with the standard with
the quality of nonstandard code
4
• Second, you must analyze each question to
determine what must be measured in order
to answer the question
5
• For example, to understand who is using the
standard, it is necessary to know what
proportion of coders is using the standard
• It is also important to have an experience
profile of coders, explaining how long they
have worked with the standard, the
environment, the language, and other
factors that will help evaluate the
effectiveness of the standard
6
• The productivity question requires a
definition of productivity, which is usually
some measure of effort divided by some
measure of product size (in LOC, FPs, …)
• Quality may be measured in terms of the
number of errors found in the code, plus
any other quality measures that you would
like to use
7
• In this way, you generate only those
measures that are related to the goal
• In many cases, several measurements may
be needed to answer a single question
• Likewise, a single measurement may apply
to more than one question
• The goal provides the purpose for collecting
the data, and the questions tell you and your
8
project how to use the data
Deriving Metrics from Goals and
Questions
9
Deriving Metrics from Goals and
Questions
GOAL: Evaluate effectiveness of coding standard
QUESTIONS: Who is using
standard?
METRICS:
Proportion
of coders
using
standard
using
language
What is coder
productivity?
What is code
quality?
Code
Effort
Experience
Size (LOC,
of coders
FPs, etc.)
with
standard
with
language
with
environment,
etc.
Errors…
10
GQM Approach
11
Goal Question Metric Approach
• The Goal Question Metric (GQM) approach
is based upon the assumption that for an
organization to measure in a purposeful
way
– it must first specify the goals for itself and its
projects, then
– it must trace those goals to the data that are
intended to define those goals operationally,
and finally
– provide a framework for interpreting the data
12
• The result of the application of the Goal
Question Metric approach is the
specification of a measurement system
targeting a particular set of issues and a set
of rules for the interpretation of the
measurement data
13
• The resulting measurement model has three
levels:
– Conceptual
– Operational
– Quantitative
14
Conceptual Level (Goal)
• A goal is defined for an object, for a variety
of reasons, with respect to various models
of quality, from various points of view,
relative to a particular environment
• Objects of measurement are
– Products
– Processes
– Resources
15
• Processes
– Software related activities normally associated
with time; E.g., specifying, designing, testing,
interviewing
• Products
– Artifacts, deliverables and documents that are
produced during the system life cycle; E.g.,
specifications, designs, programs, test suites
• Resources
– Items used by processes in order to produce
their outputs; E.g., personnel, hardware,
software, office space
16
Operational Level (Question)
• A set of questions is used to characterize
the way the assessment/achievement of a
specific goal is going to be performed based
on some characterizing model
• Questions try to characterize the object of
measurement (product, process, resource)
with respect to a selected quality issue and
to determine its quality from the selected
viewpoint
17
Quantitative Level (Metric)
• A set of data is associated with every
question in order to answer it in a
quantitative way
• The data can be
– Objective
– Subjective
18
Objective Data
• If they depend only on the object that is
being measured and not on the viewpoint
from which they are taken; E.g., number of
versions of a document, staff hours spent on
a task, size of a program
19
Subjective Data
• If they depend on both the object that is
being measured and the viewpoint from
which they are taken; E.g., readability of a
text, level of user satisfaction
20
• A number of templates are available to aid
in generating the goals, questions, and
metrics
21
Template for Goal Definition
22
Template for Purpose
• To (characterize, evaluate, predict,
motivate, etc.) the (process, product, model,
metric, etc.) in order to (understand, assess,
manage, engineer, learn, improve, etc.) it
• Example: To evaluate the maintenance
process in order to improve it
23
Template for Perspective
• Examine the (cost, effectiveness,
correctness, defects, changes, product
measures, etc.) from the viewpoint of the
(developer, manager, customer, etc.)
• Example: Examine the cost from the
viewpoint of the manager
24
Template for Environment
• The environment consists of the following:
process factors, people factors, problem
factors, methods, tools, constraints, etc.)
• Example: The maintenance staff are poorly
motivated programmers who have limited
access to tools
25