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.
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.
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.
Boehm, B. (1985), “COCOMO: Answering the Most Frequent Questions”, InProceedings, First COCOMO Users' Group Meeting, Wang Institute, Tyngsboro, MA.
Boehm, B. (1989),Software Risk Management, IEEE Computer Society Press, Los Alamitos, CA.
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.
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.
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.
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.
Goudy, R. (1987), “COCOMO-Based Personnel Requirements Model”,Proceedings, Third COCOMO Users' Group Meeting, Software Engineering Institute, Pittsburgh, PA.
IFPUG (1994),IFPUG Function Point Counting Practices: Manual Release 4.0, International Function Point Users' Group, Westerville, OH.
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.
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.
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.
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.
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.
Pfleeger, S. (1991), “Model of Software Effort and Productivity”,Information and Software Technology 33, 3, 224–231.
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.
SPR (1993), “Checkpoint User's Guide for the Evaluator”, Software Productivity Research, Inc., Burlington, MA.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/BF02249046