A CPM schedule is a project management activity schedule that uses the critical path method of scheduling. CPM schedules describe the specific activities that make up a larger project, including their durations, sequential relationships, and any associated costs. A CPM schedule will provide the project with an overall duration needed for completion through calculations of added activity and project data. This includes optimal start and finish dates for each individual activity.
What is the Critical Path Method?
The critical path method (CPM), also referred to as critical path analysis (CPA) is a scheduling algorithm originally developed in the late 1950s. As a method of mathematical analysis, CPM can be used by any project with a sequence of activities. It is commonly used in construction, development, engineering, and research projects.
CPM works by using network diagrams to display the sequence of activities needed to complete the project. The critical path method will calculate the project’s critical path using the activities’ durations, sequences, and relationships between one another. This will determine the overall duration for the project. This critical path will identify the project’s critical activities, or those that need to be completed on time to ensure that the project is completed on time.
In the past, the critical path method was often applied to projects by hand. Today, however, most scheduling softwares, such as Primavera P6 and Microsoft Project, can perform CPM scheduling automatically.
Why is CPM Scheduling Important for Project Management?
Using the Critical Path Method on your project schedule can provide valuable insight on the planning process and ensure that the schedule adheres to the needed timeline. CPM schedules will help you to identify all the tasks needed for the project and how long each of those tasks will take within the overall project. Through the calculation of float, CPM also allows you to view which activities can be delayed, if needed.
When performed properly, Critical Path Analysis can benefit project management and planning for the following reasons:
Helps you to identify important task details
This includes dependencies, risks, constraints, and duration estimates.
Allows you to prioritize activities based on their float periods
This can give you a clearer insight on which activities are critical and have to be completed on time, and which have float and can be delayed, if possible.
Facilitates in resource planning
Critical activities can be prioritized with assigned resources to ensure that they are finished on time, rather than non-critical activities that have some leeway.
Eases project monitoring
This is done by showing whether an activity is on time or late according to the original schedule. The CPM schedule will provide you with planned early and late dates for each activity – once the project actually starts, these planned dates can be compared with the actual dates to see whether the schedule is ahead or behind the initial baseline.
Improves future project planning
Using the variance data found between the actual dates and planned dates, project managers are able to create more accurate estimates for future project plans.
Helps avoid potential project delays and ease project efficiency
Through the visualization of the CPM network diagram, you’ll be given a better idea of which activities have dependencies, which can be run in parallel, and which need to be performed sequentially.
CPM Schedule Elements
Before getting into how the critical path method of scheduling works, we should go over some key elements involved within it.
Tasks, also called activities, are portions of the project with an identifiable duration, start date, and finish date. This is the work that needs to be performed in order for the overall project to be completed. Tasks can be connected together sequentially to delineate when each activity must be performed. Tasks may also be given dependencies, meaning that some other task must be completed before the task can occur. For example, a task for Final Grade can have a dependency on the task Rough Grade – meaning that Rough Grade must be completed before Final Grade can begin. The CPM algorithm will use these task’s durations, sequences, and dependencies to identify the project’s critical path.
Every activity, or task, will need to have a duration. Durations are the amount of time required to complete the task. Durations can be tracked using different units, such as hours, days, weeks, or months, but most scheduling softwares uses days by default. Durations are determined before an activity actually begins, and actual durations can differ from planned durations if unforeseen circumstances or delays occur.
Dependencies indicate how tasks relate to each other within the overall project. For example, are the tasks going to be performed sequentially (one after the other) or in parallel (at the same time). Oftentimes, one task may require another task to start or finish before it can begin. For example, an activity for Strip Concrete Footings can only begin once an activity for Pour Concrete Footings finishes. Dependencies are shown in CPM schedules as relationships, otherwise known as logic or ties. Activity relationships will define the sequence and dependencies between two tasks. CPM scheduling uses activity relationships and durations to identify the project’s critical path.
The critical path, also called the longest path, is a sequence of tasks that directly affect the project’s finish date. Each of the tasks along the critical path are called critical activities, and if any of these activities are delayed, the project as a whole will be delayed as well. Critical activities must finish by their planned finish date in order to ensure that the overall project finishes on time. The critical path is composed of the project activities with the least amount of float.
Float, also known as slack, is the amount of time that a task can be delayed before impacting the next schedule in sequence and the overall project completion. If a task has float, it is known as non-critical and can be delayed a certain amount of time without necessarily delaying the rest of the schedule. The activities on the critical path will have no float, meaning that they cannot be delayed. CPM scheduling will calculate activity floats in order to find which activities are critical and which are non-critical.
Earliest Start Date
The earliest start date is the earliest date that each task can start in relation to the overall project. The earliest start date for the first activity within the project will generally be the project’s earliest start date as well. The CPM algorithm will calculate early start dates for each activity to indicate the earliest date that each can begin.
Latest Start Date
The latest start date is the latest possible date that each task can start in order for the project to be completed on time. If an activity starts past their late start date, the following activity and overall project may be adversely affected. The CPM algorithm will calculate late start dates for each activity to indicate the latest possible date that each can begin.
Earliest Finish Date
The earliest finish date is the earliest date that each task can finish in relation to the overall project. The CPM algorithm will calculate early finish dates for each activity to indicate the earliest date that each can be completed.
Latest Finish Date
The latest finish date is the latest possible date that each task can finish in order for the project to be completed on time. If an activity finishes past their late finish date, the following activity and overall project may be adversely affected. The CPM algorithm will calculate late start dates for each activity to indicate the latest possible date that each can begin.
How Does the Critical Path Method of Scheduling Work?
CPM Scheduling works by running through the sequences of activities twice to assign early and late dates for each activity. Although most scheduling software perform the critical path method automatically on project schedules, it can also be performed manually to identify each activity’s early dates, late dates, and amounts of total float.
In order to perform the critical path method to your project, you will first need to have a list of defined tasks with durations and relationships. Tying activities together with relationships will give you a sequential order of completion. Let’s look at the following project example:
In this example, the sequence of activities begins with activity A, which has 2 days of duration. When activity A finishes, activity B, with a duration of 3 days, and activity D, with a duration of 10 days, will begin. When activity B finishes, activity C, with a duration of 1 day, will begin. Lastly, activity E, with a duration of 5 days, will begin once activities D and C have both been completed.
The Critical Path Method will run through these activities twice to assign each activity early dates and late dates.
First, the CPM algorithm will run a forward pass through the schedule. Starting with the first activity, it will move forward to assign each activity an early start date and an early finish date. These early dates are the most optimistic start and finish dates for your project. Early dates can be calculated manually using the following calculation:
Early Start Date + Activity Duration – 1 = Early Finish Date
In the following example, let’s say that the project is planned to begin on January 1st. This will act as the early start date for the first activity, activity A.
According to the CPM algorithm calculation, activity A having an early start of January 1st and a duration of 2 days gives it an early finish of January 2nd. This means that activities B and D can begin the following day, giving them both an early start date of January 3rd. Activity B has an early finish of January 5th, which allows activity C to have an early start of January 6th. Finally, activity E needs to wait until both activities C and D finish to start. Although activity C is set to finish on January 6th, activity D will not finish until January 12th, which means that activity E’s early start date is January 13th.
This is how the critical path method of scheduling works to assign early start and early finish dates to each activity in the schedule.
Next, the CPM algorithm will do a backward pass through the schedule. Starting with the last activity, it will move backward to assign each activity a late start date and a late finish date. These will be the latest dates that the activities can possibly occur. Late dates can be calculated using the following formula:
Late Finish Date – Activity Duration + 1 = Late Start Date
In the following example, we will use the early finish date for the last activity in the project as the late finish date.
The CPM calculation will start with the last activity, activity E, which has a finish date of January 17th and a late start date of January 13th. Its predecessors, activities C and D, would have therefore been completed on January 12th.
Continuing in this manner, the critical path method algorithm will assign each of these activities with a late start date and a late finish date.
Total Float & the Critical Path
Both early and late dates are required to identify the project’s critical path. To find this path, the CPM algorithm will calculate Total Float for each activity in the project. The Total Float value indicates the amount of time that the activity can be delayed without delaying the overall project. Because the critical path is composed of only critical activities, or those without float, it’s important to identify which activities have float and which do not.
Total Float is calculated as the difference between an activity’s late and early dates. Total Float can be calculated using either of the following formulas:
Late Finish Date – Early Finish Date = Total Float
Late Start Date – Early Start Date = Total Float
In the following example, we will use the calculated late and early finish dates to calculate the total float for each activity:
Activities A, D, and E each have the same date as their early finish and their late finish. This gives each of these activities 0 float, indicating that they are critical activities. Activity C’s late finish date was January 12th while its early finish date was January 6th. There is a difference here of 6 days, meaning that activity C has 6 days of float. The same is true for activity B.
Using the calculated early and late dates, the CPM scheduling method will determine which activities have float (non-critical), and which do not. We are able to identify the critical path following the sequence of activities without float.
How to Build a CPM Schedule
Now that we’ve gone over how the critical path method of scheduling works, let’s go over the basic steps required to create a CPM schedule. It should be noted that many project management softwares, such as Primavera P6, will walk you through these initial steps. Once completed, the application will use the CPM algorithm to calculate dates and total float, as seen from the examples above.
Building a CPM schedule requires the following steps:
Identify the Activities
First, you will need to break the project’s work into identifiable activities. Generally, these activities can be created from the project’s overall scope, or through a work breakdown structure (WBS). It’s often useful to associate specific activities with unique details, such as names, IDs, and categorical codes, to properly differentiate them.
Identify Dependencies and Create Relationship Ties
Next, you will need to sequence and connect activities together by identifying dependencies and creating relationship ties. Using the created activities, you will need to determine which activity will start the project and which activities will follow. Activities can have more than one relationship tie, and you will need to determine which activities have dependencies and which can be performed in parallel.
Different relationships can connect activities in different ways. For example, you can tie two activities together in a Start-to-Start relationship, meaning that the start of one activity is dependent on the start of another activity. Other activities, on the other hand, can be tied together in a Finish-to-Start relationship, meaning that the start of one activity is dependent on the completion of another activity.
There are four different relationship types that should be considered when tying activities together, depending on whether the start or the finish of one activity is driving the start or finish of another:
Finish to Start (FS)
When one activity finishes, the following activity will start. These activities will be performed sequentially – one after the other.
Start to Start (SS)
When one activity starts, the following activity will also start. This does not mean that the activities will finish at the same time, but just that they will be performed in parallel.
Finish to Finish (FF)
When one activity finishes, the following activity will also finish. The starts of the activities do not have to be the same, and at least part of these activities will be performed in parallel.
Start to Finish (SF)
When one activity starts, the following will finish. This activity type is uncommon, but is used when the start of one activity drives the finish of another.
The Critical Path Method will only work if the project’s activities are tied together logically. A perfect CPM schedule requires every activity to have both a predecessor (an activity that precedes it) and a successor (an activity that follows it), with the only exceptions being the first and last activities in the schedule. The first activity will only need a successor and the last activity will only need a predecessor.
Create the Critical Path Network Diagram*
This step is only required if you are not using a project management software. If you are attempting to manually create a CPM schedule by hand, you will want to create a network diagram, or chart of linked activities, to act as a visualization of the activities and relationships added so far.
The following is an example of a network diagram:
*It should be noted that many project management softwares, such as Primavera P6 or Microsoft Project, will do this for you automatically once activities have been identified and tied together with relationships. It is highly recommended to utilize a software application when performing CPM scheduling, as it will be immensely faster and more thorough than trying to perform it manually.
Estimate Activity Durations
Next, you will need to estimate how long it will take for each activity to be completed. This generally can be estimated through planning with team members and using data from previous projects. It’s important to remember that these are just estimates – in reality, these activities may take more or less time, depending on the circumstances.
Use the Critical Path Algorithm to Identify the Critical Path
We will now need to find the critical path – the activities that cannot be delayed. The critical path is important to identify because it indicates the longest duration within the project. The Critical Path can be identified using the calculations covered prior to finding each activity’s early and late dates. Once these dates are found, the total float for each activity can be calculated through the difference between those dates. The sequence of activities with 0 float will indicate the critical path.
It should be noted that most project management softwares will automatically apply the Critical Path algorithm to added activities when the project is scheduled. With these softwares, there is no need for manual calculations – the early dates, late dates, total float, and critical path for the project will be identified immediately by the program.
Update the CPM Schedule During Execution
Once the project has started, updates can be made to the critical path as needed. As activities are started and completed, the critical path may adjust on its own due to changes in start and completion dates. Additionally, if there are many unexpected events or delays to the schedule, you may need to manually adjust the critical path by compressing the schedule or incorporating additional activities to the CPM schedule. It’s important to continue to analyze and update the CPM schedule as needed to ensure that the project is working as efficiently as possible.
CPM Scheduling Softwares
As seen from the steps above, creating CPM schedules and performing critical path analysis can be done much more efficiently and accurately using project management software. Without software, the critical path method requires a lot of manual, time-consuming work. This includes drawing out a network diagram and performing individual calculations on each activity in the schedule. Additionally, without software, there is a much higher chance of performing scheduling errors, which can bring about complications once the project actually begins. If any CPM date or total float calculations are incorrect, the entire project may fail as a result.
There are a variety of different project management softwares available that can assist with CPM project planning. Many of these will assist in breaking the project down into tasks and setting important task details such as dependencies, relationships, and durations. Additionally, these programs will automatically create a network diagram via the Gantt Chart and will calculate the critical path with just a click of a button.
At Taradigm, we offer the premier CPM scheduling application, Primavera P6, which is used by governments, pharmaceutical companies, and many of the largest construction companies. Most scheduling related jobs by larger firms or governments require CPM scheduling using Primavera P6 in their contracts. Primavera P6 not only ensures project efficiency, but is used to create a paper trail that holds stakeholders accountable. This can help determine who is responsible for delays to the project in what are called claims.
Many contracts also require proficiency in Primavera P6 with training. At Taradigm, we offer Primavera P6 training with a live, experienced instructor, and self-paced online video training. For those who would like to outsource their scheduling to experts, we specialize in CPM training, scheduling, and claims work, and have decades of experience.
For those who are moving their business to the cloud, we are pleased to offer Oracle Primavera Cloud (OPC). OPC is the next evolution of Primavera P6 and is more affordable, easier to set up and maintain, and offers more features than Primavera P6. We also offer comprehensive training for OPC for Primavera P6 veterans and those new to scheduling.
If you have any comments, questions or suggestions, please use the comment section on the bottom of this page, and don’t forget to subscribe to our blog to get more Oracle Primavera Cloud tips & tricks directly in your inbox!
Lauren Hecker is an Oracle Primavera Cloud and Primavera P6 Instructor and teaches onsite and virtual scheduling courses. To see her next open enrollment course, please visit our calendar. To schedule an onsite or custom course, please contact us!