Professional Documents
Culture Documents
Process Improvement: CIS 376 Bruce R. Maxim UM-Dearborn
Process Improvement: CIS 376 Bruce R. Maxim UM-Dearborn
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
processchange
Analyse Identify Tune
process improvements processchanges
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. McCabes
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