This course is a perfect fit for the reliability engineer who needs to
learn how to predict the reliability of software in a system. It's also a
perfect fit for software or engineering managers who need to use software
reliability predictions to manage the project.
|
Agenda |
Estimated time including breaks |
|
Day 1 |
|
|
Getting started -
greeting, introductions |
15 minutes |
|
Hard facts -
- Definitions and acronyms
- Factors that have been
quantitatively correlated to defects.
- Top 10 list of things most related
to reliable software
- Top list of things most related to
unreliable software
- Top list of things most related to
a failed project (from reliability standpoint)
- The cost of doing a preliminary and
detailed software
reliability assessment
- Common myths
- Top list of things that
everyone thinks is related to reliable software - but really is
not
- A mapping of hardware reliability
to software reliability
|
The remainder of the morning |
|
LUNCH |
1 hour |
|
How to predict
operational software defects before the code is written
|
|

This flow diagram is the basic process for
doing a software reliability prediction. We will complete each
step of this process in this class. |
Overview of process - 15 minutes |
|
Step
0 - Plan the prediction.
-
Identify which
software components are relevant for the prediction.
-
Identify how
much time/money you have to do the predictions.
-
Identify the
reliability metrics that are most relevant to this project.
|
30 minutes |
|
Step
1 -
Predict Effective
Size. There are various
industry methods for predicting size. You will see what those
methods are and how to normalize the size predictions for the
reliability metrics. |
30 minutes |
|
Step
2 -
Predict testing or
fielded defect density |
|
- An overview and comparison of each
of the predictive models
|
15 minutes |
- Two simple models that have
1 input
parameter (SEI CMMi model, Application type model).
|
30 minutes |
- A simple model that has 15
relatively easy to collect inputs (The Shortcut model).
- Data that needs to be collected and
how to collect the data.
- A real example from a real company
using this model.
|
45
minutes |
|
The students will be given a tutorial on using their toolkits |
30 minutes |
|
Day 2 |
|
|
Step
2 -
Predict testing or
fielded defect density - continued |
|
- A detailed model with several
input parameters (The Full-scale survey based model).
- Data that needs to be collected and how to
collect that data
- How to use the model to do a
sensitivity analysis
- How to use the model to do
benchmarking
- A real example from a real company that
reduced defects without seriously impacting cost/schedule
|
90 minutes including
breaks |
- How to predict the defect density
of Commercial Off the Shelf Software (COTS)
|
15 minutes |
|
Step 3. Predict the total volume number
of testing or fielded defects as well as the upper and lower
confidence bounds |
15 minutes |
Step 4. Predict the testing and fielded
defect profile n step 3 we predicted the total volume of
predicted defects. In this step, we learn how to predict when
those defects will be observed. The defect
profile is needed for computing the reliability growth.
- Use that profile to determine the
best staffing during testing and maintenance.
- Use that profile to determine the
best spacing of releases to minimize unscheduled maintenance that
often causes subsequent releases to be late.
|
45 minutes |
Step 5. How to predict failure rate/MTTF/MTTCF/MTBI once you have
predicted defects.
- Predict a point in time estimate
- Predict reliability
growth
- See a real example from industry
|
30 minutes |
|
LUNCH |
1 hour |
|
Step 6. How to predict availability once
you have predicted failure rate/MTTF. The hard part is predicting
the MTTF. Once you have this, you only need to predict one
additional metric to predict availability.
|
15 minutes |
|
Step 7. How to predict reliability once you have
predicted failure rate/MTTF. Reliability is often used
generically to mean a set of metrics or practices. It can also be
used as an adjective. However, reliability as a metric, is the
probability of success over a specified period of time. |
15 minutes |
|
Prediction model
accuracy |
15 minutes |
Sanity checking the
predictions
- Common errors of
omission/commission
- How to use the models to evaluate
vendor supplied software
|
30 minutes |
Merge the software
predictions into the reliability block diagram and do final sensitivity
analysis
- How to include the prediction in a
reliability block diagram
- How to use the sensitivity analysis
to do tradeoffs or improve the software
|
60 minutes |
If you are interested in combining software reliability predictions with
hardware and system predictions, consider the
advanced topics training.