dilbert scott adams - california state university,...

23
Dilbert Scott Adams

Upload: others

Post on 27-Jun-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

DilbertScott Adams

Page 2: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

DilbertScott Adams

Page 3: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Chapter 5Estimate Influences

“How much is 68 + 73?”ENGINEER: “It’s 141.”

Short and sweet.MATHEMATICIAN: “68 + 73 = 73 + 68 by the commutative law of addition.”

True, but not very helpful.ACCOUNTANT: “Normally it’s 141, but what are you going to use it for?”

Barry Boehm & Richard Farley

Influences on effort, cost and schedule of software projects:• Project size is the most significant• The kind of software is second• Personnel factors are a close thirdNote.

Language & environment are not “first tier influences” on the outcome, but they are on the estimate.

Page 4: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Why use Lines of Code (LOC)?• A system requiring 1,000,000 LOC needs much more effort

that a system consisting of 100,000 LOC• How is this used… often not at all• Cost, effort, schedule:

Estimated without knowing how big the software will beNot adjusted when the size is increased (change requests)

Why LOC?Many languages are not as LOC oriented as older languagesReq’ts, design and testing don’t produce LOCComing in Chapter 18

Page 5: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Project Size (Fig. 5-1)

0

100,000

200,000

300,000

400,000

500,000

600,000

0 500 1,000 1,500 2,000 2,500 3,000

Effort(staff months)

Project Size (LOC)

Page 6: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Diseconomies of Scale• Larger projects require coordination between larger groups of

people…Meaning more communication!

N ( N – 1 ) / 2

Page 7: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Diseconomies of ScaleBut also Project conditions degrade productivity

0

1,000

2,000

3,000

4,000

5,000

6,000

0 200,000 400,000 600,000 800,000 1,000,000

Effort(staff months)

Project Size (LOC)

Page 8: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Project Size & Productivity (Table 7-1)• General relationship between Size & Productivity• Numbers valid just for comparison purposes• Depicts general trend:

Small 10K project can be 2 to 3 times greater than large projectsSmall 10K project can be 5 to 10 more productive than large projects

Project Size (LOC) Lines of Code per Staff Year10K 2,000 - 25,000 (3,200)100K 1,000 - 20,000 (2,600)1M 700 - 10,000 (2,000)10M 300 - 5,000 (1,600)

Cocomo II Nominal in Parentheses)

Page 9: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Bad news• Large variation in sizes of projects prohibits using some simple

effort ratio based on previous experience.Book example:Previous project: 100,000 LOC and 170 staff monthsProductivity Standard: 100,000 170 = 588 LOC / staff monthA different size project would not have 588 LOC / staff month

• No technique to account for the difference in the size of projects.

Page 10: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Good news!• Majority of projects in most organizatins are similar in size• Yes, use a simple effort ratio.

But…Use it only for a small range of sizesDifference only within a factor of 3 from smallest to largestEstimate in the mid range… variation roughly only 10%

TipSize is the number one influence on your estimate

Page 11: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Different kinds of SW appsNext biggest influence on your estimate!

(Table 5-2)

Kind of SW 10,000 LOC 100,000 LOC 250,000 LOCAvionics 100-1,000 20-300 20-200Business Systems 800-18,00 200-7,000 100-5,000Command & Control 200-3,000 50,600 40-500Embedded Systems 100-2,000 30,500 20-400Internet Systems (public) 600-10,000 100-2,000 100-1,500Intranet Systems (private) 1,500-18,000 300-7,000 200-5,000Microcode 100-800 20-200 20-100Process Control 500-5,000 100-1,000 80-900Real-Time 100-1,500 20-300 20-300Scientific Systems/Engineering Research

500-7,500 100-1,500 80-1,000

Shrink wrap/Packaged SW 400-5,000 100-1,000 70-800Systems SW / Drivers 200-5,000 50-1,000 40-800Telecommunications 200-5,000 50-600 40-500

PROJECT SIZE

Page 12: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Given a specific industryHow to estimate:

1. Use Table 5-2 … difference of a factor of 10 between high and low.

2. Use an estimating model (Cocomo II with adjustments for the specific kind of software).

3. Use historical data… includes factors specific to the industry (Chapter *)

Page 13: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Personnel Factors100,000 LOC Project:• Combined effect of personnel factors can “swing” the estimate

by as much as a factor of 22

Best Worst

Req'ts Analyst Capability -29% 42%Programmer Capability (General) -24% 34%Personnel Continuity (Turnover) -19% 29%

Applications (Business Area) Experience -19% 22%Language & Tools Experience -16% 20%

Platform Experience -15% 19%Team Cohesion -14% 11%

Nominal

Page 14: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Functionality per Line of Code (LOC)• If you have the choice of language, pick one that is more

productive than C, Cobol or Macro Assembly

Language Level Relative to CC 1 to 1C# 1 t0 2.5C++ 1 to 2.5Cobol 1 to 1.5Fortran 95 1 to 2.5Java 1 to 2.5Macro Assembly 2 to 1Perl 1 to 6Smalltalk 1 to 6SQL 1 to 10Visual Basic 1 to 4.5

Page 15: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Cocomo Development - ModesOrganic

Relatively small, simple softwre proejcts in which small teams with good application experience work to a set of flexible requirements

EmbeddedSoftware project has tight software, hardware and operational constraints

Semi-detachedIntermediate (in size and complexity) software project in which teams with mixed experience levels must meet a mix of rigig and less than rigid requirements

Page 16: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Cocomo Model

Where: E represents effort per staff-monthS is the size of the SW development in KLOCa and b are values dependent on the development mode

Development Modes:Organic a = 2.4 b = 1.05Semi-detached a = 3.0 b = 1.12Embedded a = 3.6 b = 1.20

( ) Product(cost drivers)bE a S= ×

Page 17: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Cocomo II Adjustment FactorsTable 5-4

Very Low impact Influence of factor on overall estimateVery High impact = (Max value Min value)

Table 5-5 Definitions for each Factor

Very Low Low Nominal High

Very High

Extra High Influence

Applications (Business Area) Experience 1.22 1.10 1.00 0.88 0.81 1.51Database Size 0.90 1.00 1.14 1.28 1.42Developed for Reuse 0.95 1.00 1.07 1.15 1.24 1.31Extent of Documentation Required 0.81 0.91 1.00 1.11 1.23 1.52Language & Tools Experience 1.20 1.09 1.00 0.91 0.84 1.43Multisite Development 1.22 1.09 1.00 0.93 0.86 0.78 1.56Personnel Continuity (Turnover) 1.29 1.12 1.00 0.90 0.81 1.59Platform Experience 1.19 1.09 1.00 0.91 0.85 1.40Platform Volatility 0.87 1.00 1.15 1.30 1.49Product Complexity 0.73 0.87 1.00 1.17 1.34 1.74 2.38Programmer Capability (General) 1.34 1.15 1.00 0.88 0.76 1.76Required SW Reliability 0.82 0.92 1.00 1.10 1.26 1.54Req'ts Analyst Capability 1.42 1.19 1.00 0.85 0.71 2.00Storage Constraint 1.00 1.05 1.17 1.46 1.46Time Constraint 1.00 1.11 1.29 1.63 1.63Use of SW Tools 1.17 1.09 1.00 0.09 0.78 1.50

Page 18: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Cocomo II Factors(Table 5-7)

2.38

2.00

1.761.63 1.59 1.56 1.54 1.52 1.51 1.50 1.49 1.46 1.43 1.43 1.42 1.40 1.38 1.33 1.31 1.29 1.26

Influence of each factorOn the Effort estimate

Page 19: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

The Model in ActionCost Drivers (see handout):

Product High = 1.15 1.08 1.15 = 1.43Computer Nominal = 1.00Personnel Low = 1.19 1.13 1.17 1.07 = 1.85Project Hign = 0.91 0.91 1.04 = 0.86

Cost Drivers = 1.43 1.00 1.85 1.86 = 2.28 Semi-detached project of 56 KLOC

1.12

( ) Product (cost drivers) 3.0 1.12 56

3.0 (56) 2.28 620.94 staff months

bE a Sa b SE

= ×= = =

= × =

Page 20: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

2.38

2.00

1.761.63 1.59 1.56 1.54 1.52 1.51 1.50 1.49 1.46 1.43 1.43 1.42 1.40 1.38 1.33 1.31 1.29 1.26

5 scaling factors contributing to Diseconomies of Scale1. Process Maturity2. Architecture and Risk Resolution3. Precedentedness4. Team Cohesion5. Development Flexibility

Project Size of 100,000 LOC

Page 21: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

5 scaling factors contributing to Diseconomies of Scale1. Process Maturity2. Architecture and Risk Resolution3. Precedentedness4. Team Cohesion5. Development Flexibility

Project Size of 5,000,000 LOC

2.38

2.001.94

1.831.76

1.701.63 1.59 1.59 1.56 1.54 1.54 1.52 1.51 1.50 1.49 1.46 1.43 1.42 1.40

1.31

0.00

0.50

1.00

1.50

2.00

2.50

Project Size of 5,000,000 LOC

Page 22: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Cost Drivers

V.LOW LOW NOMINAL HIGH V.HIGH EX.HIGHPRODUCT RELY 0.75 0.88 1.00 1.15 1.40

DATA 0.94 1.00 1.08 1.16CPLX 0.70 0.85 1.00 1.15 1.30 1.65

COMPUTER TIME 1.00 1.11 1.30 1.66STOR 1.00 1.06 1.21 1.56VIRT 0.87 1.00 1.15 1.30TURN 0.87 1.00 1.07 1.15

PERSONNEL ACAP 1.46 1.19 1.00 0.86 0.71AEXP 1.29 1.13 1.00 0.91 0.82PCAP 1.42 1.17 1.00 0.86 0.70VEXP 1.21 1.10 1.00 0.90LEXP 1.14 1.07 1.00 0.95

PROJECT MODP 1.24 1.10 1.00 0.91 0.82TOOL 1.24 1.10 1.00 0.91 0.83SCED 1.23 1.08 1.00 1.04 1.10

Page 23: Dilbert Scott Adams - California State University, Sacramentoathena.ecs.csus.edu/~buckley/CSc231_files/CSc231_Ch5.pdf · 2011. 2. 25. · Dilbert Scott Adams Author: Bob Created Date:

Questions – refer to last page of handout1. For the above cost drivers to be multiplied together the underlying

assumption is that they must be independent of each other, does this sound reasonable?

2. If all cost drivers were at minimum value, what would be the product of the cost drivers?

3. If all cost drivers were at maximum value, what would be the product of the cost drivers?

4. Based on the results to the two questions above, what is the ratio between maximum and minimum possible predicted effort?

5. Does the possible range from maximum to minimum effort seem reasonable?

6. The SCED cost driver is unique in the above table - can you see, and explain, why?

7. COCOMO starts from estimate of size, subjective assessment of 15 (independent?) cost drivers (with values - on potentially a 6-point scale - based on 60+ datasets), to estimate effort. How much confidence should you have in the final estimate?