Week 4

advertisement
INFO 630
Evaluation of Information Systems
Prof. Glenn Booker
Week 4 – GQ(I)M and
Ishikawa’s Tools
INFO630 Week 4
1
www.ischool.drexel.edu
Why Care About Measurement?
• To quote Albert Einstein, "Not everything
that counts can be counted and not
everything that can be counted counts."
• We are seeking to identify things 1) which
can be counted, and 2) which count
toward achieving our goals
INFO630 Week 4
2
www.ischool.drexel.edu
Reasons for Measurement
• Measurements are required by all major
process and quality models (CMM, ISO
9000, etc.) for four good reasons:
– To Characterize or understand the current
status of activities or products
– To compare that understanding to our
objectives, and Evaluate whether the current
status is “good” or “bad”
INFO630 Week 4
3
www.ischool.drexel.edu
Reasons for Measurement
– To Predict future performance, based on past
trends
– To form the basis for measuring Improvement
• You won’t know if you improved if you don’t know
where you started!
INFO630 Week 4
4
www.ischool.drexel.edu
Where do we get Information?
• Metrics are often used to support decision making (the
Evaluate step in the previous slide)
• Decisions should be based on quantified information
• To get that information, we calculate measures from raw
data called data elements
• The data elements each come from a data source
Data
Source
Data
Elements
Measures
INFO630 Week 4
Information
5
www.ischool.drexel.edu
How do we Choose What
to Measure?
• A commonly used method for selecting
measurements is called GQ(I)M for Goal,
Question, Indicator, and Measurement
– It is based on GQM work by Victor Basili
(first reported circa 1988-89)
INFO630 Week 4
6
www.ischool.drexel.edu
How do we Choose What
to Measure?
• The GQ(I)M method uses ten steps to describe
measurements systematically
• The steps don’t have to be followed in the
order presented
– Their main purpose is to help ensure that
measurements have been fully thought out, so you
can start at the top, or the bottom, or the middle
– We’ll discuss them in a top-down approach, just to
be linear
INFO630 Week 4
7
www.ischool.drexel.edu
1. Identify Business Goals
• These are big, vague, lofty desired
accomplishments or objectives for
the organization:
– Reduce cycle time
– Improve customer satisfaction
– Develop detailed process history
– Respond to changing business environment
INFO630 Week 4
8
www.ischool.drexel.edu
1. Identify Business Goals
– Reduce overhead
– Improve competitive position
– Increase market share
– Improve product quality
• Think of what you’d find cited in a company’s
annual report – those are often high level
business goals
INFO630 Week 4
9
www.ischool.drexel.edu
2. Identify Desired Knowledge
• Break down each goal into products,
resources, and activities (processes)
needed to meet that goal
• Think of questions like:
– What activities do I manage or execute?
– What do I want to achieve or improve?
– To meet this, I will need to …
INFO630 Week 4
10
www.ischool.drexel.edu
3. Identify Subgoals
• Set Subgoals (objectives) for each
of the entities you manage
• What do you want to know about the
results of step 2? What kind of information
is important to you?
• How big, fast, expensive, complex, or
much time will a process, product, tool, or
resource take?
INFO630 Week 4
11
www.ischool.drexel.edu
4. Identify Entities and Attributes
• Formulate questions to identify entities
(document, product) created by your
process, and the attributes of them you
are interested in (size, quality, duration,
cost)
– Entities in this sense are often part
of the inputs, outputs, or process associated
with an activity
INFO630 Week 4
12
www.ischool.drexel.edu
4. Identify Entities and Attributes
• Don’t get too detailed at this point - just
identify the type of information desired
(what are you studying), and the subject of
that information (what about it do you want
to know)
– Then once the entities have been described,
find the particular characteristics of interest
(attributes)
INFO630 Week 4
13
www.ischool.drexel.edu
4. Identify Entities and Attributes
Input
(receives)
(products) entities
(traits)
attributes
<Process name>
Consists of…
Holds...
Output
(produces)
entities
entities
attributes
attributes
INFO630 Week 4
14
www.ischool.drexel.edu
5. Define Measurement Goals
• Form structured statements of the
measurement goals for each attribute
– This step is the heart of defining a metric in the
form of a sentence
• Two types of goals:
– Active goals: reduce or improve something
– Passive goals: identify, assess, understand
INFO630 Week 4
15
www.ischool.drexel.edu
5. Define Measurement Goals
• Lower maturity organizations start with passive
goals, then work on active goals
– First measure existing trends, before predicting
improvements
• Description of a measurement goal includes
the target entity, a purpose, a perspective, the
environment and constraints
INFO630 Week 4
16
www.ischool.drexel.edu
5. Define Measurement Goals
• It should include the quantity to be measured,
the active or passive verb, describe the
independent variable (e.g. time), and for active
goals, quantify a desired amount or level
– DO NOT report traits of individual people (fear
of judgment) unless it’s a known part of their job
INFO630 Week 4
17
www.ischool.drexel.edu
5. Define Measurement Goals
• Also need to balance how often measurements
are made
– More frequent measurement gives finer
control, but excessive measurement wastes
time and slows the process being measured
• Can measure per release, per component,
or some basis other than time
INFO630 Week 4
18
www.ischool.drexel.edu
5. Define Measurement Goals
• Examples of measurement goals:
– Passive: “Measure the number of requirements which
changed each month.”
“Identify the voluntary turnover rate per month for
programmers and software engineers.”
– Active: “Reduce the defect rate of developed code
over time to under 20 defects/KLOC”
“Improve the percent of satisfied customers after 30
days of product use to 95% or more”
INFO630 Week 4
19
www.ischool.drexel.edu
5. Define Measurement Goals
• The general format is:
<verb> <measure> <qualifier(s)> [objective]
• Where the <qualifiers> indicate the scope
or time frame of the measurements (a.k.a.
independent variables), and [objective] is
only given for active measurement goals
INFO630 Week 4
20
www.ischool.drexel.edu
6. Quantify Questions and
Indicators
• Pose questions to address your measurement goals
(quantifiable ones, if addressing active goals)
– Active: “Can we resolve customer emergencies, on
average, in under 24 hours?”
– Passive: “How many requirements do we have at the
end of the Requirements Definition phase?”
INFO630 Week 4
21
www.ischool.drexel.edu
6. Quantify Questions and
Indicators
• Sometimes the search for a meaningful
metric starts with a question, and that
leads to filling out the GQ(I)M from the
middle
• Identify indicators to show the
results effectively, such as:
– Pie charts
– Bar graphs
– Scatter plots, etc. (see Ishikawa later)
INFO630 Week 4
22
www.ischool.drexel.edu
7. Identify Data Elements
• Identify the data elements and equation(s)
needed to prepare (calculate) each
indicator
– E.g. “defect rate by module each month”
needs a table of defects found, for the last
month, with the module each came from
• Determine the source for each data
element
INFO630 Week 4
23
www.ischool.drexel.edu
8. Define Measures
• Describe how the data elements will be
used to produce the indicators (i.e. what is
the equation for the measure)
– Even the most obvious measure could be
defined many ways, so state the definition of
each measure clearly
• E.g. does your ‘turnover rate’ include all project
employees, or only salaried ones?
INFO630 Week 4
24
www.ischool.drexel.edu
8. Define Measures
• Define exactly what you mean by each
measure - use a checklist if needed to
show what is and isn’t included in its
definition
– Include rules, assumptions, constraints, and
environment
– Cite source if an unusual measure is used; or
if you made it up, explain why
INFO630 Week 4
25
www.ischool.drexel.edu
An Aside
• The first eight steps of the GQ(I)M
approach define traceability from the
business goals to the exact definition of
each measure, and the way it is calculated
from its data elements
• The last two steps focus on the broader
issue of planning a measurement
approach for a project
INFO630 Week 4
26
www.ischool.drexel.edu
9. Identify Measurement
Implementation
• Analyze what measures are currently
collected (if anything) and how they’re
being used
• Diagnose how well the current
measurements meet your goals – ask
‘what’s missing?’
• Act on implementing new measurements,
possibly in a phased approach based on
priorities
INFO630 Week 4
27
www.ischool.drexel.edu
10. Prepare Measurement Plan
• Take all of the aforementioned information
and create a complete plan to identify and
implement measurement for your
organization or project
• This is generally called a Metrics Plan or a
Measurement Plan
INFO630 Week 4
28
www.ischool.drexel.edu
Summary of Core Steps
•
•
•
•
•
•
•
Goal (the big picture this is describing)
Subgoal (objective; why collect this metric)
Question(s) (answered by this metric)
Indicator (how display metric)
Measurement (the actual metric and its definition)
Data Elements (used to calculate various metrics)
Source (of each data element)
INFO630 Week 4
29
www.ischool.drexel.edu
Indicators
• Indicators are the means used to present
measures, such as charts, graphs, etc.
– (yes, ‘indicator’ is an odd term for it, but
pretend it makes sense)
INFO630 Week 4
30
www.ischool.drexel.edu
Indicators
• To choose a good indicator, consider:
1. The Amount of Data to be presented for each
interval (e.g. one measure at a time, or five
different survey responses at once), and
2. The Number of Intervals to be shown, such
as time units, modules of code, etc.
INFO630 Week 4
31
www.ischool.drexel.edu
Indicators
• Different indicators are better at different
Amount or Number characteristics
– Consider also how your data will be presented
- in color or B/W, live or printed?
– Will your audience see pristine originals, or
will it be copied a zillion times?
INFO630 Week 4
32
www.ischool.drexel.edu
Indicators
• For graphs:
– The X-axis of a graph (the horizontal line)
is the independent variable
• Is often a <qualifier> you choose before the measurement,
such as time, severity, etc.
• If X is time, describe how often measurements
are made (weekly, monthly, every release, etc.)
– The Y-axis of a graph (the vertical line) is the
dependent variable; the thing you are measuring
(the Measure)
INFO630 Week 4
33
www.ischool.drexel.edu
Pie Chart
• The lowly pie chart is good for presenting a limited amount of
information attractively
– % of customers satisfied and not satisfied
– % of defects by severity at this moment
• Amount of Data: Shows a few data points (2-10)
• Number of Intervals: One - it generally shows only one
moment in time, or one set of measurements
Sales ($M)
1.2
West
4.6
2.4
Northeast
South
Midwest
East
1.1
1.7
INFO630 Week 4
34
www.ischool.drexel.edu
Ishikawa’s Seven Basic Tools
• Developed circa 1950 for manufacturing
production
– Used widely in manufacturing quality control
– Focuses on project level concerns; is this
batch good enough to accept?
• Not very useful for research; has little
theoretical basis
INFO630 Week 4
35
www.ischool.drexel.edu
Ishikawa’s Seven Basic Tools
• From a software perspective, these tools
are often best for managers – focuses on
identifying process and/or quality control
issues
– Not typically helpful for individual developers
INFO630 Week 4
36
www.ischool.drexel.edu
1. Check sheet
• Used to gather data easily, consistently,
and in a standard format
– Helps to define key parts of a process, and
make sure they are all performed
– Examples include code inspection checklist,
detailed test procedures
• A check sheet used to help the quality of a
process or product is a “checklist”
INFO630 Week 4
37
www.ischool.drexel.edu
2. Pareto Diagram
• Used to identify problem areas - where to fix first; what are
the biggest fires to put out
• Defects tend to cluster in portions of code e.g. plot % of
defects by the type of defect (logic, data definitions, etc.), and
plot the total % of defects above it
• Must list categories in descending order of frequency
Helps look for the few
components where
most defects reside
X axis must be a
nominal variable
Defect Rate (defects/KLOC)
Pareto Diagram of Component Defect Rate
25
22.3
20
15.6
13.3
15
11.1
8.9
10
5.6
5
0
Interface
Query
Core
Import
Export
Reports
Component
INFO630 Week 4
38
www.ischool.drexel.edu
3. Histogram
No. of Problem Reports
• A bar chart is used to break down data by an ordered
category (e.g. defect severity, satisfaction rating, etc.)
• Can choose to put bars next to each other, or stack them.
Stack when they add to a constant (e.g. 100%), or when the
total is also a useful measure
• Can show limited time spans, e.g. a few
time intervals
No. of Problem Reports by Status
234
250
200
150
100
50
23
50
34
15
8
0
New
Closed
Pending Withdrawn Analysis
Testing
Status
INFO630 Week 4
39
www.ischool.drexel.edu
3. Histogram
Problem Reports in each Status over Time
Testing
400
Analysis
300
Withdrawn
200
Pending
Closed
100
New
0
Jan-02
Feb-02
Mar-02
Apr-02
May-02
Time
Problem Reports in each Status over Time
300
Stacked and
cluster bar
graphs for the
same data set
Number of Problem
Reports
Number of Problem
Reports
500
250
New
200
Closed
Pending
150
Withdrawn
100
Analysis
50
Testing
0
Jan-02
Feb-02
Mar-02
Apr-02
May-02
Time
INFO630 Week 4
40
www.ischool.drexel.edu
3. Histogram
• A true histogram uses ranges of X axis
values to show, for example, the
number of events or data points in that
range of values
Histogram
7
6
Frequency
Example shows how
many customers were
in age ranges of 0-18,
19-30, 31-40, 41-50,
51-60, and 61+
5
4
3
2
1
0
18
30
40
50
60
More
Bin
INFO630 Week 4
41
www.ischool.drexel.edu
4. Run Charts
Usually uses
a line chart
Number of Defects Found
• Purpose is to plot something important versus time
• Often compare values to a desired or target value,
especially at higher process maturity levels (CMM Level 3
and up) and for comparing to active goals
• Special case: The “S” curve plots (cumulative % completion
of something) versus time
Number of Defects Found by Severity
45
40
35
30
25
20
15
10
5
0
Minor
Major
Total
Jan-02
Feb-02
Mar-02
Apr-02
May-02
Time
INFO630 Week 4
42
www.ischool.drexel.edu
5. Scatter Diagram
CURRENT SALARY
• Is used to plot two measures
against each other to see if
there’s a correlation between
them
– E.g. Defect rate per module
versus module complexity,
or productivity versus
experience
– When we say ‘plot Blah
versus Ick,’ Blah is the Y
axis, and Ick is the X axis
INFO630 Week 4
Current Salary vs. Educational Level
60000
50000
40000
30000
20000
10000
0
6
8
10
12
14
16
18
20
22
EDUCATIONAL LEVEL
43
www.ischool.drexel.edu
5. Scatter Diagram
• If there’s enough data, can try to add
curve fitted lines – we’ll cover this in the
regression analysis discussion
• This and control charts are the most
powerful types of graphs for
understanding your data
– Many estimation rules and equations are
derived from scatter diagrams
INFO630 Week 4
44
www.ischool.drexel.edu
6. Control Chart
• Is a key Statistical Process Control tool
• Hard to apply to software development
– Specifications poorly defined
– Each project takes a long time
– Too many uncontrolled process variances
– Process-quality relationship not well defined
– Too many processes used
– Rapidly changing technology
• There are many varieties of control chart
INFO630 Week 4
45
www.ischool.drexel.edu
6. Control Chart
• Control charts are often used at very
high levels of process maturity (CMMI
Control Chart: Percent Passed
levels 4 & 5)
93.000
89.000
85.000
Percent Passed
81.000
UCL = 92.33 43
Average = 85.0833
77.000
LCL = 77.8324
1
2
3
4
5
6
7
8
9
10
11
12
Sigma level: 3
INFO630 Week 4
46
www.ischool.drexel.edu
6. Control Chart
• Pseudo-control charts include:
– The ‘u’ chart for defect rates by component, BMI,
etc. versus time
– The ‘p’ chart for percentages, such as inspection
effectiveness or customer satisfaction rating
• Upper and Lower Control Limits (UCL and LCL)
are +/- 3 sigma from the mean (average)
– Can add a warning limit at +/- 2 sigma
INFO630 Week 4
47
www.ischool.drexel.edu
7. Cause and Effect Diagram
• A.k.a. the Fishbone chart
– Is the least used Ishikawa tool, in my experience
– Is not an Indicator per se, just a tool for capturing
thoughts about a problem
• Used with brainstorming to trace the causes of some
outcome or result (good or bad)
• Ask “what causes that” or “what influences that” to
determine the major types of causes, then break them
into more detailed events
INFO630 Week 4
48
www.ischool.drexel.edu
7. Cause and Effect Diagram
• Sample fishbone diagram to analyze causes of
Incorrect Deliveries
Note the choices of types of causes (communication, skills,
transport, procedures) vary from one problem to the next
INFO630 Week 4
49
www.ischool.drexel.edu
Download