Last updated 10/22/2001

The information on this page is outdated,
you will be redirected to the correct page in 5 seconds:

Model Rationale
Model Description

Papers, Reports, and Presentations
Model Status
Data Collection Program
Research Group
Research Sponsors
Downloads (Software and Documentation)
CostEstimation Bibliography
Other COTS Related Websites
For Further Information
TheCOCOMO® Suite
CSEHome Page
Many of the documents
available at this site
require a PDF or Postcript
file viewer:


Model Rationale

One of the more significant changes in software development practiceover the past twenty years is the greatly increased emphasis being placedon building systems incorporating pre-existing software in order to keepoverall development and maintenance costs as low as possible. This trendhas become so pronounced that some large software system acquirers haveeven gone so far as to establish policy which demands that their softwareprocurers justify why they are not using such components.

One source of pre-existing software is commercial vendors who supplyself-contained off-the-shelf components that can be plugged into a largersoftware system to provide capability that would otherwise have to be custombuilt. The two primary distinguishing characteristics of this so-calledCOTS (commercial-off-the-shelf) software are 1) that its source code isnot available to the application developer, and 2) that its evolution isnot under the control of the application developer.

The rationale for building COTS based systems is that they will involveless development time by taking advantage of existing, market proven, vendorsupported products, thereby reducing overall system development costs.But because of the two defining characteristics noted above (lack of accessto product source code, and lack of control over product evolution), thereis a trade-off in using the COTS approach in that new software developmenttime can indeed be reduced, but generally at the cost of an increasein software component integration work. Moreover, using COTS software alsobrings with it a host of unique risks quite different from those associatedwith software developed in-house.

Included among those risks or factors which should be examined whendetermining the true cost of integrating a COTS software componentinto a larger system are not only the traditional costs associated withnew software development such as the cost of requirements definition, design,code, test, and software maintenance, but also the cost of licensing andredistribution rights, royalties, effort needed to understand the COTSsoftware, pre-integration assessment and evaluation, post-integration certificationof compliance with mission critical or safety critical requirements, indemnificationagainst faults or damage caused by vendor supplied components, and costsincurred due to incompatibilities with other needed software and/or hardware.

Because of these unique risks, using COTS components in the developmentof new systems is not the universal solution to reducing cost andschedule while maintaining desired quality and functionality. However,ifthese risks can be managed, using COTS components can frequently bethe right solution, offering the most cost-effective, shortest scheduleapproach to assembling major software systems.

COTS components are the right solution when they lie at the intersectionof the three determinants of feasibility--technical, economic, and strategicconstraints--and do so in a way demonstrably better than if a new systemwere to be constructed entirely out of original software. The key tosuccess in using COTS components is being able to identify whether theyfit the current procurement situation--technically, economically, and strategically.Technically, they have to be able to supply the desired functionality atthe required level of reliability. Economically, they have to be able tobe incorporated and maintained in the new system within the availablebudget and schedule. Strategically, they have to meet the needs of thesystem operating environment--which includes technical, political, andlegal considerations--now, and as that environment is expected to evolvein the future.

The determinants of COTS component feasibility: Technical,Economic, and Strategic constraints.

Technical and strategic feasiblility is determined during the candidateassessment phase of procuring COTS products, which occurs at the startof a COTS integration activity. How to determine the viability of a COTSproduct in either of these two dimensions is not a trivial question, andcan be partially addressed by using the COCOTS Assessment submodel. However,it is the third dimension of determining economic feasibility whichis the main intended use of COCOTS.

To answer the question of economic feasibility, cost estimation modelsexist which capture the traditional costs associated with new softwaredevelopment noted above, among the most prominent being COCOMO®.To date, however, very few estimation models have been developed whichtry to capture those other costs unique to using COTS components in a softwaresystem development. The number of COTS integration cost models availablein the public domain currently approaches zero. In response to this situation,USC-CSE has been actively pursuing COTS integration cost modeling researchsince 1995. The most recent result of this research is COCOTS (COnstructiveCOTS), a cost estimation model designedto capture explicitly the most important costs associated with COTS componentintegration.

Model Description

You can also  access the Model Descriptionby clicking the link below
Model Description

Papers, Reports, and Presentations

Journal Papers:Reports:* Sponsoredby the USAF ESC/Rome Laboratory. This report discusses the origins of whatsubsequently evolved into the "glue code" submodel of COCOTS. This submodelhas been refined since the completion of this study, but this report stillprovides a useful overview into the origins of the COCOTS concept.
 * Completeversion available only in hardcopy (592 pages)--free to Affiliates,all others charged $35 to cover cost of reproduction & shipping.
 * Thisbreakout group session was the beginning of the COTS research effort atUSC.


* Thisis essentially an abbreviated version of the August '98 General Overviewbriefing below.
 * Ifyour internet connection is slow, download this file and then unzip itto view this briefing using your web browser directly from your hard drive,beginning with the page "index.htm."

Model Status

COCOTS at this time must still be considered EXPERIMENTALand evolving. The tools currently available for download should only beused for comparison with other more proven cost estimation methods, notin lieu of these other methods. What the model does offer at this timeis insight into the most important factors that should be considered when estimatingthe cost of integrating COTS components, regardless of the specific toolor methodology used to perform that estimation.

Data Collection Program

The key factor in continuing to improve the predictive accuracy of COCOTSis good data. To that end, we are asking for the help of the softwareindustry in collecting data. If you or the organization you work forhas the ability to supply software development project data where COTScomponents were used in the development, we would like to hear from you.The benefit to you for participating in data collection will be the availabilityof a more accurate predictive model for estimating your software projectcosts. Additionally, you will have the opportunity to participate in COTSoriented workshops being planned at USC, and to receive calibrated versionsof the implemented model before the general public.

For your convenience, we are providing for download copies of the COCOTSresearch overview statement, the COCOTS data collection instrument, andthe standard confidentiality agreement USC-CSE enters into with most ofour data suppliers. We have proven procedures that we have followed successfullyfor over four years in the development of COCOMO®II to prevent the compromise of any information entrusted to us thatcould be considered proprietary by data suppliers. We are using these sameprocedures in the collection of data for COCOTS. We would also be gladto discuss any specific accommodations you might need to permit your participationin this data collection effort. For further information or to discuss participationin the COCOTS data collection program, please contactus.

Data Collection Documents:

* Thisversion of our survey was prepared specifically for FAA needs, but canbe used by anyone reporting data until a more generic version is drafted.To report data for a non-FAA project using this document, in Section4.1 - Project Domain of the survey, ignorethe pre-defined FAA domains and describe your own project domain in thespace provided under Other.

Research Group

Research Sponsors

In addition to the on-going support provided by the USC-CSEAffiliates, the COCOTS research effort has been funded by the USAFElectronic Systems Center/Rome Laboratory,the Federal Aviation Administration, andthe Office of Naval Research. Wewould like to thank these organizations for their assistance while acknowledgingthat their support does not constitute an endorsement by any of these organizationsof the COCOTS model over any other similar cost estimation tool.

Downloads (Software and Documentation)

The spreadsheet and user guide offered below have been developed by ChristopherAbts under the guidance of Dr.Barry Boehm. The spreadsheet downloads in winzip compressed formatand needs to be unzipped with the appropriate utility. This spreadsheetand its companion user guide represent a prototype implementation of thefirst of four submodels being proposed for COCOTS, namely, the glue codesubmodel. As a prototype, this first spreadsheet should be used with caution.The model is not yet mature enough for the estimates it provides to beused with high confidence. However, the cost parameters contained withinthe model and the criteria used to rate those parameters as described inthe user guide certainly offer much insight into the questions a savvysoftware cost estimator should be considering when working on a systemto be built with COTS components. Moreover, to help us improve the model,we would appreciate hearing back from you regarding the kinds of resultsyou get as you explore using the model. Is it accurate much of the time?Is it wrong much of the time? Is it unpredictable in its behavior? Theseare the kinds of things we need to know, so please consider contactingus with your findings. We have thick skins, so don't be afraid to tellus the truth!



Cost Estimation Bibliography

For an extensive bibliography of software costestimation related papers and books go here.

Other COTS Related Websites

Y2K Compliance:Conferences:Papers:Projects:Miscellaneous:

For Further Information Please Contact:

Center for Software Engineering
Salvatori Hall Room 328
University of Southern California
941 W. 37th Place
Los Angeles, CA 90089-0781

Voice: (213) 740-6470
Fax: (213) 740-4927

Link to the COCOMO®Page 

COCOMO® II is the new cost model replacing COCOMO® 81. It is the parentmodel to COCOTS, capturing software development costs outside the scopeof COCOTS relating to the development of new and reuse software components. 

For information on the entire suite of COCOMO®-related cost models go here.

Click on the graph to view websitevisitor statistics:

Tothe Center for Software Engineering Home Page

Copyright 1995-2001 The Universityof Southern California

The written material, text, graphics, and softwareavailable on this page and all related pages may be copied, used, and distributedfreely as long as the University of Southern California as the source ofthe material, text, graphics or software is always clearly indicated andsuch acknowledgement always accompanies any reuse or redistribution ofthe material, text, graphics or software; also permission to use the material,text, graphics or software on these pages does not include the right torepackage the material, text, graphics or software in any form or mannerand then claim exclusive proprietary ownership of it as part of a commercialoffering of services or as part of a commercially offered product.