ESD.
36 System & Project Management
+
Lecture 2
Critical Path Method (CPM)
Instructor(s)
Prof. Olivier de Weck
Todays Agenda
Overview of PM methods and tools
CPM 101
Critical Paths, Slack
Task Crashing and Cost
Conclusions and Class Discussions
Introduce HW3
- ESD.36 SPM
History of Project Management
Big Projects since antiquity
Pyramids (Egypt), Great Wall (China)
Enormous workforce, but little documented evidence of
formal project management
Formal Project Management
Henry Gantt (1861-1919) bar chart 1910
1957 Sputnik Crisis revival of scientific management
Polaris (1958) Project Evaluation and Review
Technique (PERT)
DuPont Company (1960) Critical Path Method (CPM)
1960s NASA projects: Mercury, Gemini, Apollo
Work Breakdown Structures (WBS)
Cost and Schedule Tracking, Configuration Management
- ESD.36 SPM
Comments about early PM
Project decomposition necessary due to complexity
Resource allocation and workload smoothing
Schedule urgency ..before the decade is out JFK
Circumstances
Other Innovations
Complex Relations between Government and Contractors
Shielded from Society, Competition, Regulations
Cold War Pressures for Nuclear Power, Space Race ..
Project Manager as a central figure
Beginnings of Matrix Organization
Earned Value adopted by USAF (1963)
Professionalization since 1969
Diffusion into other industries: computers, automotive
Project Management Institute (PMI) founded PMBOK
ISO 10006:2003 Quality in Project Management
Recent criticism about PM standards as bureaucratic
- ESD.36 SPM
Fundamental Approaches
How to represent task relationships?
Network-based (graph theory) methods
Matrix-based methods
CPM, PERT, .
Task is a node or an arc
DSM - Tasks are columns and rows
Interrelationships are off-diagonal entries
Feedback loops, causal relationships
Stocks and flows simulation
Tasks that are done or waiting to be done
are stocks amount of work
Doing project work causes a flow
WORK
TO BE
DONE
- ESD.36 SPM
x x
xx
x x
x x
x x
System Dynamics
PEOPLE
PRODUCTIVITY
WORK
BEING DONE
WORK
DONE
Gantt Charts
Attributed to Henry Gantt most popular PM tool (80%)
Used to plan big shipbuilding projects (cargo ships WWI)
Graphical way of showing task durations, project schedule
Does not explicitly show relationships between tasks
Limited use for project tracking
Easy to understand
calendar
today
completion
Gantt Chart Builder System (Excel) 1.6
08 Sep'03
Bus Unit
Mkt
Sys
Eng
Sys
Mfg
Sys
Project
Project "XYZ"
Customer Clinic
Requirements Definition
Parts Design
Design Review
Manufacturing
Product Release
- ESD.36 SPM
tasks
%
30
100
100
50
0
0
0
Start
9-Sep-03
09-Sep-2003
11-Sep-2003
15-Sep-2003
23-Sep-2003
24-Sep-2003
06-Oct-2003
Finish
6-Oct-03
12-Sep-2003
15-Sep-2003
22-Sep-2003
23-Sep-2003
05-Oct-2003
06-Oct-2003
08/09
15/09
actual
22 Sep'03
22/09
29/09
06 Oct'03
06/10
13/10
milestone
planned
6
CPM 101
Represent a project (set of task) as a
network using graph theory
Capture task durations
Capture task logic (dependencies)
Expected
Duration
Task ID (Series)
A,5
B,8
B can only start after A
is completed
- ESD.36 SPM
(Parallel)
B,8
A,5
D,3
C,2
B and C do not depend
on each other
7
CPM Assumptions
Project consists of a collection of well defined
tasks (jobs)
Project ends when all jobs completed
Jobs may be started and stopped
independently of each other within a given
sequence (no continuous-flow processes)
Jobs are ordered technological sequence
- ESD.36 SPM
Task Representations
Tasks as Nodes of a Graph
Circles
Boxes
A,5
Tasks as Arcs of a Graph
ES
ID:A
LS
EF
Dur:5
LF
Tasks are uni-directional arrows
Nodes now represent states of a project
Kelley-Walker form
broken
- ESD.36 SPM
A, 5
fixed
9
Concept Question 1
What in project management is named after
Henry Gantt (1861-1919)?
A new method for managing budgets in shipyards
A matrix representation of the task relationships
known as the Gantt-Matrix
A horizontal bar chart known as the Gantt-Chart
Gantt-teams, a new form of organizational
structure
Gantt was a mechanical engineer and did not care
about projects
- ESD.36 SPM
10
Work Breakdown Structure
Used to create the task (job) list
Tree-decomposition of project tasks
WBS identifies terminal elements
The key starting point for project planning
Required by US Govt as part of SOW
Can be activity-oriented or deliverable- oriented
Use sticky-notes method early on
Carl L. Pritchard. Nuts and Bolts Series 1: How to
Build a Work Breakdown Structure. ISBN
1890367125
Job A
- ESD.36 SPM
Job B
Job X
Job G
11
WBS Painting a Room
1 Prepare materials
2. Prepare room
1.1 Buy paint
1.2 Buy brushes/rollers
1.3 Buy wallpaper remover
2.1
2.2
2.3
2.4
2.5
Remove old wallpaper
Remove detachable decorations
Cover floor with old newspapers
Cover electrical outlets/switches with tape
Cover furniture with sheets
4.1
4.2
4.3
4.4
Dispose or store left over paint
Clean brushes/rollers
Dispose of old newspapers
Remove covers
3. Paint the room
4. Clean up the room
- ESD.36 SPM
Source: [Link]
12
WBS of MIT/NASA Space
Logistics Project
IP S C M & L A
1 . 0 P r o je ct
M a n a g e m e nt
1 . 1 M I T Pr o je ct
M a n a g e m e nt
1 . 1 . 1 M I T Pr o je ct
M a n a ge r / PI
1 . 1 . 2 M IT T ra v el
2 . 0 T e rr e st r i al
A n a l o g i es
( T a s k 1)
2 . 1 L o w D e n si t y E q ui p m e nt
S C M L e s s on s L e a r n ed
3 . 0 S pa c e L og i s t i cs
N e t w o r k M o d el
( T a s k 2)
3 . 1 M o d e l Fo r m ul a t i on
4 . 0 E x pl o r a t i on
S u p p l y /D e m a nd
M o d e l i ng
( T a s k 3)
5 . 0 In t e rp l a ne t a ry
S C A r ch T r a de
S t u d i es
( T a s k 4)
4 . 1 S up p l y / D e m a nd
D a t a M o de l i ng
2 . 2 Lo n g -R a n ge M i l i t a ry
S C M L e s s on s L e a r n ed
3 . 1 . 1 M I T S e gm e nt
4 . 1 . 1 M I T S e gm e nt
5 . 1 . 1 M I T S e gm e nt
2 . 3 R em o t e En v i r on m e n ts
S C M L e s s on s L e a r n ed
3 . 1 . 2 J P L S e g m e nt
4 . 1 . 2 J P L S e g m e nt
5 . 1 . 2 J P L S e g m e nt
3 . 2 M o d el
D e v e l o p m e nt
4 . 1 . 3 U S A S e g m e nt
1 . 1 . 3 M I T R e so u r ce
A d m i n i s t ra t i on
1 . 1 . 4 R e s e r v es
2 . 4 I SS S C M
L e s s o n s L e a r n ed
1 . 2 J P L P r o je ct
M a n a g e m e nt
1 . 2 . 1 J PL P r o je ct
M a n a g er / C o - PI
6 . 3 In t e r na l I nt e g ra t i on
2 . 5 Sh u t t le / I SS
L e s s o n s L e a r n ed
4 . 2 D a ta
C o l l ec t i on
3 . 3 M o d el
V a l i da t i on
3 . 3 . 1 M I T S e gm e nt
4 . 2 . 2 U S A S e g m e nt
4 . 3 D a ta
V a l i da t i on
1 . 3 . 3 U S A R es o u r ce
A d m i n i s t ra t i on
- ESD.36 SPM
5 . 3 T r a de S t u d i es
R e p or t i ng
6 . 3 . 2 J P L S e g m e nt
6 . 4 P ub l i c E du c a t i on
a n d O ut r e a ch
6 . 4 . 1 M I T S e gm e nt
6 . 4 . 2 J P L S e g m e nt
3 . 3 . 2 J P L S e g m e nt
4 . 3 . 1 J P L S e g m e nt
3 . 3 . 3 U S A S e g m e nt
4 . 3 . 2 U S A S e g m e nt
6 . 4 . 3 U S A S e g m e nt
1 . 3 U S A P r o je ct
M a n a g e m e nt
1 . 3 . 2 U S A T r a v el
6 . 3 . 1 M I T S e gm e nt
4 . 2 . 1 J P L S e g m e nt
1 . 2 . 4 R e s e r v es
1 . 3 . 1 U SA P r o je ct
M a n a g er / C o - PI
5 . 2 T r a de S t u d i es
E x e c u tio n
6 . 3 . 3 U S A S e g m e nt
3 . 2 . 2 J P L S e g m e nt
1 . 2 . 2 J P L T r a v el
1 . 2 . 3 J P L R e s o u r ce
A d m i n i s t ra t i on
6 . 1 N A SA W o rk s h o p I
6 . 2 N A SA W o rk s h o p II
3 . 2 . 1 M I T S e gm e nt
1 . 3 . 4 R e s e r v es
5 . 1 T ra d e St u d i es
P l a n n i n g a n d S e t up
6 . 0 P r o je ct
I n t e gr a t i on a nd
D i s se m i na t i on
6 . 5 S p ac e S C M
E x e c u t i v e Sh o r t C o u r se
MIT (incl. PSI):
JPL:
USA:
cyan
gray
green
Color code WBS by
Organization in charge
13
Discussion Point 1
Why is it difficult to come up with a
good WBS (task list, task structure) in a
complex project?
Not all tasks known ahead of time if
completely new product/system
Others?
- ESD.36 SPM
14
WBS Guidelines
No more than 100-200 terminal elements, if
more use subprojects
Can be up to 3-4 Levels deep
Not more than 5-9 jobs at one level
Human cognitive bandwidth only 3 bits=23=8
Short term memory for most people 5-9 items
Poorer planning if too-fine grained dilution of
attention
The more tasks there are, the more intricate
dependencies there will be to keep track of
Jobs should be of similar size/complexity
Manageable chunks sense of progress
Level of graininess very difficult to answer
- ESD.36 SPM
15
Task List
List all tasks in a table with
Identifying symbol (tag, ID number)
Task description
Immediate prerequisite jobs
Expected task duration
Arrange jobs in technological order
No job appears in the list until all its predecessors
have been listed
Iterations are NOT allowed cycle error
Job a precedes b precedes c precedes a
We will discuss iterations a lot in this class !!!
- ESD.36 SPM
16
Simple Example: Job List
Two Parts X and Y: Manufacture and Assembly
Job #
Description
Start
Get materials for X
10
Get materials for Y
20
Turn X on lathe
B,C
30
Turn Y on lathe
B,C
20
Polish Y
40
Assemble X and Y
D,F
20
Finish
- ESD.36 SPM
Immediate
Time
Predecessors [min]
0
17
Project Graph
Each job is drawn on a graph as a circle*
Connect each job with immediate predecessor(s)
unidirectional arrows
Jobs with no predecessor connect to Start
Jobs with no successors connect to Finish
Start and Finish are pseudo-jobs of length 0
A finite number of arrow paths from Start to
Finish will be the result
Total time of each path is the sum of job times
Path with the longest total time critical path
There can be multiple critical paths minimum time to
complete project
* or other symbol, see before
- ESD.36 SPM
18
Project Graph
F,40
E,20
C,20
critical path
G,20
A,0
H,0
Finish
Start
B,10
D,30
4 unique paths: A,C,E,F,G,H; A,C,D,G,H; A,B,D,G,H; A,B,E,F,G,H
- ESD.36 SPM
100
70
60
90
19
Critical Path
CP is the bottleneck route
Shortening or lengthening tasks on the critical path
directly affects project finish
Duration of non-critical tasks is irrelevant
Crashing all jobs is ineffective, focus on the few % of
jobs that are on the CP
Crashing tasks can shift the CP to a different task
Shortening tasks technical and economical challenge
How can it be done?
Previously non-critical tasks can become critical
Lengthening of non-critical tasks can also shift the
critical path (see HW1).
- ESD.36 SPM
20
Discussion Point 2
What is the usefulness of knowing the
CP in a project?
Tells which task to shorten to finish project
earlier.
Others ?
- ESD.36 SPM
21
Critical Path Algorithm
For large projects there are many paths
Need a algorithm to identify the CP efficiently
Develop information about each task in context of the
overall project
Times
Start time (S)
For each job: Earliest Start (ES)
Earliest start time of a job if all its predecessors start at ES
Job duration: t
Earliest Finish (EF)=(ES)+t
Finish time (F) earliest finish time of the overall project
Show algorithm using project graph
- ESD.36 SPM
22
1.
2.
3.
4.
CP Algorithm
Mark the value of S to left and right of Start
Consider any new unmarked job, all of whose
predecessors have been marked. Mark to the
left of the new job the largest number to the
right of its immediate predecessors: (ES)
Add to ES the job time t and mark result to
the right (EF)
Stop when Finish has been reached
- ESD.36 SPM
23
CP Algorithm - Graphical
critical path
0
C,20
20
20
E,20
40
F,40
40
S=0 A,0 0
80
80
Start
0 B,10 10
- ESD.36 SPM
Finish
G,20
H,0
100 100 F=100
20 D,30 50
24
Concept Question 2
A project starts with (A,5). Task (B,10)
can start after A is completed. This is
also true for task (E,5). Task (C,8)
depends only on (B,10), while task (F,10)
depends on both (B,10) and (E,5). Task
(D,5) is the last task in the project and it
can start once (C,8) and (F,10) have
been finished.
The Earliest Finish (EF) time for the
whole project is:
- ESD.36 SPM
Possible
Answers
20
22
25
27
30
35
40
25
Latest Start and Finish Times
Set target finish time for project: T >= F
Usually target is a specific calendar date,
e.g. October 1, 2007
When is the latest date the project can be
started?
Late Finish (LF) - latest time a job can be
finished, without delaying the project
beyond its target time (T)
Late Start: LS = LF-t
- ESD.36 SPM
26
Determine LF and LS
Work from the end of the project: T
1. Mark value of T to left and right of Finish
2. Consider any new unmarked job, all of
whose successors have been marked - mark
to the right the smallest LS time marked to
the left of any of its immediate successors
3. Subtract from this number, LF, the job time t
and mark result to the left of the job: LS
4. Continue upstream until Start has been
reached, then stop
- ESD.36 SPM
27
LS and LF : Project Graph
0 20
0 20
20 40
20 40
40 80
40 80
C,20
E,20
F,40
Finish
G,20
S=0 A,0
80 100 100 100
80 100 100 100
Start
0 0
0 0
H,0
0 B,10 10
D,30
0 10
10 20
20 50
50 80
- ESD.36 SPM
Legend
early ES EF
late LS LF
28
Slack
Some tasks have ES=LS --> no slack
Total Slack of a task TS=LS-ES
Maximum amount of time a task may be delayed
beyond its early start without delaying project
completion
Slack time is precious managerial freedom, dont
squander it unnecessarily
e.g. resource, work load smoothing
When T=F then all critical tasks have TS=0
At least one path from Start->Finish with critical jobs
only
When T>F, then all critical jobs have TS=T-F
- ESD.36 SPM
29
Project Graph - Slack
0 20
0 20
20 40
20 40
40 80
40 80
C,20
E,20
F,40
TS=0
TS=0
TS=0
0 0
0 0
TS=0 TS=0
G,20
S=0 A,0
Start
Finish
TS=10
TS=30
0 B,10 10
D,30
0 10
10 20
20 50
50 80
- ESD.36 SPM
H,0
80 100 100 100
80 100 100 100
Legend
early ES EF
late LS LF
30
Task Times Detail - Task i
LS(i)
ES(i)
Duration t(i)
Total Slack
TS(i)
FS(i)
LF(i)
EF(i)
Duration t(i)
j is the immediate
successor of i with
the smallest ES
ES(j)
j>i
Free Slack
Free Slack (FS) is the amount a job can be
delayed without delaying the Early Start (ES)
of any other job.
FS<=TS always
- ESD.36 SPM
31
Main CPM Errors
Estimated job times are wrong
Predecessor relationships may contain cycles cycle
error
List of prerequisites contains more than the immediate
predecessors, e.g. ab, bc and a,bc
Overlooked some predecessor relationships
Some predecessor relationships may be listed that are
spurious
and . Some tasks/jobs may be missing !!!
- ESD.36 SPM
32
Gradual Refinement of CPM
Job Times
Predecessor Relationships
Given rough time estimates construct CPM chart
Re-estimate times for CP and those with very small TS
Iterate until the critical path is stable
Focus attention on a subset of tasks
Check algorithmically for cycle errors and pre-predecessor
errors
Cancel all except immediate predecessor relationships
Wrong or Missing Facts
Cannot be detected by computers!
- ESD.36 SPM
33
Sample CPM (2007)
A&D High Tech Case, Online Store Project, 60 tasks, HW2, 2007
- ESD.36 SPM
34
Crashing Tasks
What is we want to speed up project
completion?
Options
Work overtime
Put more resources on the critical tasks
Parallelize tasks that are really serial (later in class)
Cost of speedup?
Is there a net savings resulting from
reduction in overall project time?
- ESD.36 SPM
35
Cost Calculations
Can compute project costs if cost of each job is
included in the task data
(Potentially) shorten crew jobs by adding personnel or
working overtime with existing personnel
Speedup carries price tag: normal time, crash time
Assign some critical jobs to their crash time
Direct costs will increase as we crash critical tasks
Indirect (fixed, overhead) costs will decrease as the
overall project duration decreases standing army
phenomenon
Minimize the sum of fixed and direct costs
- ESD.36 SPM
36
Typical Cost Pattern
Project
Costs [$]
Total Costs
natural pace
savings
Cum Fixed Costs
Direct Costs
A
- ESD.36 SPM
crash
Total Project
Time [days]
37
CPM Judgment
Focuses attention on a subset of critical tasks
Determine effect of shortening/lengthening tasks
Evaluate costs of a crash program
Doesnt capture task iterations, in fact
Prohibits iterations = cycle error
Treats task durations as deterministic
- ESD.36 SPM
38
Summary
CPM is useful, despite criticism, to identify the
critical path - focus on a subset of the project
Slack (TS and FS) is precious
PERT treats task times as probabilistic
apply flexibility to smooth resource/schedules
Next lecture
Selective crashing of critical tasks can
reduce (or increase) total project cost
CPM does not allow for task iterations
- ESD.36 SPM
39
Class Frustrations
Poor examples set by project managers
Perception of PMs as bureaucratic boxcheckers and ankle-biters
Why?
Traditional Project Management
Doesnt acknowledge the existence of iterations
Is inflexible, changing the plan considered a failure
Does not think of projects in a probabilistic sense
Hostage to existing project management software
In a reactive mode no early warning systems
- ESD.36 SPM
40
HW1 Introduction
You are Project Manager for the new
CityCar development project
Plan the project
Task list
Create project graph
Critical path
Slack times
Re-planning after change
managerial-type questions
- ESD.36 SPM
41
MIT OpenCourseWare
[Link]
ESD. 6\VWHP3URMHFW0DQDJHPHQW
Fall 2012
For information about citing these materials or our Terms of Use, visit: [Link]