Getting Started with CPM
Download our condensed PDF version here or continue reading the expanded version below. This guide is intended as an introduction to the Critical Path Method as a process to develop schedules for project management. The Critical Path Method is a systematic approach to project planning which can provide significant benefits in cost and completion time of many projects. The concepts were first developed at Dupont, and refined by the United States Navy in the development of the Polaris Missile. They can be applied to various projects, from manufacturing and production, to surgeries and conventions. CPM has found extensive use in the construction industry, where cost and time overruns and frequently experienced. The proper use of CPM scheduling techniques can help you avoid such issues on your own projects.The CPM Concept
Quick Glossary
Task - A task (also called an "Activity") is a specific part of a project that has an easily identified start and finish, and will take a certain amount of time (duration). A task may or may not have a dependency that must be satisfied before the task can occur. Examples of tasks are framing a wall, changing a light bulb, and printing a report. Multiple small tasks can be combined into a single task, if they are expected to be performed at the same time, but this can make tracking the performance of those tasks more difficult.
Task Duration - A task will have a duration, which represents the amount of time required to complete the task, from start to finish. Durations can be calculated in many different units (hours, days, weeks, months) but the most commonly used unit is days. The duration of some tasks may be difficult to estimate, and you will need to use experience, industry guidelines, and input from subcontractors or other people upon whom the work relies in order to arrive at the best possible estimate for a task. Unforeseen circumstances such as weather delays, difficulties in obtaining funding or manpower, or variations in performance of the work can cause the duration to increase or decrease, but a good starting estimate will make your schedule much more valuable over the life of the project.
Task Dependency - Dependencies between tasks show how the individual parts of the project are related to each other, and where progress on a certain task will effect the others. Most tasks in a project will require another task to either start or finish before it can take place. These dependencies are shown in CPM as Relationships (sometimes also called "Ties" or "Restraints"). A CPM relationship specifically defines two tasks, and the dependency that one has upon the other. Relationships will be covered in detail in the Relationship section of this guide.
How is CPM Different From What I'm Doing Now?
You are probably already doing at least some basic work scheduling, so how is the Critical Path Method different? A CPM schedule takes information about tasks, task durations, and task dependencies in order to create a logically sound schedule of your work. This process calculates the minimum time required to complete the project, highlights the areas that are time-sensitive and represent potential trouble for the timely completion of the project, and ultimately produces a graphical representation of the project that can be used to communicate this information to other parties. The identification of the Critical Path, those activities which cause the project completion date to change if they are completed early or late, is the defining characteristic of the Critical Path Method.How does it compare to other planning methods?
To-Do List (Task List)
- This is essentially a list of all tasks that need to be completed in order to complete a project. They may be listed in the order in which they are planned to be completed, but otherwise little information about durations or dependencies is included. This type of planning is usually very fast, and can give a rough idea of the intended work sequence. A shortcoming of this type of planning is that it does not cause you to think exhaustively about the project by exploring the dependencies between activities. It's easy to miss a critical task if you are not thinking in terms of what tasks are dependent on one another. Additionally, while time estimates can be included in a To-Do List, there is nothing that ties the durations of the individual tasks together, so your total project duration cannot be calculated.
Work Calendar
- This type of planning expands on the To-Do List by incorporating expected work days for each task, and plotting them against a calendar. These types of schedules are commonly used to avoid crew or equipment scheduling conflicts, by illustrating what work is being performed on a given day. Weather delays and production issues can cause the expected work days to change, which requires manually estimating the new work days, and applying them to the calendar.
Critical Path Method
- The critical path method starts in the same place as all other planning, creating a list of Tasks to be performed for the project. Rather than try to assign specific work days to a activity, a task duration is estimated, based on experience and industry standards, and the CPM is used to calculate what the earliest date we can start and finish a task is. Once the Tasks have been identified, the Dependencies between tasks have to be explored, and defined as Relationships. This processes of exploring dependencies will frequently uncover Tasks that were not previously identified, and possibly lead to revision of Task descriptions, work Durations, and creation of additional Relationships. This exhaustive examination of the work process is the foundation of a good schedule.The Tasks and Relationships are then entered into the Critical Path Method software, and the mathematical algorithms that CPM is based on are run on the provided date. This will then produce an earliest project completion date, early and late start and finish dates for each task to achieve this finish date, and a Critical Path, that identifies the work that is most likely to affect the completion date.
Advantages of the Critical Path Method
A major advantage to this type of planning, is that changes to the schedule can be mathematically evaluated (usually by CPM software, though this can be done by hand) to determine what total effect they have on the project. It will calculate not only the changes to the start or finish of the project as a whole, but individual Task start and finish dates will be recalculated, to ensure any dependencies are satisfied before the planned start and finish. This can also cause a new critical path to emerge, which can result in a change of focus for a project to stay on track. While the Critical Path Method does require some additional work and research to ensure a thorough schedule is produced, the result is a schedule that remains a useful tool from start to finish of the project, even if significant changes are required.Tasks & Activities
The first step in developing a schedule is the listing of the Tasks that must take place for the project to complete. An important consideration in preparing the list of Tasks is the Level of Detail that the schedule requires in order to be effective. The purpose of the schedule, and its intended audience, may dictate anything from a high-level summary of the work to be performed, to a specific work plan for the project.
With your desired level of detail in mind, you will begin listing the Tasks that will be included in the schedule. You can draw on many resources to develop your Task list, including previous schedules, project specifications, and input from subcontractors or other participants in the project. You can also create the list of tasks by working through the project mentally or on paper, and taking note of each Task to be performed. The task list does not have to be 100% complete before you move on, but the more accurate your list is in the beginning, the less time you will spend revising it later.
After a task is identified, you must also define the Duration of the task, or the amount of time you expect the performance of the task to require. These are most commonly defined in days, and specifically in work days, which may differ from calendar days if there are days where work is not performed in your schedule (Weekends, Holidays, etc).
Developing good estimates for task durations is one of the more challenging aspects of creating an accurate schedule, and you may need to utilize many resources to arrive at a reasonable estimate. Your own experience, industry guidelines, publications, and input from subcontractors or other participants will prove useful in getting the best estimates. A common approach to calculating durations is to determine a total quantity of items to be installed, manufactured, constructed, etc. Once this total quantity is known, a quantity per hour, week, day, and so on can be identified, and the total divided by this number. This will provide you with a total duration that is reasonable and based on sound information. Not every task is quantifiable this way, but many tasks have some sort of quantity that can be isolated for estimating purposes.
Example Task List - Making a Sandwich:
- Select Bread
- Select Meat
- Select Condiments
- Select Cheese
- Slice the Bread
- Place Bottom Slice of Bread on Work Surface
- Apply and Spread Condiments
- Apply Meat
- Slice Cheese
- Apply Cheese
- Place Top Slice of Bread on Sandwich
- Cut sandwich in half
- The length of the fence to be installed is 120 feet.
- The driving factor in construction of the fence is the installation of fenceposts, which are spaced 8 feet apart.
- It takes 20 minutes to install a single fencepost, so fenceposts can be installed at a rate of 3 per hour.
Relationships & Dependencies
Now that you have identified the tasks that will comprise your schedule, the last step is to create the Relationships that will show the Dependencies between the various Tasks in your Project. To create a relationship, you need to identify two Tasks between which a dependency exists, and then what Type of Relationship is necessary.
The most common Relationship type is Finish-to-Start, which means one activity is dependent on the completion of another activity before it may begin. As an example, you have to finish putting your pants on before you can put on your shoes. You would describe this as a Finish-to-Start relationship between putting on pants, and putting on shoes.
This basic relationship type is very straightforward, and can be used to describe nearly dependencies you will encounter in planning a project. While there are a few special cases where you may want to use other relationship types, until you are more familiar with project scheduling, you can use Finish-to-Start relationships exclusively in developing your schedules.
The above example schedule is composed entirely of Finish-to-Start relationships.
Typically, a schedule will have a single start, and a single finish. However, sometimes one or more Tasks will have no predecessors Tasks, and are instead driven by external factors that require them to begin or end on a specific date. In order to place such Tasks in their proper place in the schedule, a constraint can be used. A constraint is an artificial restriction on an activity that affects its start or finish, outside the logic of the schedule (typical task/relationship logic).
Scheduling with the CPM Calculation
The act of scheduling, or calculating the schedule, refers to the process of running your Tasks, Durations, and Relationship through the Critical Path Method algorithm to identify the Starts, Finishes, Float, and Critical Path for the Project. While it's not strictly necessary to know what's going on "under the hood" of the scheduling process, a brief overview can enhance your understanding of the Critical Path Method.
Calculating a CPM schedule is a three step process. The first step is called the Forward Pass.
As you can see, this calculates the earliest date each Task can start or finish, based upon that Tasks dependencies on other Tasks, which are defined by the Relationships. These dates are called the Early Start, and Early Finish dates, and are most commonly used as the "planned" dates for a project. That's because working against the Early dates will give Tasks the largest amount of Float, in case there are delays due to weather, unforeseen conditions, or other conditions on the Project.
This step also identifies the earliest date the project can complete. The Early Finish of the last Task is the Project Completion date. This date is used as the basis for the next step of the CPM calculation, which is the Backward Pass.
This step calculates the Late Start and Late Finish for each Task, which are the latest dates a Task may start or finish without impacting the Project Completion date. If the start or finish of a Task does occur after these Late dates, then either the Project Completion will occur later, or the schedule needs to be revisited to mitigate the delay.
Once the Early Dates and Late Dates are known, the third step of the CPM process is the Float Calculation for each Task. Float is the number of days that an activity can be delayed before it will impact the completion date of the project. Activities with no float are called Critical Activities, and are part of the Critical Path.
The Critical Path identifies which activities will cause your project completion to slip if they are delayed even a single day. There are also activities which are not critical, because they have at least one day of float, but can still have an impact if they experience multiple days of delay. Activities with very small amounts of float are considered "Near Critical" and are important to watch, as they can quickly become Critical Path items if they are delayed.