Professional Documents
Culture Documents
CIS 376
Bruce R. Maxim
UM-Dearborn
Process Improvement Goals
• Understanding existing processes
• Introduce process changes to improve quality,
reduce costs, or accelerate schedules
• Industry is demanding increased attention to
quality in general
• Most process improvement work focuses on defect
reduction and prevention
• There are other process attributes that deserve our
attention
Process Improvement Attributes - part 1
Introduce
process change
Analyse Identify Tune
process improvements process changes
Train
engineers
• Dd = 1000 * D/N
• Effectiveness (E)
100%*N/(N + S)
N = #defects found by an activity
S = #defects found in subsequent activities
Phase-based Defect Removal Model
• Defects present at exit of each development phase
are estimated
• This allows us to set realistic targets and assess the
costs of reducing error injection rates
• This is a quality management tool and not a device
for estimation of software reliability
• How would this work in practice?
Assumptions
• Suppose we decide to create two broad
defect removal classes
– activities that handle defects before code is
integrated into the system library (design
reviews, inspections, unit testing)
– formal machine tests after code integration
• Also assume the same defect removal
effectiveness for each phase
Example - part 1
• MP = major problems found in before integration
• PTR = errors found during formal machine tests
• mu = MP/PTR
– the higher the value of mu the better
• Q = defects found after release to customer
• TD = (MP + PTR + Q)
– total defects for life of software
Example - part 2
• Phase 1 effectiveness
E1 = MP/TD
MP = E1 * TD
• Phase 2 effectiveness
E2 = PTR/(TD - MP)
PTR = E2 * (TD - MP)
Example - part 3
• Flowchart
– pictorial representation of a process
– breaks down process into its constituent steps
– can be useful in identifying were errors are
likely to be found in the system
Seven Basic Software Quality Tools
• Scatter diagram (point plots)
– used with correlation, regression, or statistical
modeling
– vertical axis is # defects
– horizontal axis some metric (e.g. McCabe’s
index)
Seven Basic Software Quality Tools
• Run chart
– line graph showing performance of dependent
variable (y) over time (x)
– best used for trend analysis (e.g. arrival of
defects during formal machine testing)
– can plot cumulative dependent variables (S
curves)
Seven Basic Software Quality Tools
• Control chart
– advanced form of run chart where capability is defined
– upper and lower control limits (dashed lines) are drawn
to alert the user when dependent measure is out of
control
– can plot cumulative dependent variables (S curves)
– C chart based on # conforming or not
– R chart based on subgroup ranges (max – min)
– X bar chart based on subgroup means
Control Chart (C)
Seven Basic Software Quality Tools
• Cause and effect (fish bone) diagram
– not widely used in software development, but can be
useful
– shows effect between quality variable and the factors
affecting it
Fishbone Diagram