Based on the discussions in the previous section, it is apparent that for software maintenance planning, we should (1) use the reliability models to estimate the total number of defects or defect rate only and (2) spread the total number of defects into arrival pattern over time based on historical patterns of field defect arrivals.
The field defect arrival patterns, in turn , can be modeled by the same process. Our experience with several operating systems indicates that the arrival curves follow the Rayleigh, the exponential, or the S models. Figure 8.5 shows the field defect arrival patterns of a major release of both the System/38 and the AS/400 operating systems. As discussed in Chapter 7, Figure 7.6 shows the field defect arrivals pattern of another IBM system software, which can be modeled by the Rayleigh curve or the Weibull distribution with the shape parameter, m, equal to 1.8.
Figure 8.5. Field Defect Arrival Pattern ”System/38 and AS/400 Operating Systems
The field defect arrival pattern may differ for different types of software. For example, in software for large systems it takes longer for latent defects to be detected and reported . The life of field defect arrivals can be longer than three years. For applications software, the arrival distribution is more concentrated and usually last about two years . We call the former the slow ramp-up pattern and the latter the fast ramp-up pattern. Based on a number of products for each category, we derived the distribution curves for both patterns, as shown in Figure 8.6. The areas under the two curves are the same, 100%. Tables 8.3 and 8.4 show the percent distribution by month for the two patterns. Because the defect arrival distribution pattern may depend on the type of software and industry segment, one should establish one's own pattern based on historical data. If the defect arrival patterns cannot be modeled by a known reliability model, we recommend using a nonparametric method (e.g., 3-point moving average) to smooth the historical data to reveal a pattern and then calculate the percent distribution over time.
Figure 8.6. Two Patterns of Field Defect Arrivals ”Areas Under the Curves Are the Same
Table 8.3. Monthly Percent Distribution of Field Defect Arrivals ”Slow Ramp-up Pattern
Month |
% |
Month |
% |
Month |
% |
Month |
% |
---|---|---|---|---|---|---|---|
1 |
0.554 |
13 |
4.505 |
25 |
1.940 |
37 |
0.554 |
2 |
1.317 |
14 |
4.366 |
26 |
1.802 |
38 |
0.416 |
3 |
2.148 |
15 |
4.158 |
27 |
1.594 |
39 |
0.416 |
4 |
2.911 |
16 |
3.950 |
28 |
1.386 |
40 |
0.347 |
5 |
3.465 |
17 |
3.742 |
29 |
1.247 |
41 |
0.347 |
6 |
4.019 |
18 |
3.465 |
30 |
1.178 |
42 |
0.277 |
7 |
4.366 |
19 |
3.188 |
31 |
1.040 |
43 |
0.277 |
8 |
4.643 |
20 |
2.980 |
32 |
0.970 |
44 |
0.208 |
9 |
4.782 |
21 |
2.772 |
33 |
0.832 |
45 |
0.208 |
10 |
4.851 |
22 |
2.495 |
34 |
0.762 |
46 |
0.138 |
11 |
4.782 |
23 |
2.287 |
35 |
0.693 |
47 |
0.138 |
12 |
4.712 |
24 |
2.079 |
36 |
0.624 |
48 |
0.069 |
Year 1 |
42.550 |
Year 2 |
82.537 |
Year 3 |
96.605 |
Year 4 |
|
Cumulative |
Cumulative |
Cumulative |
Cumulative |
100.000 |
Table 8.4. Monthly Percent Distribution of Field Defect Arrivals ”Fast Ramp-up Pattern
Month |
% |
Month |
% Month |
% |
|
---|---|---|---|---|---|
1 |
1.592 |
13 |
5.398 |
25 |
0.277 |
2 |
3.045 |
14 |
4.706 |
26 |
0.208 |
3 |
4.429 |
15 |
4.014 |
27 |
0.128 |
4 |
5.536 |
16 |
3.391 |
28 |
0.069 |
5 |
6.505 |
17 |
2.768 |
29 |
0.069 |
6 |
7.128 |
18 |
2.215 |
30 |
0.069 |
7 |
7.474 |
19 |
1.730 |
||
8 |
7.612 |
20 |
1.384 |
||
9 |
7.474 |
21 |
1.038 |
||
10 |
7.197 |
22 |
0.761 |
||
11 |
6.713 |
23 |
0.554 |
||
12 |
6.090 |
24 |
0.415 |
||
Year 1 |
70.795 |
Year 2 |
99.169 |
Year 2.5 |
99.999 |
Cumulative |
Cumulative |
Cumulative |
What Is Software Quality?
Software Development Process Models
Fundamentals of Measurement Theory
Software Quality Metrics Overview
Applying the Seven Basic Quality Tools in Software Development
Defect Removal Effectiveness
The Rayleigh Model
Exponential Distribution and Reliability Growth Models
Quality Management Models
In-Process Metrics for Software Testing
Complexity Metrics and Models
Metrics and Lessons Learned for Object-Oriented Projects
Availability Metrics
Measuring and Analyzing Customer Satisfaction
Conducting In-Process Quality Assessments
Conducting Software Project Assessments
Dos and Donts of Software Process Improvement
Using Function Point Metrics to Measure Software Process Improvements
Concluding Remarks
A Project Assessment Questionnaire