Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 2 Software Cost Estimation Methods • Cost estimation: prediction of both the person-effort and elapsed time of a project • Methods: Algorithmic, Expert judgement, Estimation by analogy, Parkinsonian (Parkinson’s Law). “work expands so as to fill the time available for its completion” • Best approach is a combination of methods: compare and iterate estimates, reconcile differences
Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 3 COCOMO Model • The Constructive Cost Model (COCOMO) is a procedural software cost estimation model developed by Barry W. Boehm. • The model parameters are derived from fitting a regression formula using data from historical projects (61 projects for COCOMO 81 and 163 projects for COCOMO II). • COCOMO is the most widely used, thoroughly documented and calibrated cost model
Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 4 COCOMO II COCOMO II product size estimate product, process, platform, and personnel attributes reuse, maintenance, and increment parameters organizational project data development, maintenance cost and schedule estimates cost, schedule distribution by phase, activity, increment recalibration to organizational data
Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 12 Size • The size of a software system can only be known accurately when it is finished. • As the development process progresses then the size estimate becomes more accurate. • Several factors influence the final size o Use of reused systems and components; o Programming language; o Distribution of system. • Effort for adapted software (reused or modified) is not the same as for new software. • Approach: convert adapted software into equivalent size of new software.
Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 13 Nonlinear Reuse Effects • The reuse cost function does not go through the origin due to a cost of about 5% for assessing, selecting, and assimilating the reusable component. • Small modifications generate disproportionately large costs primarily due the cost of understanding the software to be modified, and the relative cost of interface checking. Relative cost Amount Modified 1.0 0.75 0.5 0.25 0.25 0.5 0.75 1.0 0.55 0.70 1.0 0.046 Usual Linear Assumption Data on 2954 NASA modules [Selby,1988]
Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 16 Scale Drivers Rating Scale Factors (Wi ) Very Low Low Nominal High Very High Extra High Precedentedness (PREC) thoroughly unprecedented largely unprecedented somewhat unprecedented generally familiar largely familiar throughly familiar Development Flexibility (FLEX) rigorous occasional relaxation some relaxation general conformity some conformity general goals Architecture/Risk Resolution (RESL)* little (20%) some (40%) often (60%) generally (75%) mostly (90%) full (100%) Team Cohesion (TEAM) very difficult interactions some difficult interactions basically cooperative interactions largely cooperative highly cooperative seamless interactions Process Maturity (PMAT) Weighted average of “Yes” answers to CMM Maturity Questionnaire * % significant module interfaces specified, % significant risks eliminated
Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 19 Scale Drivers Rating Scale Factors (Wi ) Very Low Low Nominal High Very High Extra High Precedentedness (PREC) thoroughly unprecedented largely unprecedented somewhat unprecedented generally familiar largely familiar throughly familiar Development Flexibility (FLEX) rigorous occasional relaxation some relaxation general conformity some conformity general goals Architecture/Risk Resolution (RESL)* little (20%) some (40%) often (60%) generally (75%) mostly (90%) full (100%) Team Cohesion (TEAM) very difficult interactions some difficult interactions basically cooperative interactions largely cooperative highly cooperative seamless interactions Process Maturity (PMAT) Weighted average of “Yes” answers to CMM Maturity Questionnaire * % significant module interfaces specified, % significant risks eliminated
CSE360 – Introduction to Software Engineering Javier G onzalez-Sanchez [email protected] asu.edu Sum m er 2017 Disclaim er. These slides can only be used as study m aterial for the class C SE360 at ASU. They cannot be distributed or used for another purpose.