UNIVERSITY OF MONTERREY DIVISION OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE SOFTWARE QUALITY
PSP Interim Report.
Software Qualt! Mar"a #$%&e'
Mar(arta )e #e*+* Torre* Al,ara)o -./0/1
Sa& Pe)ro Gar'a Gar2"a3 Nue,o Le4&3 to Mar25 673 -167
Table 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 fi times...................................................................1! Question Question ": Analysis Analysis of defects........... defects................... ................. .................. .................. ...................................... .................................13 ....13 #onclusions.............................................................................................................1$ %eferences...............................................................................................................1&
Introduction
'(e ob)ective of t(e *+* interim report is to establis( a process baseline against ,(ic( you can measure your personal process improvement bot( during t(e *+* course and ,(en you later use t(e *+* to guide your ,or-. or t(is analysis it is important to (ave completed programs from first to fourt(/ as t(e (istorical data of our past/ suc( as data estimation sizes/ times/ defects/ as ,ell as data related to time programs are ta-en/ sizes/ and real defects. 0nce acuired t(ese s-ills in t(e tool documentation/ ,e are ready to ma-e t(e documents by (and/ from planning template to template defects. '(e principal ob)ective of t(e *+* for ngineers I class ,as to s(o, you (o, to accurately measure/ estimate/ and plan your ,or-. . '(is report ,ill assist you by providing a baseline of personal process data against ,(ic( to evaluate your *+* course results. It ,ill enable you to analyze your size/ time/ and defect data understand t(e accuracy of your estimates and plans understand ,(ere you spend your development time understand (o, defects affect your development time define a process for your personal use 'o understand (o, ,e develop/ improve t(e productivity of our future programs/ as ,ell as also t(e defects/ also allo,s us to find our areas of opportunity and prevent defects or errors in our developments. '(e ,or-ing ,(ere ,e (eaded *+* (elps us understand (o, ,e ,or- and maybe in t(e future to ma-e our o,n met(odology.
1
Question 1: Analysis of size estimating accuracy a) (at are t(e average/ maimum/ and minimum actual sizes of your programs in 50# to date6
As s(o,n in t(e table t(e maimum size of lines of code too- place in t(e t(ree programs due to t(e number of operations performed in suc( delivery. '(e smaller of lines of code in t(e program too- place t,o due to t(e amount of reused lines and compactness of operations. '(e average actual size of my programs in 50# to date is 12&." lines of code/ t(e minimum size is ! 50# and t(e maimum size to date is 1"4 lines of code.
Actual Size 180 160 140 120 100 Size Units 80 60 40 20 0
154 128.5 ActualNC 90
1
2
3
4
Project ID
ProjectID
ActualNC
1
1"3
2
!
3
1"4
4
117
Min 90 Average 128.5 Max 154
b) cluding assignment 1/ ,(at percentage over or under t(e actual size ,as t(e estimated size 8e.g./ if estimated9actual is in / &" is 1" under/ 12! is 2! over; for eac( program6 (at are your average/ maimum/ and minimum values for t(ese. 2
or program 2 is (as an estimated size of 1&" lines of code/ against an actual size of ! lines of code< In percentage lines are estimated by over 1!$ of actual size. or t(e program 3 is (as an estimated size of 14! lines of code/ against an actual size of 1"4 lines of code< '(e estimated percentage lines are under of actual size. 'o program 4 it (as an estimated size of &2."& lines of code/ against an actual size of 117 lines of code< '(e estimated percentage lines are 2 under real size. '(e average percentage is 4&/ t(e minimum value is and t(e maimum value is 1!$. =y estimates ,ere mostly under/ in t(e program 3 and 2 in program 4 because t(ey did not provide include some lines in design. *rogram 2 ,it( my estimate ,as over 1!$/ I committed t(is mista-e because it remains one of my first programs t(oug(t I ,ould need a lot of lines.
Estimated size vs Actual size 200 180 160 140 120 Size Units 100 80 60 40 20 0 2
Estimated size Actual size
3
in A!erage a"
4
4& 1!$
3
ProjectI D 2 3 4
Estimated size 1&" 14! &2."&
Actual size 90 154 117
Porcent age 106% #e$ 9% &de$ 29% &de$
c) cluding assignment 1/ ,(at is t(e cumulative total error for size estimates 8i.e./ total estimated size 9 total actual size;6
'(e cumulative total error for size estimates is 13 over/ ,it( a difference of 4$."& lines of code/ my total estimated lines rose too muc( for t(e poor estimate of 1!$ over program 2.
Total Estimated Size vs Total Actual Size 420 400 380 360 340 320 Total Estimated Size
Total Estimated Size Total Actual Size Total Error
Total Actual Size
407.58 361
113%
13% !E" 4
Question #: Analysis of time estimating accuracy and $roducti!ity a) (at are t(e average/ maimum/ and minimum times of your assignments to date6
'(e average actual development time of my programs in (ours to date is 4.33 (ours/ t(e minimum time is 2."! (ours and t(e maimum time to date is "."" (ours. =y current maimum time is "."" (ours in t(e program 2/ I ta-e a long time planning (o, to perform t(e counting lines/ t(e minimum is 2."! (ours in t(e program 4 is my s(ortest time because as I ,as progressing acuired practiced in t(e process .
ProjectID
%rs
1
".!"722222
2
".""14444
3
4.21&&&&&
4
2."!"&3333
2.505833 Min 33 4.333472 Average 22 5.551944 Max 44
5
Actual Development Time 6 5 '$s
4 Hours 3 2 1 0
1
2
3
4
b) (at are t(e average/ maimum/ and minimum values for productivity per program to date in 50#9(r.6
'(e average for productivity per program to date is 32.41 50#9(r/ t(e minimum is 1$.21 50#9(r and t(e maimum to date is 4$.$ 50#9(r. I obtained t(e (ig(est productivity in t(e program 4/ did more lines of code in less time also I (ad very fe, errors/ lo,er productivity once again ,as in t(e program t,o ta-e muc( time planning and (ad very fe, lines of code.
Productivity 50 45 40 35 30 Size Units per Hours 25 20 15 10 5 0
($oducti#it)
1
Min Average Max
2
3
16.21053 685 32.41446 388 46.69105 421
4
6
c) (at percentage over or under t(e actual time ,as t(e estimated time 8e.g./ if estimated9actual is in / &" is 1" under/ 12! is 2! over; for eac( program6 (at are your average/ maimum/ and minimum values for t(ese6
or program 1 are (as an estimated time of 3 (ours/ against an actual time of ".!" (ours< t(e estimated percentage time is under 41 of actual time. or program 2 are (as an estimated time of 4.33 (ours/ against an actual time of "."" (ours< '(e estimated percentage time is under 22 of actual time. or program 3 are (as an estimated time of 7." (ours/ against an actual time of 4.21 (ours< '(e estimated percentage time is over 7& of actual time. or program 4 are (as an estimated time of 3.3 (ours/ against an actual time of 2."! (ours< '(e estimated percentage time is over 32 of actual time. '(e average percentage is 43/ t(e minimum value is 22 and t(e maimum value is 7&. =y time estimate ,as over 4& minutes apart on t(e current time< I (ad a best estimate of time in comparison to t(e size/ because it too- me almost al,ays t(e same.
7
Actual time vs Estimated time 8 7 6
Actual Time
5
Estimated Time
Hours 4 3 2 1 0 1
2
3
in A!erage a"
ProjectI D Actual Time &stimated Time ".!"722222 1 2 3 ".""14444 2 4 4.33 4.21&&&&&& 3 7." 2."!"&3333 4 3 3.3!7
Porcentag e
41
4
22 43 7&
>nder >nder 0ver 0ver
22 7& 32
d) (at is t(e cumulative total error for time estimates 8i.e./ total estimated time 9 total actual time;6
8
'(e cumulative total error for time estimates is " over/ my time estimate ,as over 4& minutes apart on t(e current time/ I (ad a best estimate of time in comparison to t(e size/ because it too- me almost al,ays t(e same. Total &stimated Time Total Actual Time Total &rror
1&.14!3333 3 17.333&&&& 1!"
" 0?%
Total Actual Time vs Total Estimated Time 18.5
18
Hours 17.5 17
16.5 Total Estimated Time
Total Actual Time
Question ': Analysis of time distribution
a; (at percentage of time do you spend on average in eac( process p(ase 8planning/ design/ code/ compile/ test/ postmortem;6 In design and code ta-en toget(er6 In compile and test ta-en toget(er6 '(e percentage of time spent in eac( p(ase of *+*/ is summarized in t(e follo,ing table. '(e p(ase ,(ere I spend more time coding is in/ ,it( an average of 47.!2. @esign and coding my time percentage ,as "$.17 in compilation and test my percentage ,as 1&.11
9
Pase Percentage (*AN+ 12.99 (*AN (,
(,+ 12.92
C,(-*E
CE+ 47.02
%T * C,(-*E+ 10.95
CE
%T+ 7.16 *+ 9.15
ID
P(AN
PM
CPI(&
1
.!4!7""
7.!$3$!"4
24.1!1444
2
1$.4$"7!2 7
1&.41$71
7.!4$11"
3
14.47&"3" 7 17."4$7474
$.2$1"222"
4
11.$!7 &.$4$41"2
$.3"1&4"$
*T
D(D
CD&
41.25412 54 12.4!2"!47 6.270627 5.705705 46.54654 7 65 ".&&2& 14.62450 42.29249 59 01 4.&"!2 10 58 ".37$344!
C+T&,T 3$."!4441 13.!3"1!& 11.12!$21" 11.72&1&&
Percent Time P!A" 13.2
PM 13.5
#$MPI! E 11.7
UT 7.5
D!D 8.6
#$DE 45.6
#$M%TE D!D%#$ ST DE 19.2 54.2
10
D(D+C &
47.5247 24 52.2522 22 56.9169 6 68
b; If you spend 1!!! (ours ,riting programs similar to t(ose in class/ (o, muc( time are you li-ely to spend in design6 In coding6 In unit test6 o, many lines of code are you li-ely to ,rite in t(at time6 o, many defects are you li-ely to find in unit test6 If I (ad 1!!! (ours to develop similar pro)ects t(at (ave made/ it ,ould ta-e me (ours per p(ase are as follo,s: %ours " $-ase P(AN
D(D
CD&
CPI(&
*T
P
130
90
470
110
70
130
2$"2.&"7 ,rite lines of code in all/ a total of 1!$ defects and (ave t(e >' ,ould (ave a p(ase euivalent to 17". All t(ese numbers are based on my current totals ,it( 17 (ours I am able to ,rite "14 lines of code and generate 1 defects in total.
19 29652.89 *C 57 TTA* T-,E 1000 $s 1096.118 TTA* EECT 71 TTA* EECT 175.3789 T 94 ACTA* E TTA* E T 3 (" E T 16% 1.096118 E/'" 71 ACTA* *C ACTA* T-,E ACTA* *C/'"
514 17.33388 89 29.65289 57
Question .: Analysis of defect fi" times
a; Analyze t(e defect fi times/ based on t(e p(ase in)ected and removed. 11
ProjectID
1
2
3
4
P-ase Injected
P-ase /emo!ed
@5@
#0=*I5
@5@
#0=*I5
@5@
#0=*I5
@5@
>'
@5@
>'
@5@
>'
@5@
#0=*I5
@5@
#0=*I5
@5@
#0=*I5
@5@
#0=*I5
@5@
*=
@5@
*=
#0=*I5
*=
*=
*=
* (*AN (, (, (*AN
CE (, (, (, (*AN
PHASE I"&E#TED * 13 C,(-*E 1 (, 3 (*AN 2
Total )ix Time
0i" Time
Ty$e
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 'EM$(ED C,(-*E T (, CE (*AN
7 3 7 1 1
)ix Time 50 29 97 5 10
191
*(ase ,(ere in)ection ,as more errors in design ,it( 13 total defects. In t(e p(ase removed more errors in compilation and ,as postmortem in ,(ic( removed 7 defects/ ,it( a difference in compilation "! minutes later I remove postmortem total and 7 minutes in total.
12
PHASE 'EM$(ED /+
*
*+
C,(-*E T (, CE (*AN
-.
,-
b; (at category (ad t(e largest average fi time6 '(e category (as t(e largest average fi time is t(e function ,it( an average of 12." min/ t(e function category corresponds to t(e number &! and is made defects logic/ pointers/ loops/ recursion/ computation. 5ogical errors are t(e most timeBconsuming to resolve as it not only depends on t(e synta if not to t(in- ,ell (o, it ,ill solve t(e problem most of my fla,s are due to t(is. Ty$e
0i" 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
A!erage
11.5
5 2
12
12.5
13
80 80 80
12 12 28
c; (at category (ad t(e largest total fi time6 '(e category in ,(ic( I later time in total ,as more a function ,it( a total of 7" minutes to resolve suc( errors/ as (ad been mentioned t(ese defects are usually more timeBconsuming to solve for me. Ty$e
0i" 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
Question : Analysis of defects
a; (at are t(e average/ maimum/ and minimum values for total defects per program to date6 '(e average number of defects is 4.7"/ t(e maimum value is & defects and defects minimum is 1 defect. According to t(e c(art ,e can see t(at t(e most important problems are reflected on t(e left side/ bone concentrated in *rogram 2 and *rogram 1/ t(ey ma-e &! of t(e problems/ t(e rig(t side can see t(e problems ,it( minor t(ose of program 3 and 4 ,(ic( represent 2! '(us ,e can see t(at solving t(e critical problems t(at ,e almost solved t(e defects. Min 1 Average 4.75 Max 8
8
0.95
7
1
1 0.9 0.8
6
0.74
0.7
5
0.6
4
0.5
3 2
0.42
0.4 0.3
E ("
0.2
1
0.1
0
0
15
b; (at are t(e average/ maimum/ and minimum values for defect density in compile and unit test per program to date6 According to t(e c(art ,e can see t(at t(e most important problems are reflected in t(e program 2 ,(erein t(e defect density is 44.44 stages of compile and unit test/ if ,e solve t(ese defects ,e almost solved t(e problem.
90 83.66
80
83.66
83.66
70 60 50 40
eect e&sit)
44.44 39.22 39.22
Total e e&
30 20 10 0 1
03
2
04
De0ect Density ProjectID
Com$ile
Test
Defect Density
1
1.$!7&431 1.$!7&431 39.21568627
2
44.4444444
!
3
!
!
0
4
!
!
0
44.44444444
Total Def Den
39.215686 27 83.660130 72 83.660130 72 83.660130 72
Min 0 Average 20.91503268 Max 44.44444444
16
c; (ic( defect type accounts for t(e most time spent in compile6 In test6 In ,(ic( p(ase ,as eac( type of defect in)ected most often6
'(e defect type accounts for t(e most time spent in compile is unction and Assignment ,it( t,o freuencies. '(e defect type accounts for t(e most time spent in 'est is unction ,it( t(ree freuencies. '(e p(ase ,as eac( type of defect in)ected most often is @esign. EECT
P'$&E#T 1 2 3 4 T$TA! 1 PHASE (ase (e$ce&tae
ProjectID
1
2
P(AN
D( D
CD&
CPI(&
*T
P
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
0
1 5.263157 89
7 36.84210 53
3 15.78947 37
7 36.84210 53
0
P-ase Injected
P-ase /emo!ed
@5@
#0=*I5
@5@
#0=*I5
@5@
#0=*I5
@5@
>'
@5@
>'
@5@
>'
@5@
#0=*I5
@5@
#0=*I5
@5@
#0=*I5
@5@
#0=*I5
@5@
*=
@5@
*=
#0=*I5
*=
*=
*=
0i" Time
Ty$e
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
* (*AN (, (, (*AN
3
4
PHASE I"&E#TED * 13 C,(-*E 1 (, 3 (*AN 2 Total )ix Time
CE (, (, (, (*AN
5 8 9 26 10
PHASE 'EM$(ED C,(-*E T (, CE (*AN
50 10 10 50 10
7 3 7 1 1
)ix Time 50 29 97 5 10
191
Conclusions According 'o my results seen in t(e interim report/ I can notice t(at I spend in my estimates of bot( time and size< ,it( respect to productivity ,ill Increase as t(ey develop pro)ects/ my average size estimates are (ig( because t(e program 2 me stop by 1!$ compared ,it( t(e current< in all ot(er programs my estimates ,ere lo, ,it( and 2 belo, t(e actual/ as I progress during my estimates are becoming increasingly better for t(e net program I (ope to do better estimates of size to (ave better numbers as t(e difference bet,een total current lines estimated and is only 13 above ,it( 4!7."& estimated and 3$1 current.
it( respect to defects in)ected into my programs I can see t(at my problems occur primarily in t(e design stage and compilation because I al,ays too- to understand t(e issues/ to little time in t(e design p(ase because not t(in-ing clearly and t(at I affected in ot(er p(ases (ad to return to correct past mista-es/ (ad 1 total defects t(at ,ere mostly function ,it( a total of 7" minutes to resolve. In t(e (istory of my proposal process improvement al,ays my problems ,ere related to understanding t(e problem or program to perform and understanding of documentation *+*/ one of my biggest problems to date is t(e lac- of reading before t(e problem/ as an upgrade for my net pro)ects propose to read me bacissues documentation as it is one of t(e impairments to finis( faster and better uality on t(is (oliday read entire boo- and I ,ill ma-e a summary of t(e important points and I ,ill ma-e a s(ort form in my noteboo-.
18
'(e *I* in t(e process of *+* is a document in ,(ic( you describe t(e problems t(at you spent during t(e process/ t(e solution t(at implement for eac( problem and also improvements for t(e net program/ t(is document is very important because you can resolve all t(e problems t(at you spent in eac( development/ solutions and ,ays of seeing into t(e future ,it( improvements. '(e trend to use in t(e development of my programs ,as 13 over t(e size of lines of code/ and " over time compared ,it( actual data/ alt(oug( it is not muc( difference in t(e estimates if ICm by top of reality/ for my upcoming developments try to be more accurate in t(ese calculations/ do,n a bit but my estimate percentages not reac( t(at are belo, 1!!. *+* uses t(e *%0D met(od to estimate and plan pro)ects/ provides support for t(e estimate based on proies. '(is met(od of estimation used proies to estimate t(e size of t(e program and development time. Eood use of t(is met(od ,ill (elp to ma-e accurate estimates. '(e first step is to estimate a conceptual design. 'o perform a conceptual design/ identify product features and parts of t(e program needed to produce. 0nce you (ave selected a proy/ t(e proy must obtain information/ organize information for use in estimating/ use t(e information to estimate t(e size of t(e proies in t(e ne, program combine estimates of proy to t(e estimate product/ to estimate t(e resource and produce a pro)ect plan. 'o pro)ect t(e size and development time program/ find t(e euation for linear regression. '(en use t(e regression formula to pro)ect size and time. is t(e estimated size of t(e proy. '(is met(od is very important in t(e process as it (elps us to estimate t(e times and sizes/ ,(ic( can also serve many ot(er t(ings for anyt(ing ,e ,ant to estimate.
19
/eferences
'um$e) . S. s... PSP A Self-Improvement Process for Software Engineers. SE-.
20