COGOMO - An Extension of COCOMO II for China Government Contract Pricing Mingshu Li1, 4, Ye Yang2, Qing Wang1, and Mei He1, 3 1 Laboratory for Internet Software Technologies, Institute of Software, Chinese Academy of Sciences, Beijing 100080, China { mingshu, wq, hemei }@itechs.iscas.ac.cn 2 Center for Systems and Software Engineering, University of Southern California, 941 W. 37 th Place, SAL 330, Los Angeles, CA 90089 USA {yangy}@Sunset.usc.edu 3 Graduate University of Chinese Academy of Sciences, Beijing 100039 China 4 State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing 100080, China As software industry developed fast in China and the government attached greater importance to helping domestic software organizations, the fraction of software related contracts in all types of contracts has dramatically increased since 2000. However, a serious problem is that, contract assessment for software projects is often doubted by the public, due to the unavoidable subjectivity of expert judgment, lack of formal assessment methods, impreciseness of assessment process, insufficiency of industry data. Moreover, during the assessment process, technical part and financial part has been checked separately, which makes cost estimation apart from the project attributes. That is, the contractor only confirms that each expense exists indeed, but whether it is worth to do that according to the project requirement is not justified and verified accordingly. Government technic al part Bidders Identification of Subject Matter Financ ial part Call for Bid Independent Review of technical part Bidders Independent Review of financial part Comprehensive Score Final Contract Pricing To address these problems, we proposed a modeling framework to help government make cost estimation feasible, which uses effort to bridge the gap between technical part and financial part, checks technical report according to effort estimation and audit the financial report based on cost analysis. Based on the framework of COGOMO, the first thing is to help establish a formal database for the government use. In this part, we have collected four types of data sources: 1) Government historical projects, which can help to analyze the requirements of government contract, decomposition of expenditures and project types all through the ages; 2) Industry historical projects, which can reflect software development conditions across organizations in China; 3) Human resources in China, which can illustrate labor classification like role sets in software process RUP and provide local industry labor rate information like incomes for software personnel; 4) Industry benchmark, which can make a reference for model calibration and government assessment based on local industry benchmark. The second, we modeled effort estimation on the basis of COCOMO effort formula (as shown below). PM A Size E EM i while E B 0.01 SFi (1) However, while specifically used in this domain, something in COCOMO cannot work well. 1) Identified factors do not meet particular government requirements and practical situation in local organizations. In accordance with government requirements in contract pricing and analysis results of GKB, four principles for drivers’ selection are proposed: Principle 1: To be significant. Some factors having common value for most projects are not included. This principle helps in excluding TEAM, DOCU, SITE, and SCED drivers. Principle 2: To be organization-equal. The factors selected can only distinguish different projects while shielding the difference between organizations. This helps us to further drop RESL, PMAT, ACAP, PCAP, APEX, PLEX, PCON, and LTEX drivers. Principle 3: To be accessible. They can be accessed and measured at early phases of projects in most software organizations. PREC and TOOL are eliminated from COGOMO according to this principle. Principle 4: To be appreciable. The government can evaluate the veracity of information offered by the applicant organizations. This principle confirms the deletion of RESL, TEAM, and TOOL by previous principles. Finally, 8 of COCOMO II cost drivers are left to be included in COGOMO effort estimation model, including FLEX, RELY, DATA, CPLX, RUSE, TIME, STOR, and PVOL. 2) The generality of COCOMO should be improved through local calibration. In the parameter calibration, originally, 501 data points have been used for the local calibration at one time, and the points disseminate seriously. In common sense of experts, different project types always make big differences, so the parameters are further calibrated according to project classification in the GKB (currently, that is development type, development language, platform, application type, and architecture). By doing linear regression in different types, the parameter has been re-calibrated, (add a table of new A and Bs) and the accuracy can be improved. For example, for new development projects, PRED (.30) could be improved from 36% to 42%. In 2006, the COGOMO approach was introduced to BMSTC and experimented in cost estimation of government sponsored software projects in BMSTC as initial practical application. The tool developed based on this model passed the acceptance test by government experts group, and has been appointed to assist BMSTC in the new round of government sponsored projects contract pricing. To conclude, the COGOMO approach establishes a Government Knowledge Base using accessible datasets; provides a tailored and calibrated effort estimation model based on COCOMO II using appropriate industry and government data, and supports total cost analysis to obtain labor cost and other non-labor cost based on effort estimation. The initial application of COGOMO approach shows the improvement on cost estimation practices.