Advertisement

Annals of Software Engineering

, Volume 1, Issue 1, pp 57–94 | Cite as

Cost models for future software life cycle processes: COCOMO 2.0

  • Barry Boehm
  • Bradford Clark
  • Ellis Horowitz
  • Chris Westland
  • Ray Madachy
  • Richard Selby
Article

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.

Keywords

Cost Model Source Line Cost Driver Generation Capability Software Reuse 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Acronyms and 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Amadeus (1994),Amadeus Measurement System User's Guide, Version 2.3a, Amadeus Software Research, Inc., Irvine, CA.Google Scholar
  2. 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.Google Scholar
  3. Banker, R., H. Chang, and C. Kemerer (1994a), “Evidence on Economics of Scale in Software Development”,Information and Software Technology, to appear.Google Scholar
  4. Behrens, C. (1983), “Measuring the Productivity of Computer Systems Development Activities with Function Points”,IEEE Transactions on Software Engineering, November.Google Scholar
  5. Boehm, B. (1981),Software Engineering Economics, Prentice-Hall.Google Scholar
  6. Boehm, B. (1983), “The Hardware/Software Cost Ratio: Is It a Myth?”Computer 16, 3, pp. 78–80.Google Scholar
  7. Boehm, B. (1985), “COCOMO: Answering the Most Frequent Questions”, InProceedings, First COCOMO Users' Group Meeting, Wang Institute, Tyngsboro, MA.Google Scholar
  8. Boehm, B. (1989),Software Risk Management, IEEE Computer Society Press, Los Alamitos, CA.Google Scholar
  9. Boehm, B., T. Gray, and T. Seewaldt (1984), “Prototyping vs. Specifying: A Multi-Project Experiment”,IEEE Transactions on Software Engineering, May, 133–145.Google Scholar
  10. 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
  11. Chidamber, S., and C. Kemerer (1994), “A Metrics Suite for Object Oriented Design”,IEEE Transactions on Software Engineering, to appear.Google Scholar
  12. 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
  13. 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
  14. Gerlich, R., and U. Denskat (1994), “A Cost Estimation Model for Maintenance and High Reuse”,Proceedings, ESCOM 1994, Ivrea, Italy.Google Scholar
  15. 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
  16. Goudy, R. (1987), “COCOMO-Based Personnel Requirements Model”,Proceedings, Third COCOMO Users' Group Meeting, Software Engineering Institute, Pittsburgh, PA.Google Scholar
  17. IFPUG (1994),IFPUG Function Point Counting Practices: Manual Release 4.0, International Function Point Users' Group, Westerville, OH.Google Scholar
  18. Kauffman, R. and R. Kumar (1993), “Modeling Estimation Expertise in Object Based ICASE Environments”, Stern School of Business Report, New York University.Google Scholar
  19. Kemerer, C. (1987), “An Empirical Validation of Software Cost Estimation Models”,Communications of the ACM, 416–429.Google Scholar
  20. 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
  21. Kunkler, J. (1983), “A Cooperative Industry Study on Software Development/Maintenance Productivity”, Xerox Corporation, Xerox Square — XRX2 52A, Rochester, NY 14644, Third Report.Google Scholar
  22. Miyazaki, Y. and K. Mori (1985), “COCOMO Evaluation and Tailoring”,Proceedings, ICSE 8, IEEE-ACM-BCS, London, pp. 292–299.Google Scholar
  23. Parikh, G. and N. Zvegintzov (1983), “The World of Software Maintenance”,Tutorial on Software Maintenance, IEEE Computer Society Press, pp. 1–3.Google Scholar
  24. Park, R. (1992), “Software Size Measurement: A Framework for Counting Source Statements”, CMU/SEI-92-TR-20, Software Engineering Institute, Pittsburgh, PA.Google Scholar
  25. 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
  26. 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
  27. Pfleeger, S. (1991), “Model of Software Effort and Productivity”,Information and Software Technology 33, 3, 224–231.Google Scholar
  28. Royce, W. (1990), “TRW's Ada Process Model for Incremental Development of Large Software Systems,Proceedings, ICSE 12, Nice, France.Google Scholar
  29. Ruhl, M. and M. Gunn (1991), “Software Reengineering: A Case Study and Lessons Learned”, NIST Special Publication 500-193, Washington, DC.Google Scholar
  30. 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.Google Scholar
  31. 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.Google Scholar
  32. Silvestri, G. and J. Lukasiewicz (1991), “Occupational Employment Projections”,Monthly Labor Review 114, 11, 64–94.Google Scholar
  33. SPR (1993), “Checkpoint User's Guide for the Evaluator”, Software Productivity Research, Inc., Burlington, MA.Google Scholar

Copyright information

© J.C. Baltzer AG, Science Publishers 1995

Authors and Affiliations

  • Barry Boehm
    • 1
  • Bradford Clark
    • 1
  • Ellis Horowitz
    • 1
  • Chris Westland
    • 1
  • Ray Madachy
    • 2
  • Richard Selby
    • 3
  1. 1.USC Center for Software EngineeringUniversity of Southern CaliforniaLos AngelesUSA
  2. 2.USC Center for Software Engineering and Litton Data SystemsUSA
  3. 3.UC Irvine and Amadeus Software ResearchUSA

Personalised recommendations