CISC 322 Software Architecture

CISC 322 Software Architecture Lecture 18: Project Scheduling 2 Emad Shihab Slides adapted from Ahmed E. Hassan Program Evaluation and Review Techn...
1 downloads 2 Views 4MB Size
CISC 322 Software Architecture

Lecture 18: Project Scheduling 2 Emad Shihab Slides adapted from Ahmed E. Hassan

Program Evaluation and Review Technique (PERT) ■ PERT (Program Evaluation and Review Technique) – Based on the idea that estimates are uncertain – Uses ranges and probability and provides an expected value to determine duration of the project – E.g. • The most likely completion time is 4 weeks but • It could be anywhere between 3 weeks and 8 weeks

Probabilistic Time Estimates ■ Beta distribution – a probability distribution traditionally used in CPM/PERT Mean (expected time): Variance:

a + 4m + b t= 6

 2

b-a = 6

2

where

a = optimistic estimate m = most likely time estimate b = pessimistic time estimate

Project Network with Probabilistic Time Estimates: Example Equipment installation

1

4

6,8,10

2,4,12

System development

Start

Equipment testing and modification

2 3,6,9 Position recruiting

System training

8 Manual testing

3,7,11

5 2,3,4

9 2,4,6

3

6

1,3,5

3,4,5

System testing

7 2,2,2

1,4,7 11

Job Training

Orientation

Final debugging 10

1,10,13 System changeover

Finish

Activity Time Estimates TIME ESTIMATES (WKS)

ACTIVITY

1 2 3 4 5 6 7 8 9 10 11

MEAN TIME

VARIANCE

a

m

b

t

б2

6 3 1 2 2 3 2 3 2 1 1

8 6 3 4 3 4 2 7 4 4 10

10 9 5 12 4 5 2 11 6 7 13

8 6 3 5 3 4 2 7 4 4 9

0.44 1.00 0.44 2.78 0.11 0.11 0.00 1.78 0.44 1.00 4.00

Activity Early, Late Times, and Slack ACTIVITY

1 2 3 4 5 6 7 8 9 10 11

t

б

ES

EF

LS

LF

S

8 6 3 5 3 4 2 7 4 4 9

0.44 1.00 0.44 2.78 0.11 0.11 0.00 1.78 0.44 1.00 4.00

0 0 0 8 6 3 3 9 9 13 16

8 6 3 13 9 7 5 16 13 17 25

1 0 2 16 6 5 14 9 12 21 16

9 6 5 21 9 9 16 16 16 25 25

1 0 2 8 0 2 11 0 3 8 0

Earliest, Latest, and Slack 1 0 8 1

Start

2 0 6 0

3 0 3 2

8

9

4 8 5 16 21

3

5

10 13 17

8 9 7 9

6

6

Critical Path

13

5 6 3 6 6 3 4 5

16

7

9

7 3 5 2 14 16

3 Finish

16

9

9

1 0

9 9 13 4 12 16

11 16 25

9 16 25

Total project variance 2 = б22 + б52 + б82 + б112  = 1.00 + 0.11 + 1.78 + 4.00

= 6.89 weeks

Probabilistic Network Analysis Determine probability that project is completed within specified time Z= where

 

x-



 = tp = project mean time  = project standard deviation x = proposed project time Z = number of standard deviations x is from mean

Probability of Completion Time What is the probability that the project is completed within 30 weeks? P(x  30 weeks)

 = 6.89 weeks 2

 =

6.89

 = 2.62 weeks

Z=

=

x-



30 - 25 2.62

= 1.91  = 25 x = 30

Time (weeks)

From Z scores Table, a Z score of 1.91 corresponds to a probability 0.9719.

Z values

Probability of Completion Time What is the probability that the project is completed within 22 weeks? x- 2 Z=  = 6.89 weeks P(x  22 weeks)



 =

6.89

 = 2.62 weeks

=

22 - 25 2.62

= -1.14 x = 22  = 25

Time (weeks)

From Z scores Table, a Z score of -1.14 corresponds to a probability of

0.1271

Z values

Limitations of PERT/CPM ■ Assumes clearly defined, independent activities

■ Activity times (PERT) follow beta distribution ■ Subjective time estimates ■ Over-emphasis on critical path

Project Crashing ■ Crashing – reducing project time by expending additional resources

■ Crash time – an amount of time an activity is reduced

■ Crash cost – cost of reducing activity time

■ Goal – reduce project duration at minimum cost

Project Crashing: Example

4

2 8

12

7 4

1 12

3 4

5 4

6 4

Project Crashing: Example $7,000 –

$6,000 – Crash cost

$5,000 –

Crashed activity Slope = crash cost per week

$4,000 – $3,000 – $2,000 –

Normal activity Normal cost

$1,000 – Normal time

Crash time

– 0

| 2

| 4

| 6

| 8

| 10

| 12

| 14

Weeks

Normal Activity and Crash Data

ACTIVITY

1 2 3 4 5 6 7

NORMAL TIME (WEEKS)

CRASH TIME (WEEKS)

NORMAL COST

12 8 4 12 4 4 4

7 5 3 9 1 1 3

$3,000 2,000 4,000 50,000 500 500 15,000

$5,000 3,500 7,000 71,000 1,100 1,100 22,000

$75,000

$110,700

CRASH COST

TOTAL ALLOWABLE CRASH TIME (WEEKS)

5 3 1 3 3 3 1

CRASH COST PER WEEK

$400 500 3,000 7,000 200 200 7,000

$7000

$500

Project Duration: 36 weeks

4

2 8

$700

12

7 4

1

FROM …

12

$400

3 4

6 4

5 4

$3000

$200

$200 $7000

$500

4

2 8

TO… Project Duration: 31 weeks Additional Cost: $2000

$700

12

7 4

1 7

$400

3 4 $3000

5 4 $200

6 4 $200

Time-Cost Tradeoff Minimum cost = optimal project time

Total project cost

Cost ($)

Indirect cost

Direct cost Crashing Project duration

Time

Time-Cost Relationship ■ Crashing costs increase as project duration decreases ■ Indirect costs increase as project duration increases ■ Reduce project length as long as crashing costs are less than indirect costs

References ■ Hughes, B., and Cotterell, M. (1999) Software Project Management, 2nd edition, McGraw-Hill. (slides) ■ Pfleeger, S.L. (1998) Software Engineering: Theory and Practice, Prentice Hall. ■ Roberta Russell & Bernard W. Taylor, III (2006) Operations Management - 5th Edition, John Wiley & Sons (slides) ■

http://miha.ef.uni- lj.si/_dokumenti3plus2/195166/norm-tables.pdf

Copyright 2006 John Wiley & Sons, Inc. All rights reserved. Reproduction or translation of this work beyond that permitted in section 117 of the 1976 United States Copyright Act without express permission of the copyright owner is unlawful. Request for further information should be addressed to the Permission Department, John Wiley & Sons, Inc. The purchaser may make back-up copies for his/her own use only and not for distribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages caused by the use of these programs or from the use of the information herein.