Software Quality
Mara Jimnez
Table of contents
Introduction................................................................................................................1
Question 1: Analysis of size estimating accuracy......................................................2
Question 2: Analysis of time estimating accuracy and productivity...........................4
Question 3: Analysis of time distribution....................................................................7
Question 4: Analysis of defect fix times...................................................................10
Question 5: Analysis of defects...............................................................................13
Conclusions.............................................................................................................16
References...............................................................................................................18
Introduction
The objective of the PSP interim report is to establish a process baseline against
which you can measure your personal process improvement both during the PSP
course and when you later use the PSP to guide your work. For this analysis it is
important to have completed programs from first to fourth, as the historical data of
our past, such as data estimation sizes, times, defects, as well as data related to
time programs are taken, sizes, and real defects. Once acquired these skills in the
tool documentation, we are ready to make the documents by hand, from planning
template to template defects. The principal objective of the PSP for Engineers I
class was to show you how to accurately measure, estimate, and plan your work.
.
This report will assist you by providing a baseline of personal process data against
which to evaluate your PSP course results. It will enable you to
analyze your size, time, and defect data
understand the accuracy of your estimates and plans
understand where you spend your development time
understand how defects affect your development time
define a process for your personal use
To understand how we develop, improve the productivity of our future programs, as
well as also the defects, also allows us to find our areas of opportunity and prevent
defects or errors in our developments. The working where we headed PSP helps
us understand how we work and maybe in the future to make our own
methodology.
Actual Size
180
160
140
120
100
Size Units
80
60
40
20
0
154
128.5
ActualNC
90
Project ID
ProjectID
1
2
3
4
ActualNC
153
90
154
117
Min
Average
Max
90
128.5
154
b) Excluding assignment 1, what percentage over or under the actual size was
the estimated size (e.g., if estimated/actual is in %, 85% is 15% under,
120% is 20% over) for each program? What are your average, maximum,
and minimum values for these.
2
Estimated size
Actual size
Min
Average
Max
9%
48%
106%
ProjectI
D
2
3
4
Estimated
size
185
140
82.58
Actual
size
90
154
117
Porcent
age
106%
Over
9%
Under
29%
Under
c) Excluding assignment 1, what is the cumulative total error for size estimates
(i.e., total estimated size / total actual size)?
The cumulative total error for size estimates is 13% over, with a difference of
46.58 lines of code, my total estimated lines rose too much for the poor
estimate of 106% over program 2.
Total
Estimated Size
Total Actual
Size
Total Error
407.58
361
113%
13%
OVER
4
ProjectID
1
2
3
4
Hrs
5.05722222
5.55194444
4.21888889
2.50583333
2.505833
33
4.333472
Average
22
5.551944
Max
44
Min
4
Hours 3
2
1
0
b) What are the average, maximum, and minimum values for productivity per
program to date in LOC/hr.?
The average for productivity per program to date is 32.41 LOC/hr, the
minimum is 16.21 LOC/hr and the maximum to date is 46.69 LOC/hr.
I obtained the highest productivity in the program 4, did more lines of code
in less time also I had very few errors, lower productivity once again was in
the program two take much time planning and had very few lines of code.
Productivity
50
45
40
35
30
Size Units per Hours 25
20
15
10
5
0
Productivity
Min
Average
Max
16.21053
685
32.41446
388
46.69105
421
c) What percentage over or under the actual time was the estimated time (e.g.,
if estimated/actual is in %, 85% is 15% under, 120% is 20% over) for each
program? What are your average, maximum, and minimum values for
these?
For program 1 are has an estimated time of 3 hours, against an actual time
of 5.05 hours; the estimated percentage time is under 41% of actual time.
For program 2 are has an estimated time of 4.33 hours, against an actual
time of 5.55 hours; The estimated percentage time is under 22% of actual
time. For program 3 are has an estimated time of 7.5 hours, against an
actual time of 4.21 hours; The estimated percentage time is over 78% of
actual time. For program 4 are has an estimated time of 3.3 hours, against
an actual time of 2.50 hours; The estimated percentage time is over 32% of
actual time.
The average percentage is 43%, the minimum value is 22% and the
maximum value is 78%. My time estimate was over 48 minutes apart on the
current time; I had a best estimate of time in comparison to the size,
because it took me almost always the same.
Actual Time
Estimated Time
Hours 4
3
2
1
0
1
Min
Average
Max
ProjectI
Porcentag
D
Actual Time Estimated Time
e
5.05722222
1
2
3
41%
5.55194444
2
4
4.33
22%
4.21888888
3
9
7.5
78%
2.50583333
4
3
3.307
32%
22%
43%
78%
Under
Under
Over
Over
The cumulative total error for time estimates is 5% over, my time estimate
was over 48 minutes apart on the current time, I had a best estimate of time
in comparison to the size, because it took me almost always the same.
Total Estimated
Time
Total Actual Time
Total Error
18.1403333
3
17.3338888
9
105%
5% OVER
18
Hours 17.5
17
16.5
Phase Percentage
PLAN; 12.99
PLAN
PM
PM; 12.92
COMPILE
CODE; 47.02
UT
DLD
COMPILE; 10.95
CODE
UT; 7.16
DLD; 9.15
ID
1
2
3
4
PLAN
PM
9.0409755
16.465702
7
14.478535
7
11.9609799
COMPILE
UT
7.0636054
24.1019444
12.4025047
18.416971
7.0946115
5.99889928
17.5467474
8.64649152
6.26152225
6.35184569
4.85909929
5.37634409
DLD
CODE
COM+TEST
41.25412
47.52475
6.270627
54
24
36.5044491
5.705705 46.54654
52.25225
7
65
22
13.0935108
14.62450 42.29249
56.91699
59
01
6
11.1206215
10
58
68
11.7281898
Percent Time
PLAN
13.2
PM
13.5
COMPIL
E
11.7
UT
7.5
DLD
8.6
DLD+COD
E
CODE
45.6
COM+TE DLD+CO
ST
DE
19.2
54.2
10
b) If you spend 1000 hours writing programs similar to those in class, how
much time are you likely to spend in design? In coding? In unit test? How
many lines of code are you likely to write in that time? How many defects
are you likely to find in unit test?
If I had 1000 hours to develop similar projects that have made, it would take
me hours per phase are as follows:
Hours x phase
PLAN
DLD
CODE
COMPILE
UT
PM
130
90
470
110
70
130
29652.8957 write lines of code in all, a total of 1096 defects and have the
UT would have a phase equivalent to 175.
All these numbers are based on my current totals with 17 hours I am able to
write 514 lines of code and generate 19 defects in total.
19
29652.89
57
1000 hrs
1096.118
TOTAL DEFECT
71
TOTAL DEFECT 175.3789
UT
94
ACTUAL DEF
TOTAL DEF UT
3
POR DEF UT
16%
1.096118
DEF/HR
71
ACTUAL LOC
LOC
TOTAL TIME
ACTUAL TIME
ACTUAL
LOC/HR
514
17.33388
89
29.65289
57
ProjectID
3
4
Phase Injected
DLD
DLD
DLD
DLD
DLD
DLD
DLD
DLD
DLD
DLD
Phase
Removed
COMPILE
COMPILE
COMPILE
UT
UT
UT
COMPILE
COMPILE
COMPILE
COMPILE
DLD
DLD
COMPILE
PM
PM
PM
PM
PM
DLD
PLAN
PM
PM
PLAN
CODE
PM
PM
PM
PLAN
PHASE INJECTED
DLD
13
COMPILE
1
PM
3
PLAN
2
Total Fix
Time
Fix Time
Type
2
2
28
7
10
12
5
6
2
5
12
25
9
8
5
8
9
26
10
40
40
80
80
80
80
50
80
40
30
80
10
10
10
50
10
10
50
10
PHASE REMOVED
COMPILE
UT
PM
CODE
PLAN
7
3
7
1
1
Fix Time
50
29
97
5
10
191
Phase where injection was more errors in design with 13 total defects. In the
phase removed more errors in compilation and was postmortem in which
removed 7 defects, with a difference in compilation 50 minutes later I
remove postmortem total and 97 minutes in total.
12
PHASE REMOVED
5
10
50
COMPILE
UT
PM
CODE
PLAN
97
29
Fix Time
10
10
10
10
10
10
30
40
40
40
50
50
50
80
80
80
8
8
9
9
10
25
5
2
2
2
5
5
26
6
7
10
Average
11.5
5
2
12
12.5
13
80
80
80
12
12
28
Fix Time
10
10
10
10
10
10
30
40
40
40
50
50
50
80
80
80
80
80
80
8
8
9
9
10
25
5
2
2
2
5
5
26
6
7
10
12
12
28
Total
69
5
6
36
75
14
1
4.75
8
0.95
1
0.9
0.8
0.74
0.7
0.6
0.5
3
2
0.42
0.4
0.3
DEF X PRO
0.2
0.1
15
b) What are the average, maximum, and minimum values for defect density in
compile and unit test per program to date?
According to the chart we can see that the most important problems are
reflected in the program 2 wherein the defect density is 44.44 stages of
compile and unit test, if we solve these defects we almost solved the
problem.
90
83.66
80
83.66
83.66
70
60
50
40
39.22
39.22
Defect Density
44.44
30
20
10
0
1
03
04
Defect Density
ProjectID
Compile
Test
Defect Density
44.4444444
44.44444444
39.215686
27
83.660130
72
83.660130
72
83.660130
72
Min
0
Average 20.91503268
Max
44.44444444
16
c) Which defect type accounts for the most time spent in compile? In test? In
which phase was each type of defect injected most often?
The defect type accounts for the most time spent in compile is Function and
Assignment with two frequencies. The defect type accounts for the most time spent
in Test is Function with three frequencies. The phase was each type of defect
injected most often is Design.
DEFECT
PROJECT
1
2
3
4
TOTAL X
PHASE
Phase
Percentage
ProjectID
PLAN
DL
D
CODE
COMPILE
UT
PM
0
0
0
1
0
0
0
0
0
0
1
0
3
4
0
0
3
0
0
0
0
4
3
0
1
5.263157
89
1
5.263157
89
7
36.84210
53
3
15.78947
37
7
36.84210
53
Phase Injected
DLD
DLD
DLD
DLD
DLD
DLD
DLD
DLD
DLD
DLD
DLD
DLD
COMPILE
PM
Phase
Removed
COMPILE
COMPILE
COMPILE
UT
UT
UT
COMPILE
COMPILE
COMPILE
COMPILE
PM
PM
PM
PM
Fix Time
Type
2
2
28
7
10
12
5
6
2
5
12
25
9
8
40
40
80
80
80
80
50
80
40
30
80
10
10
10
17
DLD
PLAN
PM
PM
PLAN
3
4
PHASE INJECTED
DLD
13
COMPILE
1
PM
3
PLAN
2
Total Fix
Time
CODE
PM
PM
PM
PLAN
5
8
9
26
10
PHASE REMOVED
COMPILE
UT
PM
CODE
PLAN
50
10
10
50
10
7
3
7
1
1
Fix Time
50
29
97
5
10
191
Conclusions
According To my results seen in the interim report, I can notice that I spend in my
estimates of both time and size; with respect to productivity will Increase as they
develop projects, my average size estimates are high because the program 2 me
stop by 106% compared with the current; in all other programs my estimates were
low with 9% and 29% below the actual, as I progress during my estimates are
becoming increasingly better for the next program I hope to do better estimates of
size to have better numbers as the difference between total current lines estimated
and is only 13% above with 407.58 estimated and 361 current.
With respect to defects injected into my programs I can see that my problems
occur primarily in the design stage and compilation because I always took to
understand the issues, to little time in the design phase because not thinking
clearly and that I affected in other phases had to return to correct past mistakes,
had 19 total defects that were mostly function with a total of 75 minutes to resolve.
In the history of my proposal process improvement always my problems were
related to understanding the problem or program to perform and understanding of
documentation PSP, one of my biggest problems to date is the lack of reading
before the problem, as an upgrade for my next projects propose to read me back
issues documentation as it is one of the impairments to finish faster and better
quality on this holiday read entire book and I will make a summary of the important
points and I will make a short form in my notebook.
18
The PIP in the process of PSP is a document in which you describe the problems
that you spent during the process, the solution that implement for each problem
and also improvements for the next program, this document is very important
because you can resolve all the problems that you spent in each development,
solutions and ways of seeing into the future with improvements.
The trend to use in the development of my programs was 13% over the size of
lines of code, and 5% over time compared with actual data, although it is not much
difference in the estimates if I'm by top of reality, for my upcoming developments
try to be more accurate in these calculations, down a bit but my estimate
percentages not reach that are below 100%.
PSP uses the PROBE method to estimate and plan projects, provides support for
the estimate based on proxies. This method of estimation used proxies to estimate
the size of the program and development time. Good use of this method will help to
make accurate estimates. The first step is to estimate a conceptual design. To
perform a conceptual design, identify product features and parts of the program
needed to produce.
Once you have selected a proxy, the proxy must obtain information, organize
information for use in estimating, use the information to estimate the size of the
proxies in the new program combine estimates of proxy to the estimate product, to
estimate the resource and produce a project plan. To project the size and
development time program, find the equation for linear regression. Then use the
regression formula to project size and time. E is the estimated size of the proxy.
This method is very important in the process as it helps us to estimate the times
and sizes, which can also serve many other things for anything we want to
estimate.
19
References
Humphrey, W. S. (s.f.). PSP A Self-Improvement Process for Software Engineers.
SEI.
20