software engineering economics (cs656)spiral.kaist.ac.kr/wp/2016springcs656/download/cs656_05... ·...

18
2016-03-16 1 Software Engineering Economics (CS656) Software Engineering Economics (CS656) Jongmoon Baik Economic Analysis - I 2 Economic Analysis I - Performance & Cost Effectiveness Models -

Upload: others

Post on 06-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

1

Software Engineering Economics

(CS656)

Software Engineering Economics

(CS656)

Jongmoon Baik

Economic Analysis - I

2

Economic Analysis I- Performance & Cost Effectiveness Models -

Page 2: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

2

3

Session Objectives

• Present the basic objectives and framework of cost effectiveness analysis and introduce TPS example used to illustrate the economic concepts and techniques

• Introduce some highly useful basic microeconomic concepts

• Productivity functions, economies and diseconomies of scale – in terms of the cost-effectiveness framework

• Discuss various cost-effectiveness decision criteria – fixed budget, minimum requirements, maximum effectiveness/cost ratio, etc.

• Indicate their advantages and difficulties in various software engineering situations

4

Transaction Processing System• Client-server system developed to allow users to access

information of interest across networks

– Input transactions generated on workstations

– Input transactions processed by servers as quickly as possible

– Users may do other work as they wait for their transactions to be processed

– The amount of processing involved is not large

• Users can query databases and perform a variety of functions via the system

S ite A S ite B

In tra n e t

In te rn e t

S ite C

F ire w a ll

Page 3: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

3

5

Example: TPS

• Current TPS is inadequate for growing workload– Decided to employ a multi-processor configuration

– A particular microprocessor: best match for TPS• Speed: 1 million operations per second

• Processor overhead (scheduling, resource mgmt, dispatching, error checking & handling, etc)

– Consume 200 Kops/sec for each processor

– Multi-processor overhead : 80 (N-1) Kops/sec

» Multiple processor scheduling, resource mgmt. etc.

– Decisions on How many processors to buy…

6

Example: TPS Configuration

File Processor

Files

Communications

File

Task controlInitiate/

terminate

Processing

Communications

File

Task controlInitiate/

terminate

Processing

Communications

File

Task controlInitiate/

terminate

Processing

. . . . . . .

Communications

StatusMonitoring

Taskcontrol

Keyboard/display

Communications

Transactions

Front-endprocessor

Transactionprocessor

. . . . .

P1 P2 PN

Page 4: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

4

7

How Many Processors to Buy?

• Performance Parameters– N, number of processors N = ?– S, processor speed (Kops/sec) S = 1000– P, processor overhead (Kops/sec) P = 200– M, multiprocessor overhead factor M = 80– T, transaction processing time (Kops/tr) T = 20

• TPS performance model, E(N) [tr/sec]

8

TPS Performance, E(N)

N E(N)

1 40

2 72

3 96

4 112

5 120

6 120

7 112

8 96

0

20

40

60

80

100

120

140

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

Number of Processors: N

E(N

) (tr/

sec)

• Major use of Performance Model in SE are to provide the following types of information– Optimal Performance Information– Sensitivity Analysis Information

Page 5: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

5

9

TPS: Optimal Performance

• Maximum E(N)

– When the slope of the curve is zero• The first derivative of E(N) = 0

12120

)]5.4(802001000[5.5)5.5(

5.5160

802001000

2

)2

()(

0

max

max

E

N

NM

MPS

NT

M

T

MPS

dN

NdE

10

Using Derivatives to Find Optimal Points

• Necessary but not a sufficient condition for finding the Maximum (or Minimum) value of a function

• Situations which the derivative may be zero at the points other than maximum, minimum, optimum point

– Multiple maxima or minima

– Points of inflection and saddle points

Multiple Maxima Inflection Saddle Points

Page 6: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

6

11

Sensitivity Analysis - I• Suppose that the assumption of the multi-processor

(80 Kops/sec) overhead is not bourn in practice M = 160?

)6(820

)160960(20

)]1(1602001000[)(

NNNN

NNNE

N E(N)

M=80 M=160

1 40 40

2 72 64

3 96 72

4 112 64

5 120 40

6 120 0

7 112

0

20

40

60

80

100

120

140

0 1 2 3 4 5 6 7

Number of P rocessors

E(N

) (t

r/sec)

M=80

M=160

12

Sensitivity Analysis - II

• More compete sensitivity analysis over M

• Set the rest of parameters as constants

– N = 5, S=1000, P=200, and T=20

MM

MME

20020

)4800(520

)]15(2001000[5)(

0

50

100

150

200

250

0 50 100 150 200 250

M

E(M

) (t

r/se

c)

(80,120)

(160,40)

Page 7: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

7

13

Cost-Effectiveness Model (I)

• N(C) : Cost to add each additional processor

• each parallel processor cost: $400

• 25 identical copies needed: $400 * 25 = $10,000

• If C is measured in $K, N(C) = C/10 T

CMPS

CT

CNMPSCNCE

)]110

([10

)1)(()[()(

N N( C ) E(N)

1 10 40

2 20 72

3 30 96

4 40 112

5 50 120

6 60 120

7 70 1120

20

40

60

80

100

120

140

0 10 20 30 40 50 60 70 80 90 100

Cost C ($K)

E(C

) (tr/sec)

1 2 3 4 5 6 7 8 9 N

14

Cost-Effectiveness Model (II)

• Negotiation of the quantity discount schedule with the processor vendor

Price of first 75 processors

$400 each

Price of processors 76+

$240 each

0

20

40

60

80

100

120

140

0 10 20 30 40 50 60 70 80

Cost C ($K)

E(C

) (tr/

sec)

1 2 3 4 5 6 7 8

N N( C ) E(N)

1 10 40

2 20 72

3 30 96

4 36 112

5 42 120

6 48 120

7 54 112

Page 8: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

8

15

Production Functions:Economies of Scale

16

Which Operating System?

A

(Accept Available OS)

B

(Build New OS)

Cost ($K) 80 180

Multi-processor overhead (M) 80 50

NKNC

NN

NNNN

NNNE

)10($180)(

)17(5.2

)585(2

1

20

50850

20

))1(502001000()(

22

OPTION B:

Page 9: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

9

17

Cost-Effectiveness Comparison : Option A & B

112tr/sec

7

18

Production Function

Achievable output = F (input consumed)

-Assuming only technologically efficient* pairs:

* An input-output combination is technologically efficient if no higher level of output can be obtained using given level of input

X

Output

Input

PF is nonnegative

PF is nondecreasing

Page 10: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

10

19

Segments of Production Function

Output

InputInvestment High Payoff Diminishing Returns

- Investment segment, in which inputs are consumed without a great deal of resulting output

- High payoff segment, in which relatively small incremental inputs result in relatively large increments in output

- Diminishing returns segment, in which additional inputs produce relatively little increase in output

20

Discrete Production Function

• Frequently encountered in Software Engineering– Increases in effectiveness: achieved at discrete levels of input

• TPS example discrete production function– Increase in effectiveness in increments of $10K in cost, corresponding to the

purchase of another processor.

Page 11: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

11

21

Economies & Diseconomies of Scale

22

Economies of Scale

• Factors which make it more efficient to produce large quantities of a product than small quantities

• Achieved in large projects by investing in special-purpose productivity aids– Test tools, diagnostic aids, program library aids,

preprocessors, & postprocessors

– Will be used enough to more than repay their cost

Page 12: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

12

23

Diseconomies of Scale

• Similar to the multiprocessor effect in TPS• More communication overheads to update common information, handling

errors, or resolving the use of shared resources• The more people on a project, the more opportunities to retard the overall

productivity by the factors:– Personality conflicts– Differences in programming philosophy– Conflicts in work habits etc.

• e.g. Interpersonal communication paths (interactions)– N(N-1)/2 where N the number of people

24

Avoiding Diseconomies of Scale- Sources of Software Gold Plating

• Frequently Gold-Plating– Instant response time

– Pinpoint accuracy

– Unbalanced systems

• Usually Not Gold-Plating– Humanized input preprocessor

– Humanized output postprocessor

• Sometimes Gold-Plating– Highly generalized control, data structures

– Sophisticated command languages

– General-purpose utilities

– Automatic trend analysis

– Agents with attitudes– Animated displays– “everything for everybody”

– Modularity & information hiding– Measurement & diagnostic capabilities

Page 13: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

13

25

How to Recognize S/W Gold-Plating

Animated displays

Secondary application functions

User amenities

Main application functions

Natural speech input

Tertiary application functions

Basic application functions

Data management system

Operating System

Investment High-payoff Diminishing returns

Cost of software product

Va

lue

of

so

ftw

are

pro

du

ct

to o

rga

niz

ati

on

26

Avoiding Diseconomies of Scale- Functional Modularity

P11

P12

P13

P21

P22

P23

Trans. in

1

2

Module 1

Module 2

ProcessedTransaction

out

Page 14: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

14

27

Choosing Among Alternatives Decision Criteria

28

Cost Effectiveness Criteria

• Maximum Available Budget

• Minimum Performance Requirement

• Maximum Effectiveness/Cost Ratio

• Maximum Effectiveness-Cost Difference

• Composite Alternatives

Page 15: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

15

29

Maximum Available Budget

Option B

Option A

250

120

180

X

Y

Q

Z

P

E (

tr/s

ec)

200150

40

10050 300

C, $K

30

Minimum Performance Requirements

• If minimum performance req. = 160tr/sec– Go with Option B

• Overly rigorous req. leads to an unsatisfactory commitment– e.g.:125tr/sec $220K (point P)

– Can be handled satisfactorily with 115tr/sec• $130K (point Q)

Page 16: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

16

31

Maximum Effectiveness/Cost Ratio

60

100

80

40

20

120

20 40 60 80 100 120 140

R

L Eff/Cost = 2

K Eff/Cost = 0.93

C, $K

E (

tr/s

ec)

Option A

32

Maximum Effectiveness-Cost Difference

L*

Assume that the value of each transaction = $2K instead of $2.5K

$110K

Page 17: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

17

33

Composite Options

34

Summary – Cost-Effectiveness Analysis• Microeconomic concepts help structure,

resolve software decision problems– Cost-effectiveness– Production functions– Economies of scale– C-E decision criteria

• No single decision criterion dominates others– Each is best for some situations– Need to perform sensitivity analysis:

• Slightly altered situation doesn’t yield bad decision

Page 18: Software Engineering Economics (CS656)spiral.kaist.ac.kr/wp/2016springcs656/download/CS656_05... · 2016-03-16 · • Client-server system developed to allow users to access information

2016-03-16

18

35

Q & A