Tải bản đầy đủ (.pdf) (57 trang)

Lecture Software process improvement: Lesson 41 - Dr. Ghulam Ahmad Farrukh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (356.45 KB, 57 trang )

Goal­Question­Metric (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 non­standard 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


×