Skip to main content
Log in

Cost models for future software life cycle processes: COCOMO 2.0

  • Published:
Annals of Software Engineering

Abstract

Current software cost estimation models, such as the 1981 Constructive Cost Model (COCOMO) for software cost estimation and its 1987 Ada COCOMO update, have been experiencing increasing difficulties in estimating the costs of software developed to new life cycle processes and capabilities. These include non-sequential and rapid-development process models; reuse-driven approaches involving commercial off-the-shelf (COTS) packages, re-engineering, applications composition, and applications generation capabilities; object-oriented approaches supported by distributed middleware; and software process maturity initiatives. This paper summarizes research in deriving a baseline COCOMO 2.0 model tailored to these new forms of software development, including rationale for the model decisions. The major new modeling capabilities of COCOMO 2.0 are a tailorable family of software sizing models, involving Object Points, Function Points, and Source Lines of Code; nonlinear models for software reuse and re-engineering; an exponentdriver approach for modeling relative software diseconomies of scale; and several additions, deletions and updates to previous COCOMO effort-multiplier cost drivers. This model is serving as a framework for an extensive current data collection and analysis effort to further refine and calibrate the model's estimation capabilities.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

Abbreviations

3GL:

Third Generation Language

AA:

Percentage of reuse effort due to assessment and assimilation

ACAP:

Analyst Capability

ACT:

Annual Change Traffic

ASLOC:

Adapted Source Lines Of Code

AEXP:

Applications Experience

AT:

Automated Translation

BRAK:

Breakage

CASE:

Computer Aided Software Engineering

CM:

Percentage of code modified during reuse

CMM:

Capability Maturity Model

COCOMO:

Constructive Cost Model

COTS:

Commercial Off-The-Shelf

CPLX:

Product Complexity

CSTB:

Computer Science and Telecommunications Board

DATA:

Database Size

DBMS:

Database Management System

DI:

Degree of Influence

DM:

Percentage of design modified during reuse

DOCU:

Documentation match to life-cycle needs

EDS:

Electronic Data Systems

ESLOC:

Equivalent Source Lines Of Code

FCIL:

Facilities

FP:

Function Points

GFS:

Government Furnished Software

GUI:

Graphical User Interface

ICASE:

Integrated Computer Aided Software Environment

IM:

Percentage of integration redone during reuse

KSLOC:

Thousands of Source Lines Of Code

LEXP:

Programming Language Experience

LTEX:

Language and Tool Experience

MODP:

Modern Programming Practices

NIST:

National Institute of Standards and Technology

NOP:

New Object Points

OS:

Operating System

PCAP:

Programming Capability

PCON:

Personnel Continuity

PDIF:

Platform Difficulty

PERS:

Personnel Capability

PEXP:

Platform Experience

PL:

Product Line

PM:

Person Month

PREX:

Personnel Experience

PROD:

Productivity rate

PVOL:

Platform Volatility

RCPX:

Product Reliability and Complexity

RELY:

Required Software Reliability

RUSE:

Required Reusability

RVOL:

Requirements Volatility

SCED:

Required Development Schedule

SECU:

Classified Security Application

SEI:

Software Engineering Institute

SITE:

Multi-site operation

SLOC:

Source Lines Of Code

STOR:

Main Storage Constraint

T&E:

Test and Evaluation

SU:

Percentage of reuse effort due to software understanding

TIME:

Execution Time Constraint

TOOL:

Use of Software Tools

TURN:

Computer Turnaround Time

USAF/ESD:

U.S. Air Force Electronic Systems Division

VEXP:

Virtual Machine Experience

VIRT:

Virtual Machine Volatility

VMVH:

Virtual Machine Volatility: Host

VMVT:

Virtual Machine Volatility: Target

References

  • Amadeus (1994),Amadeus Measurement System User's Guide, Version 2.3a, Amadeus Software Research, Inc., Irvine, CA.

    Google Scholar 

  • Banker, R., R. Kauffman, and R. Kumar (1994), “An Empirical Test of Object-Based Output Measurement Metrics in a Computer Aided Software Engineering (CASE) Environment”,Journal of Management Information Systems, to appear.

  • Banker, R., H. Chang, and C. Kemerer (1994a), “Evidence on Economics of Scale in Software Development”,Information and Software Technology, to appear.

  • Behrens, C. (1983), “Measuring the Productivity of Computer Systems Development Activities with Function Points”,IEEE Transactions on Software Engineering, November.

  • Boehm, B. (1981),Software Engineering Economics, Prentice-Hall.

  • Boehm, B. (1983), “The Hardware/Software Cost Ratio: Is It a Myth?”Computer 16, 3, pp. 78–80.

    Google Scholar 

  • Boehm, B. (1985), “COCOMO: Answering the Most Frequent Questions”, InProceedings, First COCOMO Users' Group Meeting, Wang Institute, Tyngsboro, MA.

    Google Scholar 

  • Boehm, B. (1989),Software Risk Management, IEEE Computer Society Press, Los Alamitos, CA.

    Google Scholar 

  • Boehm, B., T. Gray, and T. Seewaldt (1984), “Prototyping vs. Specifying: A Multi-Project Experiment”,IEEE Transactions on Software Engineering, May, 133–145.

  • Boehm, B., and W. Royce (1989), “Ada COCOMO and the Ada Process Model”,Proceedings, Fifth COCOMO Users' Group Meeting, Software Engineering Institute, Pittsburgh, PA.

    Google Scholar 

  • Chidamber, S., and C. Kemerer (1994), “A Metrics Suite for Object Oriented Design”,IEEE Transactions on Software Engineering, to appear.

  • Computer Science and Telecommunications Board (CSTB) National Research Council (1993),Computing Professionals: Changing Needs for the 1990's, National Academy Press, Washington, DC.

    Google Scholar 

  • Devenny, T. (1976), “An Exploratory Study of Software Cost Estimating at the Electronic Systems Division”, Thesis No. GSM/SM/765-4, Air Force Institute of Technology, Dayton, OH.

    Google Scholar 

  • Gerlich, R., and U. Denskat (1994), “A Cost Estimation Model for Maintenance and High Reuse”,Proceedings, ESCOM 1994, Ivrea, Italy.

  • Goethert, W., E. Bailey, and M. Busby (1992), “Software Effort and Schedule Measurement: A Framework for Counting Staff Hours and Reporting Schedule Information”, CMU/SEI-92-TR-21, Software Engineering Institute, Pittsburgh, PA.

    Google Scholar 

  • Goudy, R. (1987), “COCOMO-Based Personnel Requirements Model”,Proceedings, Third COCOMO Users' Group Meeting, Software Engineering Institute, Pittsburgh, PA.

    Google Scholar 

  • IFPUG (1994),IFPUG Function Point Counting Practices: Manual Release 4.0, International Function Point Users' Group, Westerville, OH.

    Google Scholar 

  • Kauffman, R. and R. Kumar (1993), “Modeling Estimation Expertise in Object Based ICASE Environments”, Stern School of Business Report, New York University.

  • Kemerer, C. (1987), “An Empirical Validation of Software Cost Estimation Models”,Communications of the ACM, 416–429.

  • Kominski, R. (1991),Computer Use in the United States: 1989, Current Population Reports, Series P-23, No. 171, U.S. Bureau of the Census, Washington, DC.

    Google Scholar 

  • Kunkler, J. (1983), “A Cooperative Industry Study on Software Development/Maintenance Productivity”, Xerox Corporation, Xerox Square — XRX2 52A, Rochester, NY 14644, Third Report.

  • Miyazaki, Y. and K. Mori (1985), “COCOMO Evaluation and Tailoring”,Proceedings, ICSE 8, IEEE-ACM-BCS, London, pp. 292–299.

    Google Scholar 

  • Parikh, G. and N. Zvegintzov (1983), “The World of Software Maintenance”,Tutorial on Software Maintenance, IEEE Computer Society Press, pp. 1–3.

  • Park, R. (1992), “Software Size Measurement: A Framework for Counting Source Statements”, CMU/SEI-92-TR-20, Software Engineering Institute, Pittsburgh, PA.

    Google Scholar 

  • Park, R., W. Goethert, and J. Webb (1994), “Software Cost and Schedule Estimating: A Process Improvement Initiative”, CMU/SEI-94-TR-03, Software Engineering Institute, Pittsburgh, PA.

    Google Scholar 

  • Paulk, M., B. Curtis, M. Chrissis, and C. Weber (1993), Capability Maturity Model for Software, Version 1.1”, CMU/SEI-93-TR-24, Software Engineering Institute, Pittsburgh, PA.

    Google Scholar 

  • Pfleeger, S. (1991), “Model of Software Effort and Productivity”,Information and Software Technology 33, 3, 224–231.

    Google Scholar 

  • Royce, W. (1990), “TRW's Ada Process Model for Incremental Development of Large Software Systems,Proceedings, ICSE 12, Nice, France.

  • Ruhl, M. and M. Gunn (1991), “Software Reengineering: A Case Study and Lessons Learned”, NIST Special Publication 500-193, Washington, DC.

  • Selby, R. (1988), “Empirically Analyzing Software Reuse in a Production Environment”, InSoftware Reuse: Emerging Technology, W. Tracz, Ed., IEEE Computer Society Press, pp. 176–189.

  • Selby, R., A Porter, D. Schmidt, and J. Berney (1991), “Metric-Driven Analysis and Feedback Systems for Enabling Empirically Guided Software Development”,Proceedings of the Thirteenth International Conference on Software Engineering (ICSE 13), Austin, TX, pp. 288–298.

  • Silvestri, G. and J. Lukasiewicz (1991), “Occupational Employment Projections”,Monthly Labor Review 114, 11, 64–94.

    Google Scholar 

  • SPR (1993), “Checkpoint User's Guide for the Evaluator”, Software Productivity Research, Inc., Burlington, MA.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Boehm, B., Clark, B., Horowitz, E. et al. Cost models for future software life cycle processes: COCOMO 2.0. Ann Software Eng 1, 57–94 (1995). https://doi.org/10.1007/BF02249046

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02249046

Keywords

Navigation