GQM or Goal Question Metric approach is a method used to identify important and meaningful metrics in the following way :
- List the goals or objectives for the process
- Trace the goals with data or metrics
- Use a framework to interpret the data with respect to listed goals for the process
GQM approach has three levels – Conceptual level, Operational level, and Quantitative level. Each level is significant for understanding metrics.
1. Conceptual level – Goal :
This level represents a goal or objective. A goal is an object or entity.
Objects of measurement include :
- Products –
Software Requirement Specification (SRS), Designs, Program or code - Processes –
Testing (Verification and Validation), Designing - Resources –
Hardware and Software
2. Operational level – Question :
This level represents questions. A set of questions are used to assess a goal.
Example of questions could be :
- Is the current process performance satisfactory from the team’s viewpoint ?
- Is performance improving ?
- Is the improvement satisfactory ?
3. Quantitative level – Metric :
This level represents metrics. With every question added in the scenario, a set of data is used to answer the question in a quantitative manner. This set of data is called metrics.
Data can be of 2 types :
- Objective –
LOC (Lines of code), size of module, size of program, etc. - Subjective –
Level of user satisfaction on a scale of 1 to 10
GQM is a hierarchical model that follows a top-down approach where first the goals are specified, then questions are written and collected, and finally, metrics are associated with each question. Refer to the diagram below :
Example of GQM Approach :
A goal should specify the following things in it :
- Its purpose
- A process (or object)
- A viewpoint
- A quality issue
In the example shown below, we have the following goal :
- Purpose – Evaluate
- Object – programming tool ABC
- Viewpoint – from the project manager’s viewpoint
- Issue – the effectiveness of
Goal | Purpose – Evaluate Object – programming tool ABC Issue – the effectiveness of Viewpoint – Project Manager’s viewpoint |
Question Q1 | What is the current productivity of the programmer or user of the tool? |
Metric M1 | LOC (Lines of Code) |
Metric M2 | Effort |
Metric M3 | ELOC (Non-commented or Effective Lines of Code) |
Metric M4 | Programming YOE |
Metric M5 | Function Points (FP) |
Question Q2 | Is the quality of code satisfactory? |
Metric M6 | Number of Defects |
Metric M7 | Spoilage |
Metric M8 | Defects age |
Metric M1 | LOC (Lines of Code) |
Metric M3 | ELOC (Non-commented or Effective Lines of Code) |
Metric M5 | Function Points (FP) |
Question Q3 | Who is using this programming tool? |
Metric M9 | Proportion of programmers |
Metric M4 | Programming YOE |
Metric M10 | Months using software ABC |
So this is how questions and metrics are specified for one goal and for each goal in the scenario, a similar procedure is to be performed.
Goals Question Metric approach is combined with other approaches to analyze whether goals can be achieved or not. Organizations like NASA and Motorola have used the GQM approach to improve their processes and ensure that goals are achieved as per requirement.