download

Software project management (intro)
Scheduling Network
Network Planning Model:
PERT vs CPM
PERT
Do B
Do D
Do A
Do C
CPM
Do A
Do B
Do D
Do C
Constructing CPM Network
A network project may have only one start node
A network project may have only one end node
A link has duration
Nodes has no duration
code
3
Data take-on
Program test
4
install
Constructing CPM Network (2)
Time moves from left to right
Nodes are numbered sequentially
A network may not contain loops
3
code
correct
2
diagnose
Program test
4
install
Data take-on
A loop represents an impossible sequence
Constructing CPM Network (3)
A network may not contain dangles

It would suggest there are two completion points for
the project
3
code
Write manual
2
Program test
4
install
Precedents are the immediate preceding
activities
Constructing CPM Network (4)
Dummy Activities



Shown as dotted lines
Have a zero duration
Use no resources
Specify hardware
1
2
Place order
3
Design data
structures
4
3a
Code software
5
Example – Case
Activity
Duration
(Weeks)
Precedents
A – Hardware selection
6
B – Software design
4
C – Install hardware
3
A
D – Code & test software
4
B
E – File take on
3
B
F – Write user manual
10
G – User training
3
E, F
H – Install & test system
2
C, D
Example – CPM Network
Convention
Event
number
Earliest
date
Latest
date
2
slack
C=3
A=6
1
B=4
3
4
D=4
H=2
E=3
F = 10
G=3
5
6
Example – CPM Network (2)
Forward pass
Event
number
Earliest
date
Latest
date
2
6
slack
C=3
A=6
1
0
B=4
3
4
D=4
9
H=2
4
E=3
F = 10
G=3
5
10
6
13
Example – CPM Network (3)
Backward pass
Event
number
Earliest
date
Latest
date
2
slack
6
8
C=3
A=6
1
0
0
B=4
4
4
D=4
3
9
11
H=2
7
E=3
F = 10
G=3
5
10
10
6
13
13
Critical path
Any delay on critical path will delay the
project
Critical path


at least one path through the network joining
the critical events (any event with a slack of
zero)
The longest path through the network
Critical path – Previous example
Event
number
Earliest
date
Latest
date
2
6
slack
8
2
C=3
A=6
1
0
0
B=4
4
4
D=4
3
9
7
11
H=2
2
E=3
F = 10
G=3
5
10
10
0
13
13
0
3
0
6
Activity Float
The difference between ES and LS (or
between EF and LF) of an activity
It shows how long the activity’s start and
completion may be delayed without
affecting the end date of the project
Activity Float – Previous Example
TF = LS – ES
= LF – EF
2
6
8
2
C=3
A=6
1
0
B=4
0
D=4
3
4
4
9
7
11
H=2
2
E=3
F = 10
G=3
5
10
10
0
Event
number
Earliest
date
slack
Latest
date
13
13
0
3
0
6
Total float of
A = (2 – 0) = (8 – 6) = 2
B = (3 – 0) = (7 – 4) = 3
C = (8 – 6) = (11 – 9) = 2
D = (7 – 4) = (11 – 8) = 3
E = (7 – 4) = (10 – 7) = 3
F = (0 – 0) = (10 – 10) = 0
G = (10 – 10) = (13 – 13) = 0
H = (11 – 9) = (13 – 11) = 2
Precedence Network
Notation
ID (Identification
Duration
ES (Earliest Start)
EF (Earliest Finish)
LS (Latest Start)
LF (Latest Finish)
Example
Activity
Description
Preceding
Activity
Activity
Time
A
System Analysis
None
5
B
Database design
A
15
C
Interface Design
A
10
D
Architectural Design
A
5
E
Data connection
B, C
15
F
Prototype
B, C, D
10
G
Revision
F
170
H
Delivery
E, G
35
Network (PERT)
B
Dr:15
E
Dr: 15
ES: 5
EF: 20
ES: 20
EF: 35
LS: 5
LF: 20
LS: 185
LF: 200
A
Dr: 5
C
Dr: 10
F
Dr: 10
G
Dr: 170
ES: 0
EF: 5
ES: 5
EF: 15
ES: 20
EF: 30
ES = 30
EF: 200
LS: 0
LF: 5
LS: 15
LF: 20
LS: 20
LF: 30
LS = 30
LF: 200
D
Dr: 5
ES: 5
EF: 10
LS: 15
LF: 20
H
Dr:35
ES: 200
EF: 235
LS: 200
LF: 235
Gantt Chart
Qtr 3, 2003
Qtr 4, 2003
Qtr 1, 2004
Qtr 2, 2004
Qtr 3, 2004
Qtr 4, 2004
Qtr 1, 2005
Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar
ID
1
Task Name
System Analysis
2
Database design
3
Interface Design
4
Architectural Design
5
Data connection
6
Prototype
7
Revision
8
Delivery
Critical Path
The longest activity path(s) through the
network.
Can be distinguished by identifying the
collection of activities that all have the
same minimum slack.
Indication: the fastest finish = the latest
finish (its slack time = 0)
Float/Slack
Total slack: the amount of time an
activity can be delayed and yet not
delay the project
Even though it may delay the subsequent/next
activities


SL = LS – ES
SL = LF – EF
Slack (2)
Free slack:



The difference between the EF of an activity
and the ES of the activity that follows it .
Only activities that occur at the end of a chain
of activities (usually where there is a merge
activity) can have free slack.
An activity with free slack can be delayed
without delaying the ES of activities following it.
Example 2
A
Dur = 4
ES = 0
EF = 4
LS = 0
LF = 4
C
Dur = 5
F
Dur = 3
ES = 4
EF = 9
ES = 9
EF = 12
LS = 11
LF = 16
LS = 16
LF = 19
D
Dur = 8
ES = 4
EF = 12
LS = 4
LF = 12
G
Dur = 7
I
Dur = 0
ES = 12
EF = 19
ES = 19
EF = 19
LS = 12
LF = 19
LS = 19
LF = 19
E
Dur = 2
ES = 5
EF = 7
LS = 10
LF = 12
B
Dur = 5
H
Dur = 4
ES = 0
EF = 5
ES = 5
EF = 9
LS = 5
LF = 10
LS = 15
LF = 19
Total Slack
Total Slack from the previous figure:





B: slack 5 = 10 – 5
C: slack 7 = 16 – 9
E: slack 5 = 12 – 7
F: slack 7 = 19 – 12
H: slack 10 = 19 – 9
Free Slack from the previous figure:



E: 5
F: 7
H: 10