(CST 281) with 5 Assignments
Page 1 of 36 Tutorial on PERT/CPM
Tutorial on Project Scheduling
with PERT/CPM
Page 2 of 36 Tutorial on PERT/CPM
Background
Page 3 of 36 Tutorial on PERT/CPM
Introduction
The best known planning tool in the project manager’s tool box is
the PERT/CPM network diagram. This tutorial is designed to provide
scheduling novices with a more detailed treatment of developing
PERT/CPM charts than what is contained in the basic planning
module.
Page 4 of 36 Tutorial on PERT/CPM
What Is PERT/CPM?
PERT was developed by the US Navy in 1957. It is an acronym that
stands for Project Evaluation and Review Technique. It is a systems
diagram that shows how project tasks should be sequenced.
CPM was developed by DuPont Corporation in 1958. Conceptually,
it is quite similar to PERT networks. Like PERT, it shows how
project tasks should be sequenced.
What we call PERT/CPM in this course has taken on the name
precedence diagrams. Precedence diagrams are a hybrid of the
PERT and CPM approaches. Use of precedence diagrams to
schedule projects is called the precedence diagram method (PDM).
Page 5 of 36 Tutorial on PERT/CPM
Tasks
Tasks represent work effort of some sort. Examples of tasks include:
Testing a piece of software code (working time task)
Laying brick (working time task)
Paint drying (elapsed time task)
Note that the first two examples of tasks entail the application of
people to carry out the work. If the people stop work (e.g., during
lunch break, over weekends), the work does not get done. This type
of task is called a working time task
Note that in the third example, work is carried out passively. There is
no application of physical effort by workers. This type of task is
called an elapsed time task. It operates according to a 24/7
schedule – paint will dry 24 hours a day, seven days a week.
Page 6 of 36 Tutorial on PERT/CPM
Milestones
Milestones are markers. Unlike tasks, they don’t reflect active or
passive work effort.
Milestones are usually set up to establish targets toward which we
can direct work efforts. For example, “Design Phase Is Finished, 15
October” may be a milestone indicating that a series of design-
related tasks should be completed by 15 October.
Milestones are good for tracking work. As a project is carried out,
project staff can check off the milestones they have achieved and
report these accomplishments to senior managers.
Page 7 of 36 Tutorial on PERT/CPM
Representing Tasks and Milestones
on a PERT/CPM Chart
Start Dig hole Pour concrete
Concrete cure
Excavation phase ended
Milestone Markers
Tasks
Page 8 of 36 Tutorial on PERT/CPM
PERT/CPM Charts Are Systems Diagrams
The development of PERT/CPM network charts was a consequence
of advances in systems engineering in the 1950s. The use of flow
charts became big at this time. Flow charts are diagrams that clearly
illustrate processes.
In the 1950s, engineers began asking how flow chart concepts could
be applied to scheduling projects. Ultimately, this quest led to the
development of PERT and CPM
Page 9 of 36 Tutorial on PERT/CPM
Traditional Flowchart: Picnic Project
Check weather
Rain?
Prepare indoor activities
Caterer sets up indoors
Prepare outdoor activities
Caterer sets up outdoors
Hold picnic
Yes No
Note that in this flow chart, the rectangular boxes represent processes (e.g., “Prepare indoor activities”) and the diamond represents a decision that needs to be made (e.g., “Rain?”; if “Yes,” proceed down one path; if “No,” proceed down the other path). The terminator (i.e., “Hold picnic”) represents the end of the decision sequence. When properly constructed, flow charts like the one portrayed here give system developers the precise information they need to build solutions that meet the specifications.
Page 10 of 36 Tutorial on PERT/CPM
Basic PERT/CPM Network Logic
Start Plan picnic
Get food
Get sports equip
Drive to site
Hold picnic
End
“Get food” and “Get sports equipment” are carried out in parallel
Good practice requires that all PERT/CPM charts start with a “Start” milestone
Good practice requires that all PERT/CPM charts end with an “End” milestone
Page 11 of 36 Tutorial on PERT/CPM
Differences between
Flow Charts and PERT/CPM Charts Flow charts have conditional logic, e.g., “If it is raining, then do X. If
it is not raining, then do Y.” PERT/CPM charts do not have
conditional logic. The chart does not incorporate decision making.
Flow charts allow you to go back to an earlier activity, e.g., “If fewer
than 20 orders have been filled, then go back to step 3 and repeat
the process.” PERT/CPM charts do not go back to earlier tasks.
They move inexorably forward in time. If a given set of steps need to
be repeated, these steps are laid out all over again in the chart.
Page 12 of 36 Tutorial on PERT/CPM
Critical Path Concept
Page 13 of 36 Tutorial on PERT/CPM
Identifying the Critical Path
Start Lay foundation
14 days
Frame house
20 days
Wire house
2 days
Install plumbing
3 days
Put up dry wall
4 days
End
Note that there are two paths in this PERT/CPM chart
Upper path: Foundation Frame Wire Dry wall Duration: 40 days
Lower path: Foundation Frame Plumbing Dry wall Duration: 41 days
The path indicated by thick red arrows is called the critical path. It is the longest path in the network. As such, it defines the length of the project. In this case, the project is scheduled to last 41 days.
Page 14 of 36 Tutorial on PERT/CPM
Task Durations May Depend
on Number of Resources Used (1) In the previous example of a PERT/CPM chart, the duration of “Frame house” was listed as 20 days. Let’s say this duration is based on using 4 carpenters to do the job. The overall level of effort to do the job is defined as:
LOE = duration x number of resources
LOE = 20 days x 4 carpenters = 80 carpenter-days
Level of effort is useful in computing task duration when we know how many resources can be applied to the task. For example, if we have only two carpenters available to frame the house
Duration = 80 carpenter-days/2 carpenters = 40 days
If we have eight carpenters,
Duration = 80 carpenter-days/8 carpenters = 10 days
Page 15 of 36 Tutorial on PERT/CPM
Task Durations May Depend
on Number of Resources Used (2) In working with level of effort data, the trick, of course, is computing what the value is. The best way to compute level of effort is to follow the approach taken here. Let’s say that we usually work with teams of four carpenters, and that we find on a typical house building project it takes them 20 days to frame the house. Consequently, this one example tells us that the level of effort for framing a house is 80 carpenter-days of effort.
In working with level of effort, you need to employ good sense. While saying that the house can be framed in twenty days with four carpenters or forty days with two carpenters sounds reasonable, it is silly to extend this logic to its extreme and to say that 160 carpenters can do the job in one day!
Page 16 of 36 Tutorial on PERT/CPM
Importance of the Critical Path
The critical path is called critical because it defines the length of the project.
Any delays along the critical path can translate into delays in the project
overall. For example, if it takes 5 days to install the plumbing instead of the
scheduled 3 days, this can result in a two day schedule slippage.
Note that the “Wire house” task is non-critical. The network shows that it is
scheduled to take 2 days, while the parallel plumbing task (which is a critical
path task) is scheduled to take 3 days. Consequently, “Wire house” has one
day of float (also called slack by some schedulers). You can have a one day
delay on this non-critical task without causing the project to slip its schedule.
On large projects, you do not need to monitor progress on every path. The
important thing is to monitor progress on the critical path.
Page 17 of 36 Tutorial on PERT/CPM
Earliest Start, Latest Start, Float (Slack)
Start
Task A
3 days
Task C
8 days
Task E
5 days Task D
2 days
Task B
5 days
End
The critical path is the longest path. Add up the durations on different paths, and identify the longest path. In this case, the longest path is pictured in red. Its duration is 15 days. This means the project duration is scheduled to be 15 days.
Page 18 of 36 Tutorial on PERT/CPM
Calculating Earliest Start
Start
Task A
3 days
Task C
8 days
Task E
5 days Task D
2 days
Task B
5 days
End
To calculate the earliest time a task can begin, start at the left of the chart and work your way to the right. Add the duration of a newly encountered task to the total up to that point.
Begin computing earliest start dates with the critical path. In the network above, the earliest Task C can begin is at time t = 0. If C takes 8 days to complete, the earliest Task D can begin is at time t = 8. If D takes 2 days to complete, then the earliest Task E can begin is at time t = 10.
On the top, non-critical path above, the earliest Task A can begin is at time t=0. If it takes 3 days to complete, then earliest Task B can begin is at t = 3. Note that we have already determined by our critical path computation that Task E begins at time t = 10.
ES = Day 0
ES = Day 0
ES = Day 3
ES = Day 8
ES = Day 10
Page 19 of 36 Tutorial on PERT/CPM
Calculating Latest Start
Start
Task A
3 days
Task C
8 days
Task E
5 days Task D
2 days
Task B
5 days
End
To calculate the latest time a task can begin, start at the right side of the chart and work your way to the subtracting durations, task by task.
Note that calculating latest task dates for the critical path is easy, because on the critical path earliest starts and latest starts are the same (ES = LS) – there is no leeway.
On the top, non-critical path above, the latest Task E can begin is 5 days before the project end. Since the project will last 15 days, LS for Task E is 10. The latest start for Task B is 5 days before the latest start of Task E, or 10 – 5, so LS = 5. Finally, the latest start for Task A is 3 days before the latest start of Task B, or 5-3, so LS = 2.
LS = 2 days
LS = Day 0
LS = Day 5
LS = Day 8
LS = Day 10
Note that the latest start is sometimes called the “drop dead” date. If you begin later than the latest start date, then you can cause the project to encounter schedule slippage. For example, in the network diagram provided here, If Task B begins on Day 7 (two days later than Task B’s latest start date), this can cause a two day delay in the project overall. What was initially a non-critical path has now become critical.
Page 20 of 36 Tutorial on PERT/CPM
Start
Task A
3 days
Task C
8 days
Task E
5 days Task D
2 days
Task B
5 days
End
ES = Day 0
LS = Day 2
Float = 2
ES = Day 0
LS = Day 0
Float = 0
ES = Day 3
LS = Day 5
Float = 2
ES = Day 8
LS = Day 8
Float = 0
ES = Day 10
LS = Day 10
Float = 0
Calculating Float (Also Called Slack)
Float = LS - LE
Float measures scheduling leeway for a task. Note that critical path tasks have zero float – there is no leeway!
In a sense, float is a measure of forgiveness. For example, Task A has 2 days of float associated with it. I can begin Task A a day late, and this will not affect the project schedule. However, if I begin it three days late, this can contribute to a slip of the overall schedule. Critical path tasks are unforgiving. This is indicated by the fact that each of them has zero float. If you begin a critical path task even a little late, this translates into overall schedule slippage. The idea that there is no forgiveness on the critical path is a common sense one. Remember, the critical path defines project length. So if there is even a small delay on any of the critical path tasks, this can extend the project schedule.
Page 21 of 36 Tutorial on PERT/CPM
Hard Logic and Soft Logic
Page 22 of 36 Tutorial on PERT/CPM
Not All Precedence Links Are Equal
Start
Fix Coffee
8 minutes
Pour Coffee
2 minutes
Fix Cereal
6 minutes
Make Toast
6 minutes
End
Critical path
Duration = 12 min
Non-critical path
Duration = 10 min
Float = 2 min
Hard logic link: Pour coffee must follow Fix coffee
Soft logic link: It doesn’t matter which of these two tasks is predecessor and which is successor
With hard logic links, tasks must occur in a prescribed sequence. These links cannot be broken. With soft logic links, the sequence is immaterial. These links can be broken.
Page 23 of 36 Tutorial on PERT/CPM
Soft Logic Links Can Be Broken
Start
Fix Coffee
8 minutes
Pour Coffee
2 minutes
Fix Cereal
6 minutes
Make Toast
6 minutes
End
By breaking the soft logic link between “Fix Cereal” and “Make Toast,” I am able to reconfigure the network diagram to have these two tasks carried out in parallel. This has the effect of shortening the project duration, because the new critical path is the top path – it has a 10 minute duration. Two minutes have been shaved off duration! (See previous chart.)
Page 24 of 36 Tutorial on PERT/CPM
Estimating Task Duration
Page 25 of 36 Tutorial on PERT/CPM
Estimating Task Durations with PERT/CPM
When PERT networks were first developed in the late 1950s, one of
their distinguishing features was the way they estimated task
duration. To compute the expected time [e(t)] of a task, they
employed the following formula:
e(t) = a + 4b + c , [where a = best case, b = typical case, and
6 c = worst case]
Example:
e(t) = 40 + 4x43 + 47 , [where a = 40 hrs, b= 44 hrs, c = 47 hrs]
6
= 44.33 hours
Page 26 of 36 Tutorial on PERT/CPM
Estimating Standard Deviation for Task Durations
Standard deviation is an indicator of the “slop” of a measure. A
measure that is right on target has a low standard deviation. The
rougher the measure, the greater its standard deviation.
The inventors of PERT developed a simple formula that provides an
approximation of the standard deviation (SD) associated with the
estimate of the expected duration of a task:
SD(t) = c – a , where c = worst case, a = best case
6
Example: If c = 47 hrs and a = 43 hrs, SD(t) = 0.67 hrs
Page 27 of 36 Tutorial on PERT/CPM
Using Expected Duration with Its
Standard Deviation (1) In the previous examples, we have
e(t) = 44.33 and SD(t) = 0.67
Combining the two pieces of information we report that:
e(t) = 44.33 +/- 0.67 hours
That is, we have reason to believe that the true amount of time it will
take to carry out the target task lies somewhere between 43.67
hours and 45.00 hours. We know from our understanding of the
normal distribution that about 68% of observations lie within +/- 1
standard deviation from the mean. Very roughly, we have a sense
that two-thirds of the time, the amount of time it will take to carry out
our task lies within the range of 43.67 and 45.00 hours.
Page 28 of 36 Tutorial on PERT/CPM
Using Expected Duration with Its
Standard Deviation (2) Note, that we have to be very careful when talking about assuming that deductions arising from
the normal distribution apply to the Beta distribution (the (a + 4b +c)/6 formula we are using here
provides an estimate of the mean of the Beta distribution). Clearly, the normal distribution is
symmetric about the mean, while the Beta distribution is skewed. Still, it turns out that about two-
thirds of the observations on a typically encountered Beta distribution (such as presented in this
example) lie within a range slightly larger than +/- 1 standard deviation from the mean, so the 1
standard deviation rule for normal distributions roughly applies to the Beta distribution. However,
the 2 standard deviation scenarios differ significantly between the normal and Beta distributions.
For the normal distribution, roughly 95 percent of the observations lie within +/- 2 standard
deviations from the mean. However, with the Beta distribution 95% of the observations lie in the
following range: μ - 1.5 x (c – a)/6 and μ + 1.95 x (c – a)/6, where μ is a measure of the mean.
Thus in the present case, we estimate that 95% of the time, the actual amount of time it will take
to carry out the task being examined lies in the range 43.3 hours and 45.6 hours.
For a typical Beta distribution – as reflected in the data presented in this example – about 70% of
the observations lie at 0.82.
Page 29 of 36 Tutorial on PERT/CPM
Estimating the Duration of the Critical Path (1)
To estimate the duration of the critical path, merely add up the
duration of the individual tasks that lie on the critical path.
To estimate the standard deviation of the critical path, carry out the
following computation:
SDPath = SQRT(SD1 2 + SD2
2 + SD3 2 + … + SDi
2) for i tasks on the
path.
Page 30 of 36 Tutorial on PERT/CPM
Estimating the Duration of the Critical Path (2)
Task Best case Most typical Worst case
Expected
duration
Standard
deviation SD Squared
A 3 4 7 4.33 0.67 0.44
B 12 15 18 15.00 1.00 1.00
C 6 8 12 8.33 1.00 1.00
D 10 13 18 13.33 1.33 1.78
E 2 4 6 4.00 0.67 0.44
Duration = 45.00 SD Sqrd = 4.67
SD = 2.16
Duration of path = 45 hours +/- 2.16 hours
Note: The units of analysis in this table are hours.
In this example, Tasks A, B, C, D, and E comprise the critical path. For each task, we compute expected duration based on our assessment of the best case, most typical case, and worst case (using the Beta distribution). By adding up these numbers, we get the expected duration of the critical path (45). Given this data, we are also able to estimate the standard deviation associated with the duration of each task. By squaring these values and summing them, we get the sum of 4.67 (which in statistics is called variance). Standard deviation is the square root of variance, so in this example it is 2.16. Thus we estimate that the critical path will consume 45 hours of effort, plus or minus 2.16 hours. As a rough rule of thumb, about two-thirds of our observations lie within one standard deviation from the mean, so we are saying that there is a about a 30-35% chance of the true value lying outside the specified range.
Page 31 of 36 Tutorial on PERT/CPM
The Need to Estimate a Range of Duration Times
Up until now, all of our estimates of task duration have been point
estimates. That is, we use a single value of duration. In reality, we
know that these estimates are likely to be wrong. When we say it
takes 1.2 days to test a software algorithm, we don’t seriously
expect it to take exactly 1.2 days. We figure it will take 1.2 days, plus
or minus some segment of time.
In statistics, the “plus or minus” factor is determined by a measure
called standard deviation (SD). By calculating SD for a task, you
have a better idea of how much faster or slower the task will be than
what you speculate with your point estimate.
Page 32 of 36 Tutorial on PERT/CPM
Practical Steps in Building a PERT/CPM Chart
Page 33 of 36 Tutorial on PERT/CPM
Step 1. Draw a Logic Diagram by Hand
Sometimes you see project workers trying to develop a PERT/CPM
chart by working directly with a scheduling software package.
Generally, this is an ineffective way to begin. The computer screen
is limited in size and only lets you see a handful of tasks at one time.
Seasoned professionals always begin by drawing the logic relations
of tasks by hand on large sheets of paper or on large white boards
mounted onto a wall. This way they can work with big chunks of the
project and perhaps even see the whole project at one time.
Page 34 of 36 Tutorial on PERT/CPM
Step 2. Build a PERT/CPM Chart
Based on Your Hand Drawn Chart If you are using computer software, now is the time to build a
PERT/CPM network on the computer, using the large hand drawn
chart as your guide. As you build the chart, enter task duration data.
If you are building a PERT/CPM network by hand, copy your large
rough chart, and enter task duration figures into each box that
represents a task.
Page 35 of 36 Tutorial on PERT/CPM
Step 3. Identify the Critical Path
On a computerized scheduling package, once the scheduling data
are entered into the system, the critical path will be identified
automatically. It is usually pictured as a red path.,
If you have created a PERT/CPM network manually, look at all the
paths that run through the network and find the one that is longest.
This is the critical path. Color it red.
Page 36 of 36 Tutorial on PERT/CPM
Dealing with Weekends, Holidays, and Such
Computerized scheduling packages can deal with weekends, holidays, and such automatically. Each of these packages contains a central calendar, where you can define what days are weekend days (in Muslim countries, you set weekends for Friday and Saturday), what days are holidays (e.g., you can set New Years Day as a holiday). Beyond this, with computerized scheduling packages you can identify elapsed time activities (e.g., paint drying, concrete curing), so that these activities are carried out according to a 24/7 calendar. That is, if you set “Paint dry” as an elapsed time activity, the software will schedule it to dry on weekends (when appropriate) as well as weekdays.
When you create PERT/CPM networks by hand, you need to track weekends, holidays, and elapsed time tasks manually.