GQM - Software Engineering I - University of Southern California

University of Southern California
Center for Systems and Software Engineering
GQM, GQM+
Supannika Koolmanojwong
CSCI577 Spring 2013
(C) USC-CSSE
1
University of Southern California
Center for Systems and Software Engineering
Project Tracking
• Goal-Question-Metric
• Goal-Question-Metric +
(C) USC-CSSE
2
University of Southern California
Center for Systems and Software Engineering
GQM paradigm
http://thecriticalpath.info/tag/gqm/
(C) USC-CSSE
3
University of Southern California
Center for Systems and Software Engineering
Goal-Question-Metric: What?
• Promoted By Victor Basili, University of Maryland
Software metric approach
• Captures measurement on three levels
– Conceptual level (goal)
• Defined for an object
– Operational level (question)
• Define models of the object of study
– Quantitative level (metric)
• Metrics associated with each question in a measurable
way
(C) USC-CSSE
4
University of Southern California
Center for Systems and Software Engineering
Goal-Question-Metric: Why?
• Used within context of software quality
improvement
• Effective for the following purposes:
–
–
–
–
Understanding organization’s software practices
Guiding and monitoring software processes
Assessing new software engineering technologies
Evaluating improvement activities
(C) USC-CSSE
5
University of Southern California
Center for Systems and Software Engineering
Goal-Question-Metric: How?
• Six-step process
1. Develop a set of corporate, division, and project business
goals
2. Generate questions defining those goals
3. Specify measures needed to be collected to answer
questions
4. Develop mechanisms for data collection
5. Collect, validate, and analyze data. Provide feedback in realtime
6. Analyze data in post mortem fashion. Provide
recommendations for future improvements.
(C) USC-CSSE
6
University of Southern California
Center for Systems and Software Engineering
To create Goal
• Build a sentence addressing each topic
– “…object, purpose, quality attribute, perspective/viewpoint,
environment …”
“ Analyze the unit test process to understand the impact of
adding additional tests to project A from the viewpoint of the
project manager.”
Object – unit test process
Purpose – understand
Focus – impact of adding additional tests
View point - project manager
Environment – Project A
http://sqgne.org/presentations/2007-08/Dow-Nov-2007.pdf
(C) USC-CSSE
7
University of Southern California
Center for Systems and Software Engineering
http://sqgne.org/presentations/2007-08/Dow-Nov-2007.pdf
(C) USC-CSSE
8
University of Southern California
Center for Systems and Software Engineering
http://sqgne.org/presentations/2007-08/Dow-Nov-2007.pdf
(C) USC-CSSE
9
University of Southern California
Center for Systems and Software Engineering
GQM example
Goal 1
[1] Purpose
[2] Issue
[3] Object (process)
[4] Viewpoint
Maintain
a maximum level of
customer satisfaction
from the Help Desk user’s viewpoint
Question 1
What is the current help desk ticket trend?
Metrics 1
Metrics 2
Metrics 3
Metrics 4
Metrics 5
Number of help desk tickets closed
Number of new help desk tickets
% tickets outside of the upper limit
Subjective rating of customer satisfaction
Number of new help desk tickets open
Question 2
Is the help desk satisfaction improving or
diminishing?
Metrics 6
Metrics 7
Metrics 8
Metrics 9
Number of help desk calls abandoned
Number of help desk calls answered
Number of help desk calls sent to voicemail
Subjective rating of customer satisfaction
http://thecriticalpath.info/tag/gqm/
(C) USC-CSSE
10
University of Southern California
Center for Systems and Software Engineering
GQM Example
(C) USC-CSSE
http://www.goldpractices.com/practices/gqm/
11
University of Southern California
Center for Systems and Software Engineering
GQM Example
AT&T developers was evaluating effectiveness of software inspections.
•
The main task was cost-benefits analysis of the inspections. (amount of
effort expended per thousands of lines of code reviewed)
Goal
Plan
Monitor and
control
Question
How much does the
inspection process cost?
How much calendar time does
the inspection process take
Metrics
Average effort per KLOC
Percentage of the reinspections
Average effort per KLOC
Total KLOC inspected
Average faulted detected per KLOC
What is the quality of the inspected
Average inspection rate
software
Average preparation rate
To what degree did the staff
conform to the procedures
Average inspection rate
Average preparation rate
Average lines of code inspected
What is the status of the
inspection process?
Total KLOC inspected
(C) USC-CSSE
12
University of Southern California
Center for Systems and Software Engineering
How effective is the inspection
process?
Defect removal efficiency
Average faults detected per KLOC
Average inspection rate
Average preparation rate
Average lines of code inspected
What is the productivity of
the inspection process?
Average effort per fault detected
Average inspection rate
Average preparation rate
Average lines of code inspected
Improve
(C) USC-CSSE
13
University of Southern California
Center for Systems and Software Engineering
GQM Example
• TASK: Software-development process
management
PROBLEM: During the software testing phase
many anomalies were discovered and it is
suspected that the software quality would not
reach a satisfactory level by the shipping
deadline.
QUESTION: Construct a GQM tree that helps you
to decide when it would be possible to ship the
software.
(C) USC-CSSE
14
University of Southern California
Center for Systems and Software Engineering
When it would be possible to ship the software?
(C) USC-CSSE
15
University of Southern California
Center for Systems and Software Engineering
(C) USC-CSSE
16
University of Southern California
Center for Systems and Software Engineering
GQM – example : Office Space
(C) USC-CSSE
http://www.cura.org.uk/fig88gqmetric.pdf
17
University of Southern California
Center for Systems and Software Engineering
GQM+Strategies: What?
• An extension of GQM
– Built on top
• Link software measurement goals to higher-level
goals
– Software organization
– Entire business
(C) USC-CSSE
18
University of Southern California
Center for Systems and Software Engineering
GQM+Strategies: Example
• Wants: Increase customer satisfaction
• Strategy: Improve product reliability
– Both hardware and software
• Software development contribution
–
–
–
–
–
Reduce defect slippage
Improve testing process
Team leaders decide on set of actions to take
Implement improvements
Measure results of improvements
• A tie between test defect data and customer
satisfaction
(C) USC-CSSE
19
University of Southern California
Center for Systems and Software Engineering
GQM+Strategies: Example
(C) USC-CSSE
20
University of Southern California
Center for Systems and Software Engineering
Workshop
• Find a pair, do not pair with your own team
members
• 25 minutes to develop questions and metrics from
the given goals.
• Prepare to present your result.
(C) USC-CSSE
21
University of Southern California
Center for Systems and Software Engineering
References
•
Goal-Question-Metric
–
–
–
•
http://en.wikipedia.org/wiki/GQM
http://www.cs.umd.edu/~mvz/handouts/gqm.pdf
http://goldpractice.thedacs.com/practices/gqm/
GQM+Strategies
–
–
http://www.cs.umd.edu/~basili/publications/proceedings/P122.pdf
http://www-ivs.cs.uni-magdeburg.de/sw-eng/us/java/GQM/link3.shtml
•
(C) USC-CSSE
22