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