Goal Question Metric (GQM) and Software Quality -...

40
Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow - - V: 2.3 V: 2.3 1 1 Goal Question Metric (GQM) Goal Question Metric (GQM) and and Software Quality Software Quality Howie Howie Dow Dow SQGNE SQGNE November 14, 2007 November 14, 2007

Transcript of Goal Question Metric (GQM) and Software Quality -...

Page 1: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 11

Goal Question Metric (GQM) Goal Question Metric (GQM) and and

Software QualitySoftware Quality

HowieHowie DowDowSQGNE SQGNE –– November 14, 2007November 14, 2007

Page 2: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 22

TopicsTopics• Relationship to software quality• GQM in a nutshell• Types of goals• Mechanics of GQM• Summary, important points, suggestions

Page 3: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 33

Purpose

• Communicate information about GQM

• Point you to references

• Ask that you involve the relevant stakeholders if you try this approach

Page 4: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 44

What does GQM have to do with What does GQM have to do with Software Quality?Software Quality?

• If successful software development is related to– Appropriate development environments– Using disciplined processes– Defining, collecting – analyzing useful data– Acting on the analysis results

• Then– GQM is a method to help

• Else– Look elsewhere

Page 5: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 55

History History –– backgroundbackground

• Victor Basili and David Weiss– NASA Goddard Space Flight Center– Quantify the (then) proposed methods of “preventing errors” in

software

• But …

• Other disciplines have data – what about software• Confounding factors• Controlled studies are very expensive

Page 6: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 66

More HistoryMore History

• Early 80’s – experimented with ways to collect data

• Tried “solution” at NASA / Goddard Space Flight Center

• 1984 – Victor Basili and David Weiss “A Methodology for Collecting Valid Software Engineering Data”– “How to” collect valid AND useful data

• This method “became” GQM

Page 7: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 77

GQM isGQM is

• Top down– Goals– Questions related to goals– Define metrics to answer questions

Measurement system

Page 8: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 88

GQM in a nutshellGQM in a nutshell

1) What are the goals

2) What questions are needed to– Define/refine the goals– Learn about progress toward goal(s)

3. What metrics are needed– Answer the questions– Determine if the goal has been achieved

Page 9: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 99

BUT WAIT BUT WAIT

• There’s more

Page 10: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 1010

GQM GQM -- part 2 part 2 4) Define - deploy data collection

mechanisms

5) Collect, check, analyze data in real time– Adjust data collection mechanisms– Adjust projects

6) Determine if goal is achieved

Page 11: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 1111

Goals Goals –– two typestwo types

MeasurementBusiness

May be VERY HARD to differentiate

Our focus: Measurement goals

Page 12: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 1212

GQM “Tree”

• Three “levels– “Conceptual” – Goals

• What to accomplish

– “Operational” – Questions• How to meet the goal

– “Quantitative” – Metrics• Metrics to answer

questions

Goal 1 Goal 2 Goal n

Q 1

Q 2

Q 3

Q m

M 1

M 2

M 3

M 4

M k

Page 13: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 1313

RecapG

Q

M M

• Top down– Represented as a tree

• Two phases– GQM definition– Deployment, analysis,

process adjustment and check

• Two types of goals– Business– Measurement

Page 14: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 1414

Mechanics of GQM

1. Determine the goals

2. Create the questions

3. Define the metrics/measures

Page 15: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 1515

Determine the Goals

• Each goal addresses– Object – what is being examined – Purpose – why object is being examined– Focus – attribute being examined– Viewpoint – perspective of examination– Environment – context of scope of

examination

Page 16: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 1616

Two ways to create goals

• Build a sentence addressing each topic– “… object, purpose, quality attribute,

perspective/viewpoint, environment…”

• Use a table

Page 17: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 1717

Example – sentence formatAnalyze the unit test process to understand the impact of adding additional tests to project K from the viewpoint of the project manager.

Page 18: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 1818

Example – sentence formatAnalyze the unit test process to understand the impact of adding additional tests to project Kfrom the viewpoint of the project manager.

Object – unit test processPurpose - understandFocus – impact of adding additional testsViewpoint – project managerEnvironment – project K

Page 19: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 1919

Example – table formatTopic Response

Analyze (The object to be measured)

For the purpose of (understanding, controlling, improving …)

With respect to (The quality attribute of interest)

From the viewpoint of (who measure the object)

In the context of (The environment for the measurement)

Page 20: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 2020

Example – table formatTopic Response

Analyze (The object to be measured) Unit test process

For the purpose of (understanding, controlling, improving …)

To understand

With respect to (The quality attribute of interest)

Impact of adding additional tests

From the viewpoint of (who measure the object)

Project manager

In the context of (The environment for the measurement)

Project K

Page 21: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 2121

Another example – table formatTopic Response

Analyze (The object to be measured) Customer call database

For the purpose of (understanding, controlling, improving …)

To understand

With respect to (The quality attribute of interest)

How many user interface defects are reported

From the viewpoint of (who measure the object)

Customer

In the context of (The environment for the measurement)

XYZ Project

Page 22: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 2222

Mechanics of GQM

1. Determine the goals

2. Create the questions

3. Define the metrics/measures

Page 23: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 2323

Questions

• Move from abstract (conceptual level) to operational level

• “Have we reached the goal?”• Clarify the goals• Involves all stakeholders

• Objective – shared understanding

Page 24: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 2424

Questions• Goal: Analyze the unit test process to

understand the impact of adding additional tests to project K from the viewpoint of the project manager.

• Q1: What is our test time now?• Q2: How effective are we at finding defects?• Q3: What about escapes?• Q3: What happened when we last added tests?• Q5: …

Page 25: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 2525

Meanwhile …

Goal: Analyze the unit test process to understand the impact of adding additional tests to project.

Is this what I REALLY

want? Is this my goal?

Or … Do I want

something else?

PM

Page 26: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 2626

PMGoal: Analyze the unit test process to understand the impact of adding additional tests to project.

Page 27: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 2727

Goal 1: Analyze the unit test process to understand the impact of adding additional tests to project K from the viewpoint of the project manager.

Q1: What is our test time now?

Q2: How effective are we at finding defects?

Q3: What about escapes?

Q4: What happened when we last added tests?

Page 28: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 2828

Mechanics of GQM

1. Determine the goals

2. Create the questions

3. Define the metrics/measures

Page 29: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 2929

Define the metrics

• Move from the questions (operational level) to quantitative level

• Objective– Define what data will be collected– Create operational definitions

• Refine questions and (maybe) goals

Page 30: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 3030

Critical element

• Involve the people who will collect the data• Learn

– What is available– How to get it– Level of effort to obtain

– Accuracy - validity

Page 31: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 3131

Types of metrics

• Objective - Counts of things or events• Absolute - Size of something independent

of other things• Explicit - Obtained directly• Derived - Computed from explicit and/or

derived• Dynamic – related to time• Static – independent of time

Page 32: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 3232

Goal 1: Analyze the unit test process to understand the impact of adding additional tests to project K from the viewpoint of the project manager.

Q2: How effective are we at finding defects?

Q3: What about escapes?

Q1: What is our test time now?

Q4: What happened when we last added tests?

M1: Number of tests run per week

M4: Number of defects found in unit test

M5: Number of defects found in integration test that should have been found in unit test

M2: Time for each test (pass)

M3: Number of tests that find a defect and stop

M6: Number of tests added

Page 33: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 3333

Mechanics of GQM

1. Determine the goals

2. Create the questions

3. Define the metrics/measures

Page 34: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 3434

Sum up

• Goal focused, data driven, improvement model• Top down approach to define

– Goals• Improvement• Characterization• Understanding

– Questions to answer about the goal– Metrics to provide answers to the questions

• Has two phases– Definition – define the Gs, Qs and Ms– Deployment, analysis, process adjustment and checking

Page 35: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 3535

Important points

• Creating the Gs, Qs and Ms is iterative– Questions refine goals– Metrics refine questions– Ability to obtain data refines metrics

• Requires stakeholder involvement– Especially those that record/capture the data

Page 36: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 3636

Suggestions

• GQM – it’s a project - have a plan• Iteratively develop and implement• You can pick the wrong metrics• Analyze data early and often• Define a data analysis process

– Does the collected data answer the questions and address the goal?

– Avoid using the data for things other than the questions and the goal. No data “mining”

Page 37: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 3737

Finally

• GQM is a TOOL• Be cautious – if all you have is a

Page 38: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 3838

Food for thought

• “You can observe a whole lot just by watching.” Yogi Berra

• “Effort moves toward whatever is measured.” Tom DeMarco

Page 39: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 3939

References and other readingReferences and other reading1. Basili, V. and Weiss, D. – A Methodology for Collecting Valid Software

Engineering Data, IEEE Transactions on Software Engineering, Vol. SE-10, No. 6, November 1984, pages 728-738

2. Basili, V. and Rombach, H. D., The TAME Project: Towards Improvement – Oriented Software Environments, IEEE Transactions on Software Engineering, Vol. SE-14, No. 6, June 1988, pages 758-771

3. DACS is a Department of Defense Information Analysis Center (www.thedacs.com)

4. Humphrey, Watts – A Discipline for Software Engineering, chapter 7, Addison- Wesley, 1995

5. Kan, Stephen – Metrics and Models in Software Quality Engineering, 2nd

edition, Addison- Wesley, 20036. Weinberg, Gerald - Quality Software Management, Volume 2, First Order

Measurement, Dorset House, 19937. Langley, G., Nolan, K., Nolan, T., Norman, C. and Provost, L. – The

Improvement Guide, Jossey-Bass, 1996

Page 40: Goal Question Metric (GQM) and Software Quality - SQGNEsqgne.org/presentations/2007-08/Dow-Nov-2007.pdf · Title: Goal Question Metric (GQM) and Software Quality Author: 50 Office

Copyright (C) 2007 H. Dow Copyright (C) 2007 H. Dow -- V: 2.3V: 2.3 4040

Thank you for listening.Questions – comments -

suggestions