## Critical Path Method

Critical path method (CPM) is a schedule network analysis technique. It determines the amount of float, or schedule flexibility, for each of the network paths by calculating the earliest start date, earliest finish date, latest start date, and latest finish date for each activity. This is a schedule network analysis technique that relies on sequential networks (one activity occurs before the next, a series of activities occurring concurrently is completed before the next series of activities begins, and so on) and on a single duration estimate for each activity. The precedence diagramming method (PDM) can be used to perform CPM. Keep in mind that CPM is a method to determine schedule durations without regard to resource availability.

The critical path (CP) is generally the longest full path on the project. Any project activity with a float time that equals zero is considered a critical path task. The critical path can change under a few conditions. When activities with float time use up all their float, they can become critical path tasks. Or you might have a milestone midway through the project with a finish no later than constraint that can change the critical path if it isn't met.

Float time is also called slack time, and you'll see these terms used interchangeably. There are two types of float: total float and free float. Total float (TF) is the amount of time you can delay the earliest start of a task without delaying the ending of the project. Free float (FF) is the amount of time you can delay the start of a task without delaying the earliest start of a successor task.

In the following section, you'll calculate the CP for a sample project, and I'll illustrate how you derive all the dates, the CP, and the float times.

### Gathering Activity and Dependency Information

Let's say you are the project manager for a new software project. The company you are working for is venturing into the movie rental business over the Web. You need to devise a software system that tracks all the information related to rentals and also supplies the management team with reports that will help them make good business decisions. For purposes of illustration, I'm showing only a limited portion of the tasks that you would have on a project like this.

You'll start this example by plugging information from the processes you've already completed into a table (a complete example is shown later in Table 4.1 in the section "Calculating the Critical Path"). The list of activities comes from the Define Activities process. The durations for each activity are listed in the Duration column and were derived during the Estimate Activity Durations process. The duration times are listed in days.

The Dependency column lists the activities that require a previous activity to finish before the current activity can start. You're using only finish-to-start relationships. For example, you'll see that activity 2 and activity 4 each depend on activity 1 to finish before they can begin. The dependency information came from the Sequence Activities process. Now, you'll proceed to calculating the dates.

### Calculating the Forward and Backward Pass

Project Deliverables is the first activity and, obviously, where the project starts. This activity begins on April 1. Project Deliverables has a 12-day duration. So, take April 1 and add 12 days to this to come up with an early finish date of April 12. Watch out, because you need to count day one, or April 1, as a full workday. The simplest way to do this calculation is to take the early start date, add the duration, and subtract one. Therefore, the early finish date for the first activity is April 12. By the way, we are ignoring weekends and holidays for this example. Activity 2 depends on activity 1, so it cannot start until activity 1 has finished. Its earliest start date is April 13 because activity 1 finished at the end of the previous day. Add the duration to this date minus one to come up with the finish date.

You'll notice that, since activity 4 depends on activity 1 finishing, its earliest start date is also April 13. Continue to calculate the remaining early start and early finish dates in the same manner. This calculation is called a forward pass.

To calculate the latest start and latest finish dates, you begin with the last activity. The latest finish for activity 9 is July 10. Since the duration is only one day, July 10 is also the latest start date. You know that activity 8 must finish before activity 9 can begin, so activity 8's latest finish date, July 9, is one day prior to activity 9's latest start date, July 10. Subtract the duration of activity 8 (three days) from July 9 and add one day to get the latest start date of July 7. You're performing the opposite calculation that you did for the forward pass. This calculation is called a backward pass, as you might have guessed. Continue calculating the latest start and latest finish through activity 4.

Activity 3 adds a new twist. Here's how it works: activity 7 cannot begin until activity 3 and activity 6 are completed. No other activity depends on the completion of activity 3. If activity 7's latest start date is June 29, activity 3's latest finish date must be June 28. June 28 minus eight days plus one gives you a latest start date of June 21. Activity 3 depends on activity 2, so activity 2 must be completed prior to beginning activity 3. Calculate these dates just as you did for activities 9 through 4.

Activity 1 still remains. Activity 4 cannot start until activity 1 is completed. If activity 4's latest start date is April 13, the latest finish date for activity 1 must be April 12. Subtract the duration of activity 1, and add one to come up with a latest start date of April 1. Alternatively, you can calculate the forward pass and backward pass by saying the first task starts on day zero and then adding the duration to this. For example, activity number 1's earliest start date is April 1, which is day zero. Add 12 days to day zero, and you come up with an earliest finish date of April 12.

You determine the calculation for float/slack time by subtracting the earliest start date from the latest start date. If the float time equals zero, the activity is on the critical path.

### Calculating the Critical Path

To determine the CP duration of the project, add the duration of every activity with zero float. You should come up with 101 days because you're adding the duration for all activities except for activity 2 and activity 3. A critical path task is any task that cannot be changed without impacting the project end date. By definition, these are all tasks with zero float.

Another way to determine the critical path is by looking at the network diagram. If the duration is included with the information on the node or if start and end dates are given, you simply calculate the duration and then add the duration of the longest path in the diagram to determine the CP. However, this method is not as accurate as what's shown in Table 4.1. Figure 4.1 shows the same project in diagram form. The duration is printed in the top-right corner of each node. Add the duration of each path to determine which one is the critical path.

Remember that CP is usually the path with the longest duration. In Figure 4.1, path 1-2-3-7-8-9 equals 34 days. Path 1-4-5-6-7-8-9 equals 101 days; therefore, this path is the critical path.

 Activity Number Activity Description Dependency Duration Early Start Early Finish Late Start Late Finish Float/ Slack 1 Project Deliverables - 12 4/1 4/12 4/1 4/12 0 2 Procure Hardware 1 2 4/13 4/14 6/19 6/20 67 Hardware 2 8 4/15 4/22 6/21 6/28 67 Software Tools 1 10 4/13 4/22 4/13 4/22 0 5 Write Programs 4 45 4/23 6/6 4/23 6/6 0 6 Test and Debug 5 22 6/7 6/28 6/7 6/28 0 7 Install 3, 6 8 6/29 7/6 6/29 7/6 0 8 Training 7 3 7/7 7/9 7/7 7/9 0 9 Acceptance 8 1 7/10 7/10 7/10 7/10 0

Calculating Expected Value Using PERT

Program Evaluation and Review Technique (PERT) is a method that the United States Navy developed in the 1950s. The Navy was working on one of the most complex engineering projects in history at the time—the Polaris Missile Program—and needed a way to manage the project and forecast the project schedule with a high degree of reliability. PERT was developed to do just that.

FIGuRE 4.1 Critical path diagram

PERT and CPM are similar techniques. The difference is that CPM uses the most likely duration to determine project duration, while PERT uses what's called expected value (or the weighted average). Expected value is calculated using the three-point estimates for activity duration (I talked about three-point estimates earlier in this chapter) and then finding the weighted average of those estimates (I'll talk about weighted average in the next section "Calculating Expected Value.") If you take this one step further and determine the standard deviation of each activity, you can assign a confidence factor to your project estimates. Without getting too heavily involved in the mathematics of probability, understand that for data that fits a bell curve, which is what you're about to calculate with the PERT technique, the following is true:

■ Work will finish within plus or minus three standard deviations 99.73 percent of the time.

■ Work will finish within plus or minus two standard deviations 95.44 percent of the time.

■ Work will finish within plus or minus one standard deviation 68.26 percent of the time.

### Calculating Expected Value

The three-point estimates used to calculate expected value are the optimistic estimate, the pessimistic estimate, and the most likely estimate. Going back to the software example, let's find out what these three time estimates might look like for the activity called Write Programs. You get these estimates by asking the lead programmer, or key team member, to estimate the optimistic, pessimistic, and most likely duration for the activity based on past experience. Other historical information could be used to determine these estimates as well. Say in this case that you're given 38 days for the optimistic time, 57 days for the pessimistic, and 45 days for the most likely. (Forty-five days was derived from the Estimate Activity Durations process and is the estimate you used to calculate CPM.)

The formula to calculate expected value is as follows:

(optimistic + pessimistic + (4 * most likely)) / 6 The expected value for the Write Programs activity is as follows: (38 + 57 + (4 * 45)) / 6 = 45.83

The formula for standard deviation, which helps you determine confidence level, is as follows:

(pessimistic - optimistic) / 6

The standard deviation for your activity is as follows:

You could say the following, given the information you now have:

■ There is a 68.26 percent chance that the Write Programs activity will be completed in 42.66 days to 49 days.

■ There is a 95.44 percent chance that the Write Programs activity will be completed in 39.49 days to 52.17 days.

You calculated the range of dates for the 68.26 percent chance by adding and subtracting one standard deviation, 3.17, from the expected value, 45.83. You calculated the 95.44 percent chance by multiplying the standard deviation times 2, which equals 6.34, and adding and subtracting that result from the expected value to come up with the least number of days and the most number of days it will take to finish the activity. Generally speaking, two standard deviations, or 95.44 percent, is a close enough estimate for most purposes.

Determining Date Ranges for Project Duration

Let's bring your table of activities back and plug in the expected values and the standard deviation for each (please see Table 4.2).

Now let's look at the total project duration using PERT and the standard deviation to determine a range of dates for project duration. You should add only the tasks that are on the critical path. Remember from the CPM example that activities 2 and 3 are not on the critical path, so their expected value and standard deviation calculations have been left blank in this table. When you add all the remaining tasks, the total expected value duration is 102.99 days, or 103 days rounded to the nearest day.

The higher the standard deviation is for an activity, the higher the risk. Since standard deviation measures the difference between the pessimistic and the optimistic times, a greater spread between the two, which results in a higher number, indicates a greater risk. Conversely, a low standard deviation means less risk.

TABLE 4.2 PERT Calculation

Activity Activity Most Expected Standard SD

Number Description Optimistic Pessimistic Likely Value Deviation Squared

Totals for CP