CMU-CS 462 - Software Meassurement and Analysis - 2020S - Lecture Slides - 5
CMU-CS 462 - Software Meassurement and Analysis - 2020S - Lecture Slides - 5
CMU-CS 462 - Software Meassurement and Analysis - 2020S - Lecture Slides - 5
Software Measurement
and Analysis
Lecture-5
Spring 2021-2022
Dr. Anand Nayyar
anandnayyar@duytan.edu.vn
07/07/2024 1
Contents
1. Software measure classification
2. Goal-based paradigms:
Goal-Question-Metrics (GQM)
Goal-Question-Indicator-Metrics
(GQIM)
3. Applications of GQM and GQIM
07/07/2024 2 2
GQ(I)M: Review
Business
Goal Measurement
GQIM Process Plan
07/07/2024 4
GQ(I)M: Next Steps /2
The GQ(I)M method begins 1
07/07/2024 5
Step 6: Identify Indicators /1
1
What is an indicator?
Indicator is a display of
2
one or more measurement
results that is designed to
3 4
communicate or explain
the significance of those 5
results to the user.
6
Why is it useful?
Seeing how measurement
7
data will be displayed 8 9 10
helps clarify exactly what
must be measured.
07/07/2024 6
Step 6: Identify Indicators /2
How to proceed?
1. Select a measurement goal
2. Identify quantifiable questions related to this
goal that you would like to be answered.
3. Prepare sketches for displays (indicators) that
will help you address your questions.
4. Prioritize the indicators and identify the ones
that will be most useful to you.
07/07/2024 7
Quantifiable Question
What is quantifiable question?
How is it different from questions in Step 2?
07/07/2024 8
Example (cont’d)
Measurement Goal 1: Development Team
Questions: questions that we would like answered are:
team members?
What is the rate at which individual engineers involved in
product development?
Is the development team structured to effectively utilize
members’ skills?
How many years of experience do the team members have and
in what domain? 9
07/07/2024
Example (cont’d)
Measurement Goal #9: CASE Tools
Questions:
07/07/2024 10
Example (cont’d) G9 / Ind. b
Measurement Goal #9:
How much would CASE tools cost?
Cost 1000 $CDN
07/07/2024 11
Example (cont’d): G9 / Ind. a
Measurement Goal #9:
What percentage of the budget is available for
tools?
Case Tool Requirements
Maintenance
Test
Design
Coding
07/07/2024 12
Example (cont’d) G9 / Ind. c &
d Productivity (LOC)
Measurement Goal #9:
Is the increase in
before
productivity offset by
the cost of the tools? after
Time
Average
Cost Case
per tool
KLOC cost
LOC
cost
without with
07/07/2024 13
Example (cont’d): G9 / Ind. e
Measurement Goal #9:
How long will we have to train employees with the
tools?
training
Days of
07/07/2024 14
Step 7: Identify Data
AtElements
this Step we must identify:
Data elements that must be collected to construct
the indicators identified in Step 6
Definition of data elements, so that the indicators will
show what they are supposed to show.
07/07/2024 15
Identify Data Elements
(cont’d)
Data elements identification involves:
Preparing a list of data items (attributes).
Preparing a checklist cross-referencing data items
and indicators, i.e., which data element is used
by which indicator.
Definitions for data items including scales,
ranges and precision will be added in the
next step.
07/07/2024 16
Example (cont’d)
List the data elements vs. the indicators identified in
Step 6.
Required Data Elements Indicators
07/07/2024 17
Step 8: Define Measure /1
1
What is a measure
definition? 2
A measure definition is a
semi-formal specification for 3 4
the object to be measured.
5
Why is it useful?
It is extremely useful to 6
clarify the implicit
7
assumptions, what is
9 10
included and what is not in 8
the measurement.
07/07/2024 18
Step 8: Define Measure /2
After the measures are identified they must be
defined clearly
Definitions must indicate:
Name and short description
Scale
Range of variation
Precision required
Implicit and explicit assumptions related to
measurement,
Anything else that may help interpret the
measurement procedure and values correctly
07/07/2024 19
Step 8: Example /1
Measuring the height of school children, between
the ages of 6 and 12
Measure Definition 1: Height is standing height,
measured in inches.
Measure Definition 2: Height is standing height ,
measured in inches, bare foot, on a calibrated scale, by
a trained nurse, between 8 and 9 o'clock in the morning.
Which set of height measurements is expected to be
more reliable, more consistent across schools, and
more fit for interpretation?
07/07/2024 20
Step 8: Example /2
The same applies to definitions such as:
The measure for software size is the number of
non-commented, nonblank, executable source
statements.
The measure for cost is the total direct labour
hours from the start of the project.
These are ill-specified examples of
definitions of measures that definitely lead
to misinterpretations of measurements and
recorded values.
07/07/2024 21
Step 8: Define Measure /3
Measures can be best
defined using
Definition checklists
& descriptive forms
Advantages: Making
explicit many issues,
assumptions and
decisions that usually
go unrecorded.
07/07/2024 22
Example (cont’d)
07/07/2024 23
Example (cont’d)
07/07/2024 24
Step 9: Identify Actions to Implement Measures
1
This step is to assemble
information about the
2
current status and use of
the measures, so as to
3 4
prepare a plan for
implementing the measures 5
defined, through:
Analysis & 6
Diagnosis &
7
Actions 10
8 9
07/07/2024 25
Step 9.1: Analysis
Analysis means identifying the measures that the
organization is using now and understanding how it
is collecting them using questions such as:
What data elements are required for our goal-driven
measures?
Which data elements are collected now?
How are they collected?
What are the processes that provide the data?
How are the data elements stored and reported?
07/07/2024 117
26
Step 9.2: Diagnosis
Diagnosis means evaluating the data elements that the
organization is collecting now, determining how well they
meet the needs of new measurements, and proposing
appropriate actions for:
Using the data, adapting data to the needs, adapting
07/07/2024 27
Step 9.3: Action
Action means translating the results of the analysis and
diagnosis into implementable steps.
Action identifies elements that measurement plan will be
built upon. Some pre-planning tasks are:
Identify sources of data within existing software
process(es).
Define methods that will be used to collect and report
data.
Identify tools that will be required to support collecting,
4. Sustained operations
07/07/2024 30
Step 10: Plan Template /1
1. Objective
List the principal objectives of this measurement
implementation effort.
Identify the measures to be implemented, explain
why they are important to the organization, and
summarize the expected outcomes.
07/07/2024 31
Step 10: Plan Template /2
2. Description
1. Background
A brief history of the events that have led to or
motivated this plan. Describe the origins of the plan,
the work that has been done to date and who
participated.
2. Goals
List and explain the goals that motivate and guide
the activities under this plan by identifying three
kinds of goals: (a) business goals, (b) measurement
goals, and (c) the goals of this plan.
07/07/2024 32
Step 10: Plan Template /3
2. Description
3. Scope
Relate the measures that this plan implements to the
measurement goals. Do the measures apply to new
projects only?
To development projects? To large or small programs?
To only certain divisions or departments? Who are the
major stakeholders?
Who will be affected by the measurement practices,
processes, and methods? Who will use the results?
07/07/2024 33
Step 10: Plan Template /4
2. Description
4. Relationship to other software process improvement
efforts
Describe how the measurement efforts in this plan
relate to other process improvement activities at the
organization, such as the CMM, the Baldrige Award,
or ISO 9000 certification.
5. Relationship to other functional activities
Describe how the measurement efforts in this plan
relate to other functional groups and activities at the
organization, such as cost estimating, time and effort
reporting, cost accounting, and quality assurance.
07/07/2024 34
Step 10: Plan Template /5
3. Implementation
Describe the actions that are to be taken to implement
the measures identified in the Description. It includes
detailed information on
Activities, products, and tasks
Schedules
Resources
Responsibilities
Assumptions
Risk management
07/07/2024 35
Step 10: Plan Template /6
3.1 Activities, Products, and Tasks
Describe how the effort is to be accomplished. Partition the
07/07/2024 36
Step 10: Plan Template /6
3.3 Resources
Describe resources that are being allocated to this effort,
07/07/2024 38
Step 10: Plan Template /8
10.4 Sustained operations
Describe the actions that will be taken to sustain
and use the measures implemented.
Assign resources and responsibilities and make
provisions for continuing evolution.
Describe the practices that will be used to evaluate and
monitor the effectiveness of the measures and to assess
their business value and their effects on organizational
performance.
07/07/2024 39
40
Exercise (work in group of 3) /1
What different attributes might be measured by the
followings:
The number of faults in program P using a set of test
cases created specifically for the program P.
Failure (rate) intensity
The number of faults in program P using a standard set
(benchmark) of test data.
Code efficiency
The number of faults in program P by programmer A
during 1 hour.
(Individual) test efficiency
07/07/2024 41
Exercise (work in pairs) /3
(Thảo luận nhóm làm bài tập)
A study of 1st grade school children found
a high correlation between shoe size and
reading ability, i.e., “the bigger the shoe
size the higher reading ability”. Does this
mean that shoe size is a good measure of
intelligence of 1st grade school children?
Use the concept of scale and
measurement verification to explain why.
07/07/2024 42
Exercise 4 :GQM /1
Suppose that company X’s main business goal is to “find a
way to deal with fragile customer requirements” – that is,
customer requirements that may be incomplete or that may
change during the software development process. For this
project, we want to create a measurement plan using GQM
technique. During the step of “identify what we want to
know or learn” we must specify the followings:
Persons affected
Internal artifacts
07/07/2024 45
Exercise 4 :GQM /3
Identify at least 3 relevant candidates for each of the
(a) - (e) for this project.
a) Persons affected: Who are the people that will be affected by this
goal? Customers; Project Managers; Programmers; Document
personnel; Testers
b) Products and by-products: What are the products covered by this
goal? Documents; Working system; Budget
c) Inputs and resources: What resources are potentially involved?
People; Computers and development environment; Customers
d) Internal artifacts: What are the artifacts affected?
Prototype applications; Change requests; Project history and
previous metrics
e) Activities and flowpaths: What activities are involved?
Developing; Requirements gathering; Acceptance testing
07/07/2024 46
Exercise /5
Your organization has just completed a software process
assessment. One of the findings was that your projects are
delivering software functions and documentation on time, but
customers are not as satisfied as you would like them to be.
The process improvement team has identified “improving
customer satisfaction” as one of its primary goals.
You are a project manager, and you need a set of measures that
will help your project make progress toward this goal.
Devise subgoals to achieve this goal.
Start with asking questions about entities of interest
(i.e., inputs and resources; internal artefacts; activities
and flows; products and by- products)
07/07/2024 47
Readings and Assignment 5
You are required to read the paper in the links below
and Answer the following questions. The answers
will be submitted on e-Learning system (Assignment
5) before 17:00, 25-Mar, 2020.
https://www.youtube.com/watch?v=cITBn7Nhh9o
Question 1
What is Goal Question Metric for Agile?
07/07/2024 48