COCOMO-Based Effort Estimation for Iterative and Incremental Software Development

Incremental software development and delivery have been used in software projects in many ways for many years. Justifications for incremental approaches include risk amelioration, the management of evolving requirements, and end-user involvement. Incremental development, including iterative, incremental delivery, has become a norm in many sectors. However, there has been little work on modelling the effort in such development and hence a dearth of comparative analyses of cost models for incremental development/delivery. We attempt to rectify this by proposing a COCOMO-style effort model for incremental development/delivery and explore the relationship between effort and the number of increments, thereby providing new insights into the economic impact of incremental approaches to software projects.

[1]  Dorothy R. Graham,et al.  Incremental development and delivery for large software systems , 1992 .

[2]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[3]  Meir M. Lehman,et al.  Rules and Tools for Software Evolution Planning and Management , 2001, Ann. Softw. Eng..

[4]  Glenford J. Myers,et al.  Structured Design , 1999, IBM Syst. J..

[5]  Michael A. Cusumano,et al.  Software Development on Internet Time , 1999, Computer.

[6]  Julie Johnson What is the Rational Unified Process ? , 1999 .

[7]  Walter Royce,et al.  TRW's Ada Process Model for incremental development of large software systems , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[8]  H. D. Benington,et al.  Production of Large Computer Programs , 1983, Annals of the History of Computing.

[9]  John D. Musa,et al.  Operational profiles in software-reliability engineering , 1993, IEEE Software.

[10]  Meir M. Lehman,et al.  Approach to a theory of software evolution , 2001, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[11]  Philippe Kruchten,et al.  What Is the Rational Unified Process ? , 2001 .

[12]  Tom Gilb,et al.  Principles of software engineering management , 1988 .

[13]  T. Capers Jones,et al.  Estimating software costs , 1998 .

[14]  Barry W. Boehm,et al.  Calibrating the COCOMO II Post-Architecture model , 1998, Proceedings of the 20th International Conference on Software Engineering.

[15]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[16]  J. Stapleton,et al.  DSDM: Dynamic Systems Development Method , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275).

[17]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[18]  Walker Royce,et al.  Software Project Management: A Unified Framework , 1998 .

[19]  Walker Royce Pragmatic quality metrics for evolutionary software development models , 1990, TRI-Ada '90.

[20]  Harlan D. Mills,et al.  Cleanroom Software Engineering , 1987, IEEE Software.

[21]  Ruth Milkman,et al.  Microsoft Secrets: How the World's Most Powerful Software Company Creates Technology, Shapes Markets, and Manages People , 1995 .

[22]  Barry W. Boehm,et al.  Get Ready for Agile Methods, with Care , 2002, Computer.

[23]  David Lorge Parnas,et al.  Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .

[24]  David F. Rico Software Process Improvement , 2004, Lecture Notes in Computer Science.

[25]  A. Elssamadisy,et al.  Recognizing and responding to "bad smells" in extreme programming , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[26]  Lech Krzanik Enactable models for quantitative evolutionary software processes , 1988, ISPW '88.

[27]  Darren Dalcher Life Cycle Design and Management , 2002 .

[28]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[29]  Victor R. Basili,et al.  Iterative enhancement: A practical technique for software development , 1975, IEEE Transactions on Software Engineering.

[30]  Amr Elssamadisy,et al.  Recognizing and responding to "bad smells" in extreme programming , 2002, ICSE '02.

[31]  Grady Booch,et al.  Object Solutions: Managing the Object-Oriented Project , 1995 .

[32]  Richard W. Selby,et al.  Microsoft Secrets-How the World''s Most Powerful Software Company Creates Technology , 1995 .

[33]  James C. Wetherbe,et al.  Heuristic Development: A Redesign of Systems Design , 1979, MIS Q..

[34]  Richard V. Giddings Accommodating uncertainty in software design , 1984, CACM.

[35]  M LehmanMeir,et al.  Rules and Tools for Software Evolution Planning and Management , 2001 .

[36]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[37]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[38]  Jr. Frederick P. Brooks,et al.  The mythical man-month (anniversary ed.) , 1995 .

[39]  Wolfgang Hesse Theory and Practice of the Software Process: A Field Study and Its Implications for Project Management , 1996, EWSPT.

[40]  W. W. Royce,et al.  Managing the development of large software systems: concepts and techniques , 1987, ICSE '87.

[41]  Sebastian G. Elbaum,et al.  Code churn: a measure for estimating the impact of code change , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[42]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[43]  Harlan D. Mills Software Development , 1976, IEEE Transactions on Software Engineering.

[44]  D. R. Graham Incremental development: review of nonmonolithic life-cycle development models , 1989 .