- Home
- About PRI
- Applications
- Screenshots
- Public Sector
- Professional Services
- Partners
- Clients
- Knowledgebase
- Downloads
- Case Studies
- FAQ
- Press Releases

The Critical Path Method ("CPM") of project management scheduling was invented by the DuPont Corporation in the 1950's. CPM identifies the tasks that are required, i.e., "critical", for the project to be completed in the shortest period of time.

The tasks that are not critical have some slack, i.e., some leeway, in when they have to start or finish and still not impact the planned end-date of the project. CPM uses estimates of the planned duration required to complete each task, complex dependencies between the tasks, and usually a planned start-date or planned finish-date, to calculate when each of the tasks has to be performed for the project to finish in the shortest period of time.

These estimates allow management to see the "critical path" – the sequence of essential activities that must be done on time, in order for the project to finish on time.

This article describes CPM at a level of detail required to take full advantage of the CPM Scheduling built into our applications.

This article discusses the following terms:

- Critical Path
- Critical Path Method Date Calculations
- Project Start Date Schedule Orientation
- Project Finish Date Schedule Orientation
- Early Start Date
- Early Finish Date
- Late Start Date
- Late Finish Date
- Planned Start Date
- Planned Finish date
- Dependencies
- Dependency Types
- Finish to Start
- Finish to Finish
- Start to Start
- Start to Finish
- Slack or Lag Time
- Constraints and Constraint Dates

ActionProgram Manager keeps track of 10 dates for each task. This section describes how Critical Path Method date calculators work, including ActionProgram Manager's, and how each of these dates is calculated.

Let's say that our project plan has 4 tasks:

- Task 1 will last 2 days.
- Task 2 will last 4 days.
- Task 3 will last 2 days.
- Task 4 will last 2 days.

In our plan, Task 1 will start the project, and when it is finished, both Tasks 2 and 3 can start immediately. When Tasks 2 and 3 are finished, Task 4 can start immediately.

If we diagrammed this project, it would look like the following:

Let's look at the data. There is no lag between the end of
Task 1 and the start of Tasks 2 and 3. Similarly, there is no
lag between the completion of Task 2 and the start of Task 4.
Task 3 is different however. Since Task 2 will last 4 days and
Task 3 will last 2 days, obviously there is some leeway,
specifically 2 days' leeway, as to when Task 3 actually starts
without it impacting the end of the project, i.e., the
completion of Task 4. This leeway is called *"slack"*
or *"lag time"*.

The other tasks, Tasks 1, 2 and 4 have no slack, in that if
any of the time it takes to complete any of these tasks
changes, the end-date of the project will change. These tasks
are on the ** "critical path"** while
Task 3 is not on the critical path, as long as Task 3 gets
finished before or at the same time as Task 2. If Task 2
takes less than 2 days to finish and Task 3 takes more than 2
days to finish, then Task 3 will be on the critical path and
task 2 will not be on the critical path. Make sense? This is
where the term

If we start with the planned start date of the project and
calculate when each task will start and finish, this is called
using a ** "Project Start Date Schedule
Orientation"**.

If we start with the planned finish date of the project and
calculate when each task will start and finish, this is called
using a ** "Project Finish Date Schedule
Orientation"**.

Let's first look at the *Project Start Date Schedule
Orientation*. Let's say that the project plan start date
is day 1 at 8AM, and that Task 1 starts immediately when the
day begins. Day 1 at 8AM is the earliest that Task 1 can
start, so day 1 at 8AM is called the ** "early start
date"** for Task 1.

We know that if Task 1 starts on day 1 at 8AM and takes as
long as we think it will to finish, the earliest Task 1 can
finish is day 2 at 5PM (assuming that we are working an 8AM
– 5PM work day). Because of this, day 2 at 5PM is called
the ** "early finish date"** for Task
1.

If Task 2 starts immediately after Task 1 is finished, the
earliest Task 2 can start is 8AM on day 3. The *"early start
date"* for Task 2 is day 3 at 8AM. Similarly, if Task 3
starts immediately after Task 1 is finished, the earliest Task
3 can start is 8AM on day 3. The *"early start date"*
for Task 3 is day 3 at 8AM.

If Task 2 starts at 8AM on day 3 and really takes 4 days to
complete, the earliest Task 2 can finish is day 6 at 5PM.
Because of this, day 6 at 5 PM is called the *"early finish
date"* for Task 2.

If Task 3 starts at 8AM on day 3 and really takes 2 days to
complete, the earliest Task 3 can finish is day 4 at 5PM.
Because of this, day 4 at 5 PM is called the *"early finish
date"* for Task 3.

When is the earliest date Task 4 can start?

Since both Tasks 2 and 3 have to finish before Task 4 can
start, and Task 2 will take longer than Task 3, the earliest
Task 4 can start is just after Task 2 finishes, which is day 7
at 8AM. That means that the *"early start date"* for
Task 4 is day 7 at 8AM. If Task 4 starts at 8AM on day 7 and
takes 2 days to complete, the earliest date it can finish is
at 5 PM on day 8. The *"early finish date"* for Task 4
is 5PM on day 8.

Now our plan looks like the following figure:

So far, we have determined/calculated the
** "early start date** and

Now, the system goes back from the completion date of the
last task and calculates the latest time each task can start
and finish, i.e. the ** "late start
date"** and

If Task 4 finishes at 5PM on day 8, and it lasts 2 days, it
has to start on day 7 at 8AM. Day 8 at 5PM is called the
** "late finish date"** and day 7 at 8AM
is called the

If Task 4 starts on day 7 at 8AM, that means Tasks 2 and 3
have to finish by 5PM on day 6. Day 6 at 5PM is the *"late
finish date"* for both Tasks 2 and 3. If Task 3 finishes at
5PM on day 6, since it will only last 2 days, it has to start
on day 5 at 8AM. Day 5 at 8AM is the *"late start date"* for
Task 3 because if it starts after day 5 at 8AM, it will impact
the end date of the project. If Task 2 finishes at 5PM on day
6, since it will last 4 days, it has to start on day 3 at 8AM.
Since both Task 2 and Task 3 can start when Task 1 finishes,
Task 1 can end on day 2 at 5PM, and if it does, it will start
on day 1 at 8AM.

Often, we know when the project is supposed to finish, and
we want to calculate when the project has to start in order to
finish on time. If we use a ** "Project Finish Date
Schedule Orientation"**, we enter a planned finish
date. Using it, the system calculates the late start and
finish dates for each task starting with the last task in the
project plan. It works backwards until it gets to the first
task, and determines the planned start date of the
project. Then it works forwards and calculates the early start
and finish dates of each task. Finally, it compares the early
start date and late start date for each task. If they are the
same, the task is on the critical path. If there is a
difference, the task is not on the critical path.

Now, our diagram looks like this. The early start and finish dates are above each task, and the late start and finish dates are below each task.

MS Project added two new terms to this niche: *"Planned
Start Date"* and *"Planned Finish Date"*. When
using the Project Start Date Schedule Orientation, the early
start date and early finish date are the planned start date
and planned finish date. When using the Project Finish Date
Schedule Orientation, the late start date and late finish date
are the planned start date and planned finish date for the
project.

Most project management system have another capability that can be used to create a plan. The system gives you the ability to enter specific dates for a task and specify how the date should be used. For example, you can specify that a task can start:

- Must Start On
- Must Finish On
- Start No Earlier Than
- Finish No Earlier Than
- Start No Later Than
- Finish No Later Than
- As Soon As Planned
- As Late As Planned

Critical path method scheduling uses 1) the project plan
start date or the project plan finish date, 2) the planned
duration of each task, 3) the dependency type relationship
between each task, and 4) constraint dates to calculate when
the planned tasks that make up the project should start and
finish. This is called a ** "project
plan"**.

Critical Path Method scheduling systems calculate the dates
both ways. If you specify that the project should use a
Project Start Date Schedule orientation, the system starts
with the planned project start date entered, uses the planned
duration and dependency type relationships to calculate the
early start and finish dates for each task until it comes to
the last date. That becomes the planned finish date for the
project. Then, the system goes back from the planned finish
date and calculates the late start and finish dates for each
task. The system compares the early start dates for each task
and the late start dates for each task. If there is no
difference, the task is on the critical path. If there is a
difference, the task is not on the critical path, and the
difference is the *"slack"*, i.e. the amount of time
the start of task can slip without impacting the planned end
date of the project. This answers the question: *If the
project starts on a specific date, when will it end?*

Using the Project Finish Date Schedule orientation, the
planned finish date is entered rather than the planned start
date. The system starts with the planned finish date and
calculates the late start and late finish dates for each task,
until it comes to the late start date for the first task.
That becomes the planned start date. Then it calculates the
early start and finish dates for each task, and compares them.
This answers the question: *If we need the project to finish by
a specific date, when does it have to start?*

If you do not understand this, or if you need to discuss your project scheduling issues in specific detail, please contact us at 1-310-230-1722.