Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW...

57
Software Cost Estimation and Software Cost Estimation and COCOMO II Overview COCOMO II Overview CS 566 CS 566 Software Management and Economics Software Management and Economics Lecture 4 (Madachy 2005; Chapters 1 and 2, Boehm et al. 2000) Lecture 4 (Madachy 2005; Chapters 1 and 2, Boehm et al. 2000) Ali Afzal Malik Ali Afzal Malik

Transcript of Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW...

Page 1: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

Software Cost Estimation and Software Cost Estimation and

COCOMO II OverviewCOCOMO II Overview

CS 566 CS 566 –– Software Management and EconomicsSoftware Management and Economics

Lecture 4 (Madachy 2005; Chapters 1 and 2, Boehm et al. 2000)Lecture 4 (Madachy 2005; Chapters 1 and 2, Boehm et al. 2000)

Ali Afzal MalikAli Afzal Malik

Page 2: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 22

OutlineOutline

�� Software cost estimation overviewSoftware cost estimation overview

�� COCOMO II introductionCOCOMO II introduction

�� Basic estimation formulasBasic estimation formulas

�� Cost factorsCost factors

�� Reuse modelReuse model

�� SizingSizing

�� ReferencesReferences

Page 3: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 33

Software Cost Estimation Software Cost Estimation

MethodsMethods�� Cost estimationCost estimation: prediction of both the person: prediction of both the person--effort and effort and

elapsed time of a projectelapsed time of a project

�� Methods:Methods:–– AlgorithmicAlgorithmic–– Expert judgmentExpert judgment–– Estimation by analogyEstimation by analogy–– ParkinsonianParkinsonian–– PricePrice--toto--winwin–– TopTop--downdown–– BottomBottom--upup

�� Best approach is a combination of methodsBest approach is a combination of methods–– compare and iterate estimates, reconcile differencescompare and iterate estimates, reconcile differences

�� COCOMO is the most widely used, thoroughly documented COCOMO is the most widely used, thoroughly documented and calibrated cost modeland calibrated cost model

Page 4: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 44

COCOMO BackgroundCOCOMO Background

�� COCOMO COCOMO -- the the ““COnstructiveCOnstructive COstCOst MOdelMOdel””–– COCOMO II is the update to COCOMO 1981COCOMO II is the update to COCOMO 1981

–– ongoing research with annual calibrations made availableongoing research with annual calibrations made available

�� Originally developed by Dr. Barry Boehm Originally developed by Dr. Barry Boehm and published in 1981 book and published in 1981 book Software Software Engineering EconomicsEngineering Economics

�� COCOMO II described in new bookCOCOMO II described in new book Software Software Cost Estimation with COCOMO IICost Estimation with COCOMO II

�� COCOMO can be used as a framework for COCOMO can be used as a framework for cost estimation and related activitiescost estimation and related activities

Page 5: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 55

Software Estimation Accuracy Software Estimation Accuracy

–– Effect of UncertaintiesEffect of Uncertainties

Feasibility Plans/Rqts. Design Develop and Test

Phases and Milestones

Relative Size

Range

OperationalConcept

Life Cycle Objectives

Life Cycle Architecture

Initial Operating Capability

x

0.5x

0.25x

4x

2x

Page 6: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 66

Black Box ModelBlack Box Model

COCOMO II

product size estimate

product, process, platform, and personnel attributes

reuse, maintenance, and increment parameters

organizationalproject data

development, maintenance cost and schedule estimates

cost, schedule distribution by phase, activity, increment

recalibration toorganizational data

Page 7: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 77

Major COCOMO II Major COCOMO II

FeaturesFeatures

�� MultiMulti--model coverage of different model coverage of different

development sectorsdevelopment sectors

�� VariableVariable--granularity cost model inputsgranularity cost model inputs

�� Flexibility in size inputsFlexibility in size inputs

–– SLOCSSLOCS

–– function pointsfunction points

�� Range vs. point estimatesRange vs. point estimates

Page 8: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 88

COCOMO Uses for COCOMO Uses for

Software Decision MakingSoftware Decision Making

�� Making investment decisions and businessMaking investment decisions and business--case analyses case analyses

�� Setting project budgets and schedules Setting project budgets and schedules

�� Performing tradeoff analysesPerforming tradeoff analyses

�� Cost risk managementCost risk management

�� Development vs. reuse decisionsDevelopment vs. reuse decisions

�� Legacy software phaseLegacy software phase--out decisionsout decisions

�� Software reuse and product line decisionsSoftware reuse and product line decisions

�� Process improvement decisionsProcess improvement decisions

Page 9: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 99

COCOMO SubmodelsCOCOMO Submodels

�� The The Early DesignEarly Design model involves exploration of model involves exploration of alternative software/system architectures and alternative software/system architectures and concepts of operation using function points and a concepts of operation using function points and a coursecourse--grained set of 7 cost drivers.grained set of 7 cost drivers.

�� The The PostPost--ArchitectureArchitecture model involves the actual model involves the actual development and maintenance of a software development and maintenance of a software product using source instructions and/or function product using source instructions and/or function points for sizing, with modifiers for reuse and points for sizing, with modifiers for reuse and software breakage; a set of 17 multiplicative cost software breakage; a set of 17 multiplicative cost drivers; and a set of 5 factors (same as Early drivers; and a set of 5 factors (same as Early Design) determining the project's scaling exponent.Design) determining the project's scaling exponent.

Page 10: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 1010

COCOMO Effort (PM) COCOMO Effort (PM)

FormulationFormulation

PMPM = = AA x (x (SizeSize))EE x x ΠΠi=1 to ni=1 to n ((EMEMii))

�� WhereWhere::–– AA is a constant derived from historical project data is a constant derived from historical project data

(currently (currently AA = 2.94 in COCOMOII.2000)= 2.94 in COCOMOII.2000)–– SizeSize is in KSLOC (thousand source lines of code), is in KSLOC (thousand source lines of code),

or converted from function pointsor converted from function points–– EE is an exponent for the diseconomy of scale dependent on five is an exponent for the diseconomy of scale dependent on five

additive scale drivers according to additive scale drivers according to EE = 0.91 + 0.01 x = 0.91 + 0.01 x ΣΣΣΣΣΣΣΣSFSFii,,where where SFSFii is a weighting factor for is a weighting factor for iithth scale driverscale driver

–– n is the number of effort multipliersn is the number of effort multipliers–– EMEMii is the effort multiplier for the is the effort multiplier for the iithth cost driver. The geometric cost driver. The geometric

product results in an overall effort adjustment factor (EAF) to product results in an overall effort adjustment factor (EAF) to the the nominal effort.nominal effort.

�� Automated translation effects are not includedAutomated translation effects are not included

Page 11: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 1111

Diseconomy of ScaleDiseconomy of Scale

�� Nonlinear relationship when exponent (B) > 1 Nonlinear relationship when exponent (B) > 1

0

2 0 0 0

4 0 0 0

6 0 0 0

8 0 0 0

1 0 0 0 0

1 2 0 0 0

1 4 0 0 0

1 6 0 0 0

0 5 0 0 1 0 0 0

K S L O C

Per

son

Mon

ths

B = 1 .2 2 6

B = 1 .0 0

B = 0 .9 1

Page 12: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 1212

SizingSizing

�� Lines of CodeLines of Code

�� Function PointsFunction Points

Page 13: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 1313

Lines of CodeLines of Code

�� Source Lines of Code (Source Lines of Code (SLOCsSLOCs) = logical source ) = logical source statementsstatements

�� Logical source statements = data declarations Logical source statements = data declarations + executable statements+ executable statements

�� Executable statements cause runtime actionsExecutable statements cause runtime actions

�� Declaration statements are Declaration statements are nonexecutablenonexecutablestatements that affect an assembler's or statements that affect an assembler's or compiler's interpretation of other program compiler's interpretation of other program elementselements

�� CodecountCodecount tool available on USC web sitetool available on USC web site

Page 14: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 1414

Lines of Code Counting Lines of Code Counting

RulesRules�� Standard definition for Standard definition for

counting linescounting lines

–– Based on SEI definition Based on SEI definition checklist from checklist from CMU/SEICMU/SEI--9292--TRTR--2020

–– Modified for COCOMO Modified for COCOMO IIII

�� When a line or statement When a line or statement contains more than one contains more than one type, classify it as the type type, classify it as the type with the highest with the highest precedence. Order of precedence. Order of precedence is in precedence is in ascending orderascending order

Statement type Includes Excludes

1. Executable �

2. Non-executable:

3. Declarations �

4. Compiler directives �

5. Comments:

6. On their own lines �

7. On lines with source code �

8. Banners and non-blank spacers �

9. Blank (empty) comments �

10. Blank lines �

Page 15: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 1515

Counting with Function Counting with Function

PointsPoints

�� Used in both the Early Design and the PostUsed in both the Early Design and the Post--

Architecture models.Architecture models.

�� Based on the amount of functionality in a Based on the amount of functionality in a

software product and project factors using software product and project factors using

information available early in the project life information available early in the project life

cycle. cycle.

�� Quantify the information processing Quantify the information processing

functionality with the following user function functionality with the following user function

types: EI, EO, ILF, EIF, EQtypes: EI, EO, ILF, EIF, EQ

Page 16: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 1616

COCOMO Schedule COCOMO Schedule

(Months) Formulation(Months) Formulation

� TDEV = C x (PM)(0.33+0.2(E – 0.91)) x SCED%/100

�� Where: Where: –– TDEVTDEV is the calendar time in months from the requirements is the calendar time in months from the requirements

baseline to acceptancebaseline to acceptance

–– CC is a constant derived from historical project data is a constant derived from historical project data (currently (currently CC = 3.67 in COCOMOII.2000)= 3.67 in COCOMOII.2000)

–– PMPM is the estimated personis the estimated person--months excluding the SCED effort months excluding the SCED effort multipliermultiplier

–– EE is the exponent of size in Effort Formulationis the exponent of size in Effort Formulation–– SCED%SCED% is the compression / expansion percentage in the SCED is the compression / expansion percentage in the SCED

cost drivercost driver

�� This is the COCOMOII.2000 calibrationThis is the COCOMOII.2000 calibration

Page 17: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 1717

Coverage of Different Coverage of Different

ProcessesProcesses

�� COCOMO II provides a framework for tailoring the COCOMO II provides a framework for tailoring the model to any desired processmodel to any desired process

�� Original COCOMO was predicated on the waterfall Original COCOMO was predicated on the waterfall processprocess–– singlesingle--pass, sequential progression of requirements, design, code, testpass, sequential progression of requirements, design, code, test

�� Modern processes are concurrent, iterative, Modern processes are concurrent, iterative, incremental, and cyclicincremental, and cyclic–– e.g. Rational Unified Process (RUP), the USC Modele.g. Rational Unified Process (RUP), the USC Model--Based (System) Based (System)

Architecting and Software Engineering (MBASE) process Architecting and Software Engineering (MBASE) process

�� Effort and schedule are distributed among different Effort and schedule are distributed among different phases and activities per work breakdown structure phases and activities per work breakdown structure of chosen processof chosen process

Page 18: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 1818

Common Process Anchor Common Process Anchor

PointsPoints

�� Anchor points are common process Anchor points are common process milestones around which cost and schedule milestones around which cost and schedule budgets are organizedbudgets are organized

�� COCOMO II submodels address different COCOMO II submodels address different development stages anchored by these development stages anchored by these generic milestones:generic milestones:–– Life Cycle Objectives (LCO)Life Cycle Objectives (LCO)

�� inceptioninception: establishing a sound business case: establishing a sound business case

–– Life Cycle Architecture (LCA)Life Cycle Architecture (LCA)�� elaborationelaboration: commit to a single architecture and elaborate it to cover : commit to a single architecture and elaborate it to cover

all major risk sourcesall major risk sources

–– Initial Operational Capability (IOC)Initial Operational Capability (IOC)�� constructionconstruction: commit to transition and support operations: commit to transition and support operations

Page 19: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 1919

MBASE Phase MBASE Phase

DistributionsDistributions

125118Project Total

100100COCOMO Total

12.512Transition

62.576Construction

37.524Elaboration

12.56Inception

Schedule %Effort %Phase

Page 20: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 2020

Waterfall Phase Waterfall Phase

DistributionsDistributions

125119Project Total

100100COCOMO Total

12.512

Integration & Test

4858Programming

2617Product Design

207Plans & rqts

Schedule %Effort %Phase

Transition

25 26

Page 21: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 2121

COCOMO II Output COCOMO II Output

RangesRanges

�� COCOMO II provides one standard deviation optimistic and COCOMO II provides one standard deviation optimistic and pessimistic estimates.pessimistic estimates.

�� Reflect sources of input uncertainties per funnel chart.Reflect sources of input uncertainties per funnel chart.

�� Apply to effort or schedule for all of the stage models.Apply to effort or schedule for all of the stage models.

�� Represent 80% confidence limits: below optimistic or Represent 80% confidence limits: below optimistic or pessimistic estimates 10% of the time.pessimistic estimates 10% of the time.

Stage OptimisticEstimate

PessimisticEstimate

1 0.50 E 2.0 E

2 0.67 E 1.5 E

3 0.80 E 1.25 E

Page 22: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 2222

COCOMO Tailoring and COCOMO Tailoring and

EnhancementsEnhancements

�� Calibrate effort equations to organizational Calibrate effort equations to organizational experienceexperience–– USC COCOMO has a calibration capabilityUSC COCOMO has a calibration capability

�� Consolidate or eliminate redundant cost Consolidate or eliminate redundant cost driver attributesdriver attributes

�� Add cost drivers applicable to your Add cost drivers applicable to your organizationorganization

�� Account for systems engineering, hardware Account for systems engineering, hardware and software integrationand software integration

Page 23: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 2323

Cost FactorsCost Factors

�� Significant factors of development cost:Significant factors of development cost:–– scale driversscale drivers are sources of exponential effort variationare sources of exponential effort variation

–– cost driverscost drivers are sources of linear effort variationare sources of linear effort variation

�� product, platform, personnel and project attributesproduct, platform, personnel and project attributes

�� effort multipliers associated with cost driver ratingseffort multipliers associated with cost driver ratings

–– Defined to be as objective as possibleDefined to be as objective as possible

�� Each factor is rated between very low and Each factor is rated between very low and very high per rating guidelinesvery high per rating guidelines–– relevant effort multipliers adjust the cost up or downrelevant effort multipliers adjust the cost up or down

Page 24: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 2424

Scale Drivers (Five)Scale Drivers (Five)

�� Precedentedness (PREC)Precedentedness (PREC)–– Degree to which system is new and past experience Degree to which system is new and past experience

appliesapplies

�� Development Flexibility (FLEX)Development Flexibility (FLEX)–– Need to conform with specified requirementsNeed to conform with specified requirements

�� Architecture/Risk Resolution (RESL)Architecture/Risk Resolution (RESL)–– Degree of design thoroughness and risk eliminationDegree of design thoroughness and risk elimination

�� Team Cohesion (TEAM)Team Cohesion (TEAM)–– Need to synchronize stakeholders and minimize conflictNeed to synchronize stakeholders and minimize conflict

�� Process Maturity (PMAT)Process Maturity (PMAT)–– SEI CMM process maturity ratingSEI CMM process maturity rating

Page 25: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 2525

Cost Drivers (Seventeen)Cost Drivers (Seventeen)

�� Product FactorsProduct Factors–– Reliability (RELY)Reliability (RELY)

–– Data (DATA)Data (DATA)

–– Complexity (CPLX)Complexity (CPLX)

–– Reusability (RUSE)Reusability (RUSE)

–– Documentation (DOCU)Documentation (DOCU)

�� Platform FactorsPlatform Factors–– Time constraint (TIME)Time constraint (TIME)

–– Storage constraint (STOR)Storage constraint (STOR)

–– Platform volatility (PVOL)Platform volatility (PVOL)

�� Personnel factorsPersonnel factors–– Analyst capability (ACAP)Analyst capability (ACAP)

–– Program capability (PCAP)Program capability (PCAP)

–– Applications experience Applications experience (APEX)(APEX)

–– Platform experience (PLEX)Platform experience (PLEX)

–– Language and tool Language and tool experience (LTEX)experience (LTEX)

–– Personnel continuity (PCON)Personnel continuity (PCON)

�� Project FactorsProject Factors–– Software tools (TOOL)Software tools (TOOL)

–– Multisite development (SITE)Multisite development (SITE)

–– Required schedule (SCED)Required schedule (SCED)

Page 26: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 2626

Example Cost Driver Example Cost Driver --

Required Software Required Software

Reliability (RELY)Reliability (RELY)�� Measures the extent to which the software Measures the extent to which the software

must perform its intended function over a must perform its intended function over a

period of time. period of time.

�� Ask: what is the effect of a software Ask: what is the effect of a software

failure?failure?Very Low Low Nominal High Very High Extra High

RELY slightinconvenience

low, easilyrecoverablelosses

moderate,easilyrecoverablelosses

high financialloss

risk to humanlife

Page 27: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 2727

Example Effort Multiplier Example Effort Multiplier

Values for RELYValues for RELY

Very Low Low High Very High

Slight Inconvenience

Low, Easily Recoverable

Losses

High Financial Loss

Risk to Human Life

1.15

0.75

0.88

1.39

1.0

Moderate, Easily Recoverable

Losses

Nominal

e.g. a highly reliable system costs e.g. a highly reliable system costs

39% more than a nominally 39% more than a nominally

reliable system (1.39/1.0=1.39) or reliable system (1.39/1.0=1.39) or

a highly reliable system costs 85% a highly reliable system costs 85%

more than a very low reliability more than a very low reliability

system (1.39/.75=1.85) system (1.39/.75=1.85)

Page 28: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 2828

Scale FactorsScale Factors

�� Sum all scale factors Sum all scale factors WWii to determine to determine a scale exponent, a scale exponent, EE, using , using

EE = 0.91 + 0.01 = 0.91 + 0.01 ΣΣ WWiiScale Factors (Wi) Very Low Low Nominal High Very High Extra High

Precedentedness(PREC)

thoroughlyunprecedented

largelyunprecedented

somewhatunprecedented

generallyfamiliar

largelyfamiliar

throughlyfamiliar

DevelopmentFlexibility (FLEX)

rigorous occasionalrelaxation

somerelaxation

generalconformity

someconformity

generalgoals

Architecture/RiskResolution (RESL)*

little (20%) some (40%) often (60%) generally(75%)

mostly(90%)

full (100%)

Team Cohesion(TEAM)

very difficultinteractions

some difficultinteractions

basicallycooperativeinteractions

largelycooperative

highlycooperative

seamlessinteractions

Process Maturity(PMAT)

Weighted average of “Yes” answers to CMM Maturity Questionnaire

* % significant module interfaces specified, % significant risks eliminated

Page 29: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 2929

Cost DriversCost Drivers

�� Product Factors Product Factors

�� Platform Factors Platform Factors

�� Personnel Factors Personnel Factors

�� Project Factors Project Factors

Page 30: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 3030

Cost Driver Rating Level Cost Driver Rating Level

SummarySummary

Very Low Low Nominal High Very High Extra High

RELY slightinconvenience

low, easilyrecoverablelosses

moderate, easilyrecoverable losses

high financial loss risk to human life

DATA DB bytes/Pgm SLOC < 10

10 ≤ D/P < 100 100 ≤ D/P < 1000 D/P > 1000

CPLX (see Complexity Table)

RUSE none across project across program across product line across multipleproduct lines

DOCU Many life-cycleneeds uncovered

Some life-cycleneeds uncovered

Right-sized to life-cycle needs

Excessive forlife-cycle needs

Very excessive forlife-cycle needs

TIME ≤ 50% use ofavailable executiontime

70% 85% 95%

STOR ≤ 50% use ofavailable storage

70% 85% 95%

PVOL major changeevery 12 mo.;minor changeevery 1 mo.

major: 6 mo.;minor: 2 wk.

major: 2 mo.;minor: 1 wk.

major: 2 wk.;minor: 2 days

Page 31: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 3131

Cost Driver Rating Level Cost Driver Rating Level

Summary Summary contcont’’dd

Very Low Low Nominal High Very High Extra High

ACAP 15th percentile 35th percentile 55th percentile 75th percentile 90th percentile

PCAP 15th percentile 35th percentile 55th percentile 75th percentile 90th percentile

PCON 48% / year 24% / year 12% / year 6% / year 3% / year

AEXP ≤ 2 months 6 months 1 year 3 years 6 years

PEXP ≤ 2 months 6 months 1 year 3 years 6 year

LTEX ≤ 2 months 6 months 1 year 3 years 6 year

TOOL edit, code,debug

simple, frontend,backend CASE,little integration

basic lifecycletools, moderatelyintegrated

strong, maturelifecycle tools,moderatelyintegrated

strong, mature, proactivelifecycle tools, wellintegrated with processes,methods, reuse

SITE:Collocation

International Multi-city andMulti-company

Multi-city orMulti-company

Same city ormetro. area

Same building or complex Fullycollocated

SITE:Commu-nications

Some phone,mail

Individual phone,FAX

Narrowband email Widebandelectroniccommunication.

Wideband elect. comm,occasional video conf.

Interactivemultimedia

SCED 75% of nominal 85% 100% 130% 160%

Page 32: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 3232

Cost Factor RatingCost Factor Rating

�� Whenever an assessment of a cost Whenever an assessment of a cost

driver is between the rating levels: driver is between the rating levels:

–– always round to the Nominal rating always round to the Nominal rating

–– e.g. if a cost driver rating is between e.g. if a cost driver rating is between

High and Very High, then select High. High and Very High, then select High.

Page 33: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 3333

Productivity RangesProductivity Ranges

4.14

3.37

2.21

1.85

1.72

1.67

1.64

1.60

1.57

1.49

1.48

1.29

1.28

1.27

1 1.5 2 2.5 3 3.5 4 4.5

Personnel Capability

Personnel Experience

Product Complexity

Required Reliability

Use of Software Tools

Execution Time Constraint

Required Reuse

Multisite Development

Main Storage Constraint

Platform Volatility

Personnel Continuity

Required Development Schedule

Database Size

Documentation

Co

st F

acto

r

Productivity Range

Page 34: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 3434

Reused and Modified Reused and Modified

SoftwareSoftware

�� Effort for adapted software (reused or Effort for adapted software (reused or

modified) is not the same as for new modified) is not the same as for new

software.software.

�� Approach: convert adapted software Approach: convert adapted software

into equivalent size of new software. into equivalent size of new software.

Page 35: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 3535

Nonlinear Reuse EffectsNonlinear Reuse Effects�� The reuse cost function does not go through the origin due to a The reuse cost function does not go through the origin due to a cost cost

of about 5% for assessing, selecting, and assimilating the reusaof about 5% for assessing, selecting, and assimilating the reusable ble component. component.

�� Small modifications generate disproportionately large costs primSmall modifications generate disproportionately large costs primarily arily due the cost of understanding the software to be modified, and tdue the cost of understanding the software to be modified, and the he

relative cost of interface checking.relative cost of interface checking.

Relativecost

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 LinearAssumption

Data on 2954NASA modules

[Selby,1988]

Page 36: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 3636

COCOMO Reuse ModelCOCOMO Reuse Model

�� A nonlinear estimation model to convert A nonlinear estimation model to convert adapted (reused or modified) software adapted (reused or modified) software into equivalent size of new software:into equivalent size of new software:

AAF DM CM IM= + +0 4 0 3 0 3. ( ) . ( ) . ( )

ESLOCASLOC AA AAF SU UNFM

AAF=+ +

≤[ ( . ( )( ))]

, .1 0 02

10005

ESLOCASLOC AA AAF SU UNFM

AAF=+ +

>[ ( )( )]

, .100

05

Page 37: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 3737

COCOMO Reuse Model COCOMO Reuse Model contcont’’dd

�� ASLOCASLOC -- Adapted Source Lines of CodeAdapted Source Lines of Code

�� ESLOCESLOC -- Equivalent Source Lines of CodeEquivalent Source Lines of Code

�� AAFAAF -- Adaptation Adjustment FactorAdaptation Adjustment Factor

�� DMDM -- Percent Design Modified. The percentage of the adapted softwarePercent Design Modified. The percentage of the adapted software's 's design which is modified in order to adapt it to the new objectidesign which is modified in order to adapt it to the new objectives and ves and environment. environment.

�� CMCM -- Percent Code Modified. The percentage of the adapted software'sPercent Code Modified. The percentage of the adapted software's code code which is modified in order to adapt it to the new objectives andwhich is modified in order to adapt it to the new objectives and environment. environment.

�� IMIM -- Percent of Integration Required for Modified Software. The percPercent of Integration Required for Modified Software. The percentage entage of effort required to integrate the adapted software into an oveof effort required to integrate the adapted software into an overall product rall product and to test the resulting product as compared to the normal amouand to test the resulting product as compared to the normal amount of nt of integration and test effort for software of comparable size. integration and test effort for software of comparable size.

�� AAAA -- Assessment and Assimilation effort needed to determine whether Assessment and Assimilation effort needed to determine whether a fullya fully--reused software module is appropriate to the application, and toreused software module is appropriate to the application, and to integrate its integrate its description into the overall product description. See table.description into the overall product description. See table.

�� SUSU -- Software Understanding. Effort increment as a percentage. OnlSoftware Understanding. Effort increment as a percentage. Only used y used when code is modified (zero when DM=0 and CM=0). See table.when code is modified (zero when DM=0 and CM=0). See table.

�� UNFMUNFM -- Unfamiliarity. The programmer's relative unfamiliarity with thUnfamiliarity. The programmer's relative unfamiliarity with the e software which is applied multiplicatively to the software undersoftware which is applied multiplicatively to the software understanding effort standing effort increment (0increment (0--1).1).

Page 38: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 3838

Assessment & Assimilation Assessment & Assimilation

Increment (AA)Increment (AA)

AA Increment Level of AA Effort

0 None

2 Basic module search and documentation

4 Some module Test and Evaluation (T&E), documentation

6 Considerable module T&E, documentation

8 Extensive module T&E, documentation

Page 39: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 3939

Software Understanding Software Understanding

Increment (SU)Increment (SU)

�� Take the subjective average of the three categories. Take the subjective average of the three categories.

�� Do not use SU if the component is being used unmodified Do not use SU if the component is being used unmodified (DM=0 and CM =0).(DM=0 and CM =0).

Very Low Low Nominal High Very High

Structure Very lowcohesion, highcoupling,spaghetti code.

Moderately lowcohesion, highcoupling.

Reasonably well-structured; someweak areas.

High cohesion, lowcoupling.

Strong modularity,information hiding indata / controlstructures.

ApplicationClarity

No matchbetween programand applicationworld views.

Some correlationbetween programand application.

Moderatecorrelationbetween programand application.

Good correlationbetween programand application.

Clear match betweenprogram andapplication world-views.

Self-Descriptiveness

Obscure code;documentationmissing, obscureor obsolete

Some codecommentary andheaders; someusefuldocumentation.

Moderate level ofcodecommentary,headers,documentations.

Good codecommentary andheaders; usefuldocumentation;some weak areas.

Self-descriptive code;documentation up-to-date, well-organized,with design rationale.

SU Incrementto ESLOC

50 40 30 20 10

Page 40: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 4040

Programmer Unfamiliarity Programmer Unfamiliarity

(UNFM)(UNFM)

UNFM Increment Level of Unfamiliarity

0.0 Completely familiar

0.2 Mostly familiar

0.4 Somewhat familiar

0.6 Considerably familiar

0.8 Mostly unfamiliar

1.0 Completely unfamiliar

�� Only applies to modified softwareOnly applies to modified software

Page 41: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 4141

Commercial OffCommercial Off--thethe--Shelf Shelf

(COTS) Software(COTS) Software

�� Possible approach is to treat as reusePossible approach is to treat as reuse

�� Best approach is to use COCOTSBest approach is to use COCOTS

Page 42: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 4242

Reuse Parameter Reuse Parameter

GuidelinesGuidelinesReuse Parameters

Code Category DM CM IM AA SU UNFMNew- all original software

not applicable

Adapted- changes to pre-existing software

0% - 100%normally >

0%

0+% - 100%usually >DM and

must be >0%

0% -100+%

IM usuallymoderateand can be> 100%

0% – 8% 0% - 50% 0 - 1

Reused- unchanged existing software 0% 0%

0% -100%

rarely 0%,but couldbe verysmall

0% – 8% not applicable

COTS- off-the-shelf software (oftenrequires new glue code as a wrapperaround the COTS)

0% 0% 0% -100%

0% – 8% not applicable

Page 43: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

Auxiliary ChartsAuxiliary Charts

Page 44: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 4444

Product FactorsProduct Factors

�� Required Software Reliability (RELY) Required Software Reliability (RELY) –– Measures the extent to which the software Measures the extent to which the software must perform its intended function over a must perform its intended function over a period of time. Ask: what is the effect of a period of time. Ask: what is the effect of a software failuresoftware failure

Very Low Low Nominal High Very High Extra HighRELY slight

inconveniencelow, easilyrecoverable losses

moderate, easilyrecoverable losses

high financial loss risk to human life

Page 45: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 4545

Product Factors Product Factors contcont’’dd

�� Data Base Size (DATA)Data Base Size (DATA)–– Captures the effect large data requirements have Captures the effect large data requirements have

on development to generate test data that will be on development to generate test data that will be

used to exercise the program. used to exercise the program.

–– Calculate the data/program size ratio (D/P):Calculate the data/program size ratio (D/P):

)(

)(

SLOCSizeProgram

ByteszeDataBaseSi

P

D =

Very Low Low Nominal High Very High Extra High

DATA DB bytes/ Pgm SLOC < 10 10 ≤ D/P < 100 100 ≤ D/P < 1000 D/P > 1000

Page 46: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 4646

Product Factors Product Factors contcont’’dd

�� Product Complexity (CPLX) Product Complexity (CPLX) –– Complexity is divided into five areas:Complexity is divided into five areas:

�� control operations, control operations,

�� computational operations, computational operations,

�� devicedevice--dependent operations, dependent operations,

�� data management operations, and data management operations, and

�� user interface management operations. user interface management operations.

–– Select the area or combination of areas that characterize Select the area or combination of areas that characterize the product or a subthe product or a sub--system of the product.system of the product.

–– See the module complexity table, next several slidesSee the module complexity table, next several slides

Page 47: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 4747

Product Factors Product Factors contcont’’dd

�� Module Complexity Ratings vs. Type of Module Module Complexity Ratings vs. Type of Module

–– Use a subjective weighted average of the attributes, weighted Use a subjective weighted average of the attributes, weighted by their relative product importance.by their relative product importance.Very Low Low Nominal High Very High Extra High

ControlOperations

Straightline codewith a few non-nested structuredprogrammingoperators: DOs,CASEs,IFTHENELSEs.Simple modulecomposition viaprocedure calls orsimple scripts.

Straightforwardnesting ofstructuredprogrammingoperators.Mostly simplepredicates.

Mostly simplenesting. Someintermodulecontrol. Decisiontables. Simplecallbacks ormessagepassing,includingmiddleware-supporteddistributedprocessing.

Highly nestedstructuredprogrammingoperators with manycompoundpredicates. Queueand stack control.Homogeneous, dist.processing. Singleprocessor soft real-time ctl.

Reentrant andrecursive coding.Fixed-priorityinterrupt handling.Task synchronization,complex callbacks,heterogeneous dist.processing. Single-processor hard real-time ctl.

Multiple resourcescheduling withdynamically changingpriorities. Microcode-level control.Distributed hard real-time control.

ComputationalOperations

Evaluation ofsimpleexpressions: e.g.,A=B+C*(D-E)

Evaluation ofmoderate-levelexpressions:e.g.,D=SQRT(B**2-4.*A*C)

Use of standardmath andstatisticalroutines. Basicmatrix/vectoroperations.

Basic numericalanalysis: multivariateinterpolation, ordinarydifferential eqns.Basic truncation,roundoff concerns.

Difficult but structurednumerical analysis:near-singular matrixequations, partialdifferential eqns.Simpleparallelization.

Difficult andunstructurednumerical analysis:highly accurateanalysis of noisy,stochastic data.Complexparallelization.

Page 48: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 4848

Product Factors Product Factors contcont’’dd

�� Module Complexity Ratings vs. Type of Module Module Complexity Ratings vs. Type of Module

–– Use a subjective weighted average of the attributes, weighted Use a subjective weighted average of the attributes, weighted by their relative product importance.by their relative product importance.

Very Low Low Nominal High Very High Extra High

Device-dependentOperations

Simple read,writestatementswith simpleformats.

No cognizanceneeded of particularprocessor or I/Odevicecharacteristics. I/Odone at GET/PUTlevel.

I/O processingincludes deviceselection, statuschecking and errorprocessing.

Operations at physicalI/O level (physicalstorage addresstranslations; seeks,reads, etc.).Optimized I/O overlap.

Routines for interruptdiagnosis, servicing,masking.Communication linehandling.Performance-intensiveembedded systems.

Device timing-dependent coding,micro-programmedoperations.Performance-critical embeddedsystems.

DataManagementOperations

Simple arraysin mainmemory.Simple COTS-DB queries,updates.

Single file subsettingwith no data structurechanges, no edits, nointermediate files.Moderately complexCOTS-DB queries,updates.

Multi-file input andsingle file output.Simple structuralchanges, simpleedits. ComplexCOTS-DB queries,updates.

Simple triggersactivated by datastream contents.Complex datarestructuring.

Distributed databasecoordination. Complextriggers. Searchoptimization.

Highly coupled,dynamic relationaland objectstructures. Naturallanguage datamanagement.

UserInterfaceManagement

Simple inputforms, reportgenerators.

Use of simple graphicuser interface (GUI)builders.

Simple use ofwidget set.

Widget setdevelopment andextension. Simplevoice I/O, multimedia.

Moderately complex2D/3D, dynamicgraphics, multimedia.

Complexmultimedia, virtualreality.

Page 49: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 4949

Product Factors Product Factors contcont’’dd

�� Required Reusability (RUSE)Required Reusability (RUSE)–– Accounts for the additional effort needed to construct componentAccounts for the additional effort needed to construct components intended s intended

for reuse.for reuse.

Very Low Low Nominal High Very High Extra High

RUSE none across project across program across product line across multiple product lines

Very Low Low Nominal High Very High Extra High

DOCU Many life-cycleneeds uncovered

Some life-cycleneeds uncovered

Right-sized to life-cycle needs

Excessive for life-cycle needs

Very excessive forlife-cycle needs

�� Documentation match to lifeDocumentation match to life--cycle needs (DOCU)cycle needs (DOCU)–– What is the suitability of the projectWhat is the suitability of the project’’s documentation to its lifes documentation to its life--cycle needs.cycle needs.

Page 50: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 5050

Platform FactorsPlatform Factors

�� Platform Platform –– Refers to the targetRefers to the target--machine complex of hardware machine complex of hardware

and infrastructure software (previously called the and infrastructure software (previously called the

virtual machine).virtual machine).

�� Execution Time Constraint (TIME)Execution Time Constraint (TIME)–– Measures the constraint imposed upon a system in Measures the constraint imposed upon a system in terms of the percentage of available execution terms of the percentage of available execution time expected to be used by the system.time expected to be used by the system.

Very Low Low Nominal High Very High Extra High

TIME ≤ 50% use of available execution time 70% 85% 95%

Page 51: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 5151

Platform Factors Platform Factors contcont’’dd

�� Main Storage Constraint (STOR)Main Storage Constraint (STOR)–– Measures the degree of main storage constraint Measures the degree of main storage constraint

imposed on a software system or subsystem.imposed on a software system or subsystem.

�� Platform Volatility (PVOL)Platform Volatility (PVOL)–– Assesses the volatility of the platform (the Assesses the volatility of the platform (the

complex of hardware and software the software complex of hardware and software the software

product calls on to perform its tasks).product calls on to perform its tasks).

Very Low Low Nominal High Very High Extra High

STOR ≤ 50% use of available storage 70% 85% 95%

Very Low Low Nominal High Very High Extra High

PVOL major change every 12 mo.;minor change every 1 mo.

major: 6 mo.;minor: 2 wk.

major: 2 mo.;minor: 1 wk.

major: 2 wk.;minor: 2 days

Page 52: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 5252

Personnel FactorsPersonnel Factors

�� Analyst Capability (ACAP)Analyst Capability (ACAP)–– Analysts work on requirements, high level design and detailed Analysts work on requirements, high level design and detailed

design. Consider analysis and design ability, efficiency and design. Consider analysis and design ability, efficiency and thoroughness, and the ability to communicate and cooperate. thoroughness, and the ability to communicate and cooperate.

�� Programmer Capability (PCAP)Programmer Capability (PCAP)–– Evaluate the capability of the programmers as a team rather Evaluate the capability of the programmers as a team rather

than as individuals. Consider ability, efficiency and than as individuals. Consider ability, efficiency and thoroughness, and the ability to communicate and cooperate.thoroughness, and the ability to communicate and cooperate.

Very Low Low Nominal High Very High Extra High

ACAP 15th percentile 35th percentile 55th percentile 75th percentile 90th percentile

Very Low Low Nominal High Very High Extra High

PCAP 15th percentile 35th percentile 55th percentile 75th percentile 90th percentile

Page 53: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 5353

Personnel Factors Personnel Factors contcont’’dd

�� Applications Experience (AEXP)Applications Experience (AEXP)–– Assess the project team's equivalent level of experience with Assess the project team's equivalent level of experience with

this type of application. this type of application.

�� Platform Experience (PEXP)Platform Experience (PEXP)–– Assess the project team's equivalent level of experience with Assess the project team's equivalent level of experience with

this platform including the OS, graphical user interface, this platform including the OS, graphical user interface,

database, networking, and distributed middleware.database, networking, and distributed middleware.

Very Low Low Nominal High Very High Extra High

AEXP ≤ 2 months 6 months 1 year 3 years 6 years

Very Low Low Nominal High Very High Extra High

PEXP ≤ 2 months 6 months 1 year 3 years 6 year

Page 54: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 5454

Personnel Factors Personnel Factors contcont’’dd

�� Language and Tool Experience (LTEX)Language and Tool Experience (LTEX)–– Measures the level of programming language and software tool Measures the level of programming language and software tool

experience of the project team.experience of the project team.

�� Personnel Continuity (PCON)Personnel Continuity (PCON)–– The scale for PCON is in terms of the project's annual The scale for PCON is in terms of the project's annual

personnel turnover.personnel turnover.

Very Low Low Nominal High Very High Extra High

LTEX ≤ 2 months 6 months 1 year 3 years 6 years

Very Low Low Nominal High Very High Extra High

PCON 48% / year 24% / year 12% / year 6% / year 3% / year

Page 55: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 5555

Project FactorsProject Factors

�� Use of Software Tools (TOOL)Use of Software Tools (TOOL)–– Assess the usage of software tools used to develop the Assess the usage of software tools used to develop the

product in terms of their capabilities and maturity.product in terms of their capabilities and maturity.

Very Low Low Nominal High Very High Extra High

edit, code,debug

simple,frontend,backend CASE,little integration

basic lifecycletools, moderatelyintegrated

strong, maturelifecycle tools,moderatelyintegrated

strong, mature,proactive lifecycletools, well integratedwith processes,methods, reuse

Page 56: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 5656

Project Factors Project Factors contcont’’dd

�� Multisite Development (SITE)Multisite Development (SITE)–– Assess and average two factors: site collocation and Assess and average two factors: site collocation and

communication support.communication support.

�� Required Development Schedule Required Development Schedule (SCED)(SCED)–– Measure the imposed schedule constraint in terms of the Measure the imposed schedule constraint in terms of the

percentage of schedule stretchpercentage of schedule stretch--out or acceleration with out or acceleration with

respect to a nominal schedule for the project.respect to a nominal schedule for the project.

Very Low Low Nominal High Very High Extra High

SITE:Collocation

International Multi-city andMulti-company

Multi-city orMulti-company

Same city ormetro. area

Same building orcomplex

Fully collocated

SITE:Communications

Some phone,mail

Individual phone,FAX

Narrowbandemail

Widebandelectroniccommunication

Wideband elect.comm, occasionalvideo conf.

Interactivemultimedia

Very Low Low Nominal High Very High Extra High

SCED 75% of nominal 85% 100% 130% 160%

Page 57: Software Cost Estimation and COCOMO II Overview - LUMSsuraj.lums.edu.pk/~cs566m07/PDFs/Lecture 4 SW Cost Estimation & COCOMO... · Used in both the Early Design and the Post-Architecture

6/20/20086/20/2008 LUMSLUMS 5757

ReferencesReferences

� Raymond J. Madachy, EC-6 –COCOMO II Overview, CS 510 Lecture, 2005.

� Barry W. Boehm et al., Software Cost Estimation with COCOMO II, Prentice Hall PTR, 2000.