PERT DIAGRAMS & CPM
• Project Scheduling
1 • Project Scheduling Objectives
• Phases of Project Scheduling
• PERT Diagrams & Dummy Activities
• CPM – Critical Path Method
Software Project Management
PROJECT SCHEDULING
It is part of project management within the Planning phase of
the Systems Development Life Cycle.
Project Scheduling: Allocate resources to execute all activities
in the project.
Project: Set of activities or tasks with a clear beginning and
ending points. The amount of available resources (time,
personnel and budget) to carry out the activities is usually
limited. 2
Software Project Management
PROJECT SCHEDULING
“A project is a series of activities directed to accomplishment
of a desired objective.”
Plan your work first…..then
work your plan
Software Project Management
PROJECT SCHEDULING : GANTT DIAGRAM
Originated by
[Link] in 1918
Advantages Limitations
- Gantt charts are quite commonly - Do not clearly indicate details regarding
used. They provide an easy graphical the progress of activities
representation of when activities - Do not give a clear indication of
(might) take place. interrelation ship between the separate 4
activities
Software Project Management
PROJECT SCHEDULING
Objectives:
Establish beginning, ending and duration of each activity in the
project.
Calculate overall completion time of the project given the
amount of usually limited resources.
Determine the critical path and its duration.
Determine the slack time for all non-critical activities and the
whole project.
Guide the allocation of resources other than time such
as staff and budget.
Software Project Management
PROJECT SCHEDULING
Phases:
Define activities or tasks according to the project objectives.
A task is an individual unit of work with a clear beginning and a clear
end.
Identify precedence relationships or dependencies
Estimate time required to complete each task.
Draw an activity-on-arrow PERT diagram inserting dummy activities if
required.
Apply CPM to calculate earliest and latest starting times, earliest and
latest completion times, slack times, critical path etc.
Construct a GANTT chart.
Reallocate resources and resolve if necessary.
Continuously monitor/revise the time estimates along the project
duration. 6
Software Project Management
PROJECT SCHEDULING
Phases:
Define activities or tasks according to the project objectives.
A task is an individual unit of work with a clear beginning and a clear
end.
Identify precedence relationships or dependencies
Estimate time required to complete each task.
Draw an activity-on-arrow PERT diagram inserting dummy activities if
required.
Apply CPM to calculate earliest and latest starting times, earliest and
latest completion times, slack times, critical path etc.
Construct a GANTT chart.
Reallocate resources and resolve if necessary.
Continuously monitor/revise the time estimates along the project
duration. 7
Software Project Management
PERT DIAGRAMS
Program Evaluation and Review Technique
It is a network model that allows for randomness in activity
completion times.
Tool used to control the length of projects.
PERT was developed in the late 1950’s for the US Navy’s
Polaris Project.
First used as a management tool for military projects
Adapted as an educational tool for business managers
It has the potential to reduce both the time and cost required
to complete a project.
Software Project Management
PERT DIAGRAMS
A F
1 2 5 6
Single start Single finish
node node
9
Software Project Management
PERT DIAGRAMS
Activity-on-node diagrams:
Maybe more than one single start and end node
Nodes represent activities
Arrows indicate precedence
Activity-on-arrow diagrams:
One single start and one single end node
Arrows represent activities
Nodes indicate beginning/end of activities
10
Software Project Management
PERT DIAGRAMS
Activity-on-node
Activity-on-arrow
11
Software Project Management
PERT DIAGRAMS
Some basic rules for Activity –on-arrow:
Tasks are represented as arrows
Nodes represent the start and finish points of tasks
There is only one overall start node
There is only one overall finish node
Two tasks cannot share the same start and end node.
B
A D
2 3
C
Tasks B & C share
the same start and
end node 12
Software Project Management
DUMMY ACTIVITIES
Sometimes it is necessary to insert dummy activities (duration zero)
in order to maintain the clarity of the diagram and the precedence
relationships between activities.
In activity-on-arrow PERT diagrams, each activity must be uniquely
identifiable by its start and end nodes.
However, sometimes multiple tasks have the same predecessors
and successors.
13
Software Project Management
DUMMY ACTIVITIES
Case One
A task should be uniquely identifiable from its start node and finish
node
This means that two or more tasks cannot share the same start
and finish nodes
A D
1 2 3 4
Task D has C
immediate Tasks B and C
predecessors of have the same
B and C start and
finish nodes 14
Software Project Management
DUMMY ACTIVITIES
Inserting a dummy activity can ensure that multiple
tasks have different successors.
A B D
1 2 3 5
A new node is A dummy task is
4
inserted to give C inserted to
a different finish preserve the
node to B immediate 15
predecessors of D
Software Project Management
DUMMY ACTIVITIES
Case Two
A task should be uniquely identifiable from its start node
and finish node
This also means that a task cannot have more than one start
node and one finish node
In other words… two different arrows cannot represent the
same task.
Software Project Management
DUMMY ACTIVITIES
Possible Solution One
One option would be to insert activity E as shown below, but this
changes the precedence of E and provokes that D and E share both
start and end nodes.
Ending node of task B
and C, but task E has a
precedence ONLY task
C
Task D and E have
same start and end
nodes
Software Project Management
DUMMY ACTIVITIES
Possible Solution Two
Another option would be to insert activity E as shown below, but
this provokes C to have two different end nodes.
Two ending nodes for
Task C
Software Project Management
DUMMY ACTIVITIES
Correct Solution!
The solution is to insert a dummy task so that the precedence of E
is preserved and activity C remains uniquely identifiable.
Software Project Management
CPM – CRITICAL PATH METHOD
It is determined by adding the times for the activities in each
sequence.
CPM determines the total calendar time required for the project.
If activities outside the critical path speed up or slow down (within
limits), the total project time does not change.
The amount of time that a non-critical activity can be delayed
without delaying the project is called slack-time.
20
Software Project Management
CPM – CRITICAL PATH METHOD
ET – Earliest node time for given activity duration and precedence
relationships
LT – Latest node time assuming no delays
ES – Activity earliest start time
LS – Activity latest start time
EF – Activity earliest finishing time
LF – Activity latest finishing time
Slack Time – Maximum activity delay time 21
Software Project Management
CPM – CRITICAL PATH METHOD
Step 1. Calculate ET for each node.
For each node i for which predecessors j are labelled with ET(j), ET(i) is
given by:
ET(i)= maxj [ET(j)+ t(j,i)]
where t(j,i) is the duration of task between nodes (j,i).
Step 2. Calculate LT for each node.
For each node i for which successors j are labelled with LT(j), LT(i) is given
by:
LT(i)= minj [LT(j) – t(i,j)]
where t(j,i) is the duration of task between nodes (i,j).
22
Software Project Management
CPM – CRITICAL PATH METHOD
1 5
C(7)
3 4
23
Software Project Management
CPM – CRITICAL PATH METHOD
1 5
C(7)
3 4
24
Software Project Management
CPM – CRITICAL PATH METHOD
1 5
4 C(7)
3 4
25
Software Project Management
CPM – CRITICAL PATH METHOD
1 5
4 C(7) 11
3 4
26
Software Project Management
CPM – CRITICAL PATH METHOD
3
13
2
1 5
4 C(7) 11
3 4
27
Software Project Management
CPM – CRITICAL PATH METHOD
3
13
8
2
1 5
4 C(7) 11
3 4
28
Software Project Management
CPM – CRITICAL PATH METHOD
3
13
max
8
2
1 5
4 C(7) 11
3 4
29
Software Project Management
CPM – CRITICAL PATH METHOD
0 13
1 5
4 C(7) 11
3 4
30
Software Project Management
CPM – CRITICAL PATH METHOD
0 13 13
1 5
4 C(7) 11
3 4
31
Software Project Management
CPM – CRITICAL PATH METHOD
0 13 13
1 5
4 C(7) 11 11
3 4
32
Software Project Management
CPM – CRITICAL PATH METHOD
3 8
0 13 13
1 5
4 C(7) 11 11
3 4
33
Software Project Management
CPM – CRITICAL PATH METHOD
3 8
0 13 13
1 5
4 4 C(7) 11 11
3 4
34
Software Project Management
CPM – CRITICAL PATH METHOD
3 8
5
0 13 13
1 5
4 4 C(7) 11 11
3 4
35
Software Project Management
CPM – CRITICAL PATH METHOD
3 8
5
0
2
0 13 13
1 5
4 4 C(7) 11 11
3 4
36
Software Project Management
CPM – CRITICAL PATH METHOD
3 8
5 min
0
2
0 13 13
1 5
4 4 C(7) 11 11
3 4
37
Software Project Management
CPM – CRITICAL PATH METHOD
3 8
0 0 13 13
1 5
4 4 C(7) 11 11
3 4
38
Software Project Management
CPM – CRITICAL PATH METHOD
An activity with zero slack time is a critical activity and
cannot be delayed without causing a delay in the whole
project.
39
Software Project Management
CPM – CRITICAL PATH METHOD
Step 3. Calculate processing times for each activity.
For each activity X with start node i and end node j:
ES(X) = ET(i)
EF(X) = ES(X) + t(X)
LF(X) = LT(j)
LS(X) = LF(X) – t(X)
Slack Time (X) = LS(X) – ES(X) = LF(X) – EF(X)
= LF(X) – t(X) – ES(X)
Where t(X) is the duration of activity X.
An activity with zero slack time is a critical activity and cannot be
delayed without causing a delay in the whole project.
40
Software Project Management
CPM – CRITICAL PATH METHOD
Step 3. Calculate processing times for each activity.
Task Duration ES EF LS LF Slack Critical Task
A 3 0 3 5 8 5 No
B 4 0 4 0 4 0 Yes
C 7 4 11 4 11 0 Yes
D 5 3 8 8 13 5 No
E 2 11 13 11 13 0 Yes
Reading: (Kendall&Kendall, chapter 3), (Dennis &Wixom, chapter 3) 41
Software Project Management
CPM – CRITICAL PATH METHOD
3 8
0 0 13 13
1 5
4 4 C(7) 11 11
3 4
42
Software Project Management