Trends in Productivity and COCOMO Cost Drivers over the Years Vu Nguyen

advertisement
University of Southern California
Center for Systems and Software Engineering
Trends in Productivity and COCOMO
Cost Drivers over the Years
Vu Nguyen
Center for Systems and Software Engineering (CSSE)
CSSE Annual Research Review 2010
Mar 9th, 2010
© 2010, USC-CSSE
1
University of Southern California
Center for Systems and Software Engineering
Outline
Objectives and Background
Productivity Trend
Cost Driver Trends
Discussions and Conclusions
© 2010, USC-CSSE
2
University of Southern California
Center for Systems and Software Engineering
Objectives
• Analysis of Productivity
– How the productivity of the COCOMO data projects
has changed over the years
– What caused the changes in productivity
• Analysis of COCOMO cost drivers
– How cost driver ratings have changed over the
years
– Are there any implications from these changes
© 2010, USC-CSSE
3
University of Southern California
Center for Systems and Software Engineering
Estimation models need upgrading
• It has been 10 years since the release of
COCOMO II.2000
– Data collected during 1970 – 1999
• Software engineering practices and
technologies are changing
– Process: CMM  CMMI, ICM, agile methods
– Tools are more sophisticated
– Advanced communication facility
• Improved storage and processing capability
© 2010, USC-CSSE
4
University of Southern California
Center for Systems and Software Engineering
COCOMO II Formula
• Effort estimate (PM)
PM  A * Size
SF *
B 0.01
 EM
– COCOMO II 2000: A and B constants were calibrated using 161
data points with A = 2.94 and B = 0.91
Size
• Productivity =
PM
• Constant A is considered as the inverse of adjusted
productivity
PM
A
B  0.01 SF
Size
*
 EM
© 2010, USC-CSSE
5
University of Southern California
Center for Systems and Software Engineering
COCOMO Data Projects Over the Five-year Periods
• Dataset has 341 projects completed between 1970 and 2009
– 161 used for calibrating COCOMO II 2000
– 149 completed since 2000
105
102
# of data projects
100
80
60
47
36
40
20
17
12
22
0
0
19701974
19751979
19801984
19851989
19901994
19951999
20002004
20052009
Five-year periods
© 2010, USC-CSSE
6
University of Southern California
Center for Systems and Software Engineering
Outline
Objectives and Background
Productivity Trend
Cost Driver Trends
Discussions and Conclusions
© 2010, USC-CSSE
7
University of Southern California
Center for Systems and Software Engineering
Average productivity is increasing over the
periods
• 1970-1999
productivity trends
largely explained by
cost drivers and scale
factors
• Post-2000
productivity trends
not explained by cost
drivers and scale
factors
KSLOC per PM
• Two productivity increasing trends exist: 1970 – 1994 and 1995 –
2009
1970-1974
1975-1979
1985-1989 1990-1994
1995-1999
2000-2004
2005-2009
Five-year Periods
© 2010, USC-CSSE
8
University of Southern California
Center for Systems and Software Engineering
Effort Multipliers and Scale Factors
EAF
Sum of Scale Factors
• EM’s and SF’s don’t change sharply as does the
productivity over the periods
1970- 19751974 1979
1980- 19851984 1989
19901994
19951999
20002004
20052009
Effort Adjustment Factor (EAF) or ∏EM
© 2010, USC-CSSE
1970- 19751974 1979
1980- 19851984 1989
19901994
19951999
20002004
20052009
Sum of Scale Factors (SF)
9
University of Southern California
Center for Systems and Software Engineering
Constant A generally decreases over the periods
• Calibrate the constant A while stationing B = 0.91
• Constant A is the inverse of adjusted productivity
– adjusts the productivity with SF’s and EM’s
• Constant A decreases over the periods
3.5
3.0
SF *
B 0.01
PM
A
B  0.01 SF
Size
*
 EM
 EM
2.5
Constant A
PM  A * Size
2.0
1.5
50% decrease
over the post2000 period
1.0
0.5
0.0
0
19701
1974
© 2010, USC-CSSE
19752
1979
19803
1984
19854
1989
19905
1994
19956
1999
20007
2004
20058
2009
9
10
University of Southern California
Center for Systems and Software Engineering
Outline
Objectives and Background
Productivity Trend
Cost Driver Trends
Discussions and Conclusions
© 2010, USC-CSSE
11
University of Southern California
Center for Systems and Software Engineering
Correlation between cost drivers and
completion years
• Trends in cost drivers
– Cost drivers unchanged
• TEAM, FLEX, RESL, RELY, CPLX, ACAP, PCAP, RUSE,
DOCU, PCON, SITE, SCED
– Increasing trends: increasing effort
• DATA, APEX
– Decreasing trends: decreasing effort
• PMAT, TOOL, PREC,TIME, STOR, PLEX, LTEX, PVOL
© 2010, USC-CSSE
12
University of Southern California
Center for Systems and Software Engineering
Application and Platform Experience
• Platform and language experience has increased while
application experience decreased
– Programmers might have moved projects more often in more
recent years
© 2010, USC-CSSE
13
University of Southern California
Center for Systems and Software Engineering
Use of Tools and Process Maturity
• Use of Tools and Process Maturity have
increased significantly
© 2010, USC-CSSE
14
University of Southern California
Center for Systems and Software Engineering
Storage and Time Constraints
• Storage and Time are less constrained than
they were
© 2010, USC-CSSE
15
University of Southern California
Center for Systems and Software Engineering
Outline
Objectives and Background
Productivity Trend
Cost Driver Trends
Discussions and Conclusions
© 2010, USC-CSSE
16
University of Southern California
Center for Systems and Software Engineering
Discussions
• Productivity has doubled over the last 40 years
– But scale factors and effort multipliers did not fully characterize this
increase
• Hypotheses/questions for explanation
– Is standard for rating personnel factors different among the
organizations?
– Were automatically translated code reported as new code?
– Were reused code reported as new code?
– Are the ranges of some cost drivers not large enough?
• Improvement in tools (TOOL) only contributes to 20% reduction
in effort
– Are more lightweight projects being reported?
• Documentation relative to life-cycle needs
© 2010, USC-CSSE
17
University of Southern California
Center for Systems and Software Engineering
Conclusions
• Productivity is generally increasing over the 40year period
– SF’s and EM’s only partially explain this improvement
• Advancements in processes and technologies
affect some cost drivers
– But majority of the cost driver ratings are unchanged
• Changes in productivity and cost drivers indicate
that estimation models should recalibrate regularly
© 2010, USC-CSSE
18
University of Southern California
Center for Systems and Software Engineering
Thank You
© 2010, USC-CSSE
19
Download