Estimation using COCOMO

22
Estimation using COCOMO Estimation using COCOMO More Science, Less Art More Science, Less Art

description

Estimation using COCOMO. More Science, Less Art. COCOMO History. Co nstructive Co st Mo del Dr. Barry Boehm TRW in 1970s 1981 - COCOMO81 1996 - COCOMOII. Modes (project types). Organic Relatively small software teams develop software in a highly familiar, in-house environment - PowerPoint PPT Presentation

Transcript of Estimation using COCOMO

Page 1: Estimation using COCOMO

Estimation using Estimation using COCOMOCOCOMO

More Science, Less ArtMore Science, Less Art

Page 2: Estimation using COCOMO

COCOMO HistoryCOCOMO History

Constructive Cost Model

Dr. Barry Boehm

TRW in 1970s

1981 - COCOMO81

1996 - COCOMOII

Page 3: Estimation using COCOMO

Modes Modes (project types)

OrganicOrganic Relatively small software teams develop software in

a highly familiar, in-house environment

Semi-detachedSemi-detached between organic and embedded

EmbeddedEmbedded Needs to operate within tight constraints. The

product must operate within (is embedded in) a strongly coupled complex of hardware, software, regulations, and operational procedures.

Page 4: Estimation using COCOMO

LevelsLevels (sophistication of estimate)

BasicBasic for rough estimates

IntermediateIntermediate several more input variables

DetailedDetailed phase-sensitive effort

Page 5: Estimation using COCOMO

Basic's Effort Formula

E = a × Sizeb

E = person-monthsSize = KLOC

Organic Semi Embedded

a 2.4 3.0 3.6

b 1.05 1.12 1.20

Page 6: Estimation using COCOMO

0102030405060708090100

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

KLOC

Per

son

Mo

nth

s

Page 7: Estimation using COCOMO

Basic's Duration Formula

TDEV = 2.5 × Eb

TDEV = development time in months

Organic Semi Embeddedb 0.38 0.35 0.32

Page 8: Estimation using COCOMO

Total Development Time

0.00

2.00

4.00

6.00

8.00

10.00

12.00

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

KLOC

Mo

nth

s

Page 9: Estimation using COCOMO

Example of Basic

http://cost.jsc.nasa.gov/COCOMO.html

Page 10: Estimation using COCOMO

Intermediate Effort Intermediate Effort FormulaFormula

E = a × Sizeb × CE = person-monthsSize = KLOCC = 15 Cost Drivers

Organic Semi Embedded

a 3.2 3.0 2.8

b 1.05 1.12 1.20

Page 11: Estimation using COCOMO

Cost DriversCost Drivers very low extra highProduct attributes Required software reliability 0.75 0.88 1.00 1.15 1.40 Size of application database 0.94 1.00 1.08 1.16Complexity of the product 0.70 0.85 1.00 1.15 1.30 1.65

Hardware attributes Run-time performance constraints 1.00 1.11 1.30 1.66 Memory constraints 1.00 1.06 1.21 1.56 Virtual machine environment volatility 0.87 1.00 1.15 1.30 Required turnaround time 0.87 1.00 1.07 1.15

Page 12: Estimation using COCOMO

Cost DriversCost Drivers very low extra highPersonnel attributes

Analyst capability 1.46 1.19 1.00 0.86 0.71

Software engineer capability 1.29 1.13 1.00 0.91 0.82

Applications experience 1.42 1.17 1.00 0.86 0.70

Virtual machine experience 1.21 1.10 1.00 0.90

Programming language experience 1.14 1.07 1.00 0.95

Project attributes

Use of software tools 1.24 1.10 1.00 0.91 0.82

Application of SwEng methods 1.24 1.10 1.00 0.91 0.83

Required development schedule 1.23 1.08 1.00 1.04 1.10

Page 13: Estimation using COCOMO

Example of Intermediate

http://sunset.usc.edu/research/COCOMOII/cocomo81_pgm/cocomo81.html

Page 14: Estimation using COCOMO

DetailedDetailed

Broken into system, subsystem, and module

Cost Drivers applied to each module

Page 15: Estimation using COCOMO

Why COCOMO IIWhy COCOMO II

Changes in development less waterfall more reuse more design time more real-time, less mainframe

COCOMO81 based on SLOC not FPs COCOMOII supports FP, Object Points, and

SLOC

Page 16: Estimation using COCOMO

COCOMO IICOCOMO II The Application Composition Model

used early for rough estimate based on Object Points

The Early Design Model used once requirements are stable uses a small set of new Cost Drivers, new estimating

equations based on Unadjusted Function Points or KSLOC

The Post-Architecture Model used after development of overall architecture new cost drivers, new line counting rules, new equations

Page 17: Estimation using COCOMO

Application Composition Model

Object Points used for sizing, not LOC

Based on number and complexity of screens number and complexity of reports amount of code reuse experience of developers

Page 18: Estimation using COCOMO

Object Points

Object point complexity levels for screens and reports

Number of data tablesviews Total <4 Total <8 Total 8+ <3 simple simplemedium 3-7 simple medium difficult 8+ medium difficult difficult

Page 19: Estimation using COCOMO

Object Complexity Weight

Object type Simple Medium DifficultScreen 1 2 3Report 2 5 83GL component - - 10

Page 20: Estimation using COCOMO

COCOMOII Rough Estimate of Effort

NOP = (object points) x (100 – r) / 100

NOP = new object pointsr = % of code reuse

E = NOP / PROD

PROD = productivity based on experienceDeveloper Experiencevery low low nominal high very high 4 7 13 25 50

Page 21: Estimation using COCOMO

SchedulingSchedulingWaterfall-based Activity/Phase Effort & Schedule

distributions covered by COCOMO II

In or Out Percentage of the Value Estimated Directly by COCOMO IIACTIVITY/PHASE of Scope Effort Schedule

Plans & Requirements Out 7% (range 2%-15%) typical 16%-24% (range 2%-30%)

Product Design In 17% range 24%-28%

Programming In range 64%-52% range 56%-40%

Integration & Test In range 19%-31% range 20%-32%

Transition Out 12% (range 0%-20%) 12.5% (range 0%-20%)

Totals 119% (range 102%-135%) typical 128%-136% (range 102%-150%)

http://sunset.usc.edu/research/COCOMOII/

Page 22: Estimation using COCOMO

Next…

Next 3 Classes1. scheduling2. requirements gathering and exam

review3. exam