Since scheduling a lot of activities with three estimates is computationally messy, and many people argue that three "estimates" are not that much more accurate than one "estimate," most project management scheduling software uses the CPM method for scheduling. This results in the fixed-length activity bars we are used to seeing in most Gantt charts. You can compute the three values for each activity in your project plan, and plug them into your Gantt, but if any duration or estimate changes, you must recompute. This is not practical for most project schedules. However, you can use an aftermarket plug-in tool such as @Risk from Palisade Corporation, to plug in the three values and get
the resulting PERT mean for your activity durations.'—1
The critical path method analyzes the precedence of activities to predict the total project duration. Its focus is on tUefloat, also known as slack, free float, and path float, available between activities. The method calculates which sequence of activities (path through the network) has the least amount of schedule flexibility. The path with zero flexibility is called the critical path, because it will have zero float between all of its activities.
CPM analysis starts with a WBS that has single point estimates for each activity and uses PDM to relate precedence in a network. With the network drawn, you can then perform a two-pass analysis through the network of activities and calculate the node quantities for each activity. Once this is done, you will see the critical path. The critical path for the top network (using circle nodes) in Figure 15-10 is path B-C-D-F, and in Figure 15-11. it is path B-D-H-l. The critical path for the bottom network irFigure 15-10 cannot be determined yet because there is no duration information for the nodes.
To perform the two-path analysis, you first make a forward pass through the network, beginning at the start node, which begins with zeros for both earliest start and earliest finish. In Figure 15-10, they are noted at the top of the node as a numbered pair. At node A, the earliest start time will be zero, and the earliest finish time will be zero plus however long it takes to do A. In this case it will be 0 + 10 = 10. Continue following the arrow to C where the earliest start cannot yet be computed because we first need to know the data from node B. Go back to the start node and do the same calculation for B as was done for A. In this case, B will have an earliest start of zero, and an earliest finish of 20 (0 + 20 = 20). Wth this information, you can now compute C's earliest start time as the longest of A or B (A was 10 and B was 20, so in this case that's 20). Add the duration for C of 30 to get C's earliest finish time of (20 + 30 = ) 50. Continue this process through D and Fcalculating the earliest start and finish times for each node. Be sure that you traverse each path in the network that feeds into a node to be calculated, or else you will not have all the information necessary to calculate the next earliest start time. The end node's earliest finish time is the total length of the longest path through the network, and is the length of the project (80 in the example of Figure 15-10).
With the forward pass complete, you are ready to do the backward pass. Starting at the end node, calculate the latest start and latest finish for each node in the network all the way back to the start node. This time, put the calculated numbers in the pair at the bottom of each node. This will be (80,80) for the end node in Figure 15-10. For node F, the latest start time will be the (known) finish time of 8Qninus the duration for F (20), so it will be 80 - 20 = 60, and the latest start/finish pair will be shown as (60,80). For node D, a similar calculation occurs where the latest finish time is the same as the latest start time for node F (just calculated as 60), so 60 minus D's duration of 10 will be 50, and the pair will be (50,60). For node E, the calculation begins with the latest start of F (60) and subtracts E's duration from it (30) giving a latest start time of 30, so the number pair is (30,60). This process continues until you reach the start node and all number pairs have been calculated. The start node should calculate to (0,0).
Notice that for the forward pass, we:
® compute the top pair of numbers.
® always addthe duration to the connecting node's earWestfinish time.
And note that for the backward pass, we:
® start at the end node. ® compute the bottom pair of numbers.
• always subtractthe duration from the connecting node's earliestsfarttime.
When completed, each node shows its float as the difference between (either) the earliest start and latest start, or the earliest finish and the latest finish. It doesn't matter which number you use from each pair (start or finish) at a node, as long as both are the first or both are the last. Since the duration used to calculate them is the same number, you will get the same results. This float time means that the activity could start anytime between the earliest start and the latest start, yet still not lengthen the total length of the network (which is the total time for the
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks, project).
The critical path will show up as the path indicated by nodes with zero float. The critical paths are indicated in the networks Figures 15-10 and 15-11 as heavy lines. ForFigure 15-10, the critical path is B-C-D-F, and fotFigure 15-11, it is B-D-H-l. Being on the critical path means that if duration grows for any of these nodes, the finish time for the whole project will grow. Conversely, if any of their durations shrink, then the finish time will also shrink. But (and this is a big "but"), any change in the duration of any node may change the critical path, so you would need to recalculate after each node change. Now you see why this is best left to computers! But at least you will now understand what the computer is doing to your schedule.
Notice that in all the calculations we've done to calculate float and find the critical path, we've not considered the availability ofanyofthe resources necessary to actually do the activities. In most organizations, this is a major oversight as the resource availability is what usually constrains the schedule. This is the big weakness of CPM. It is an activity-oriented method that provides activity-constrained schedules. To put more realism into the schedule, we need to map the resources' actual availability to create a resource-constrained schedule.
Leveling Resource Assignments
When all the resources (Chapter 12) have been assigned to the scheduled and precedence-linked Chapter 14) activities from the WBS (Chapter 8), and the activity-constrained schedule is prepared, the resource overloads can be identified. Usually, at this first pass of the schedule, you find an uneven distribution of resource needs, as shown in Figure 15-14, because they were not part of the CPM scheduling algorithm.
Figure 15-14. Uneven Resource Loading
Figure 15-14. Uneven Resource Loading
It is usually desirable to smooth out the demand for resources over the course of a project to minimize resource idle time between the peaks of demand. Load leveling is the process of rescheduling tasks that have available slack to achieve a more balanced distribution of resource
There are two basic types of algorithms for leveling: those based on linear programming techniques, and those based on enumerative math techniques.
Most project scheduling tools will do resource leveling for you, but they do not provide an optimal solution, so you must use judgment when applying them. You must consider:
• Activity shifting—sliding start/end dates forward or backward to avoid a resource over allocation;
• Activity splitting—breaking an activity into two or more pieces to accommodate resource availability;
• Activity stretching—using less of a given resource continuously, making the activity duration longer;
• Resource substitution—changing resources for higher performance, more efficiency, etc.;
• Allocating overtime—accepting the overload, and paying for it;
• Resource depletion—assigning a resource using something other than a flat effort distribution.
The project manager must consider the effects of fixed or imposed dates on leveling issues ("must start/finish on" dates). These are treated as project constraints and cause rigidity in the schedule, making everything difficult to work with. Of course, some dates simply must remain fixed, like the due date for all Year2000 (Y2K) projects. Generally, when leveling is applied to an unleveled schedule, the project end date and all deliverable dates move farther out as shown in Figure 15-15.
Figure 15-15. Leveled Resource Loading
Figure 15-15. Leveled Resource Loading
Most of the project management scheduling tools today (like Microsoft Project) handle the complexities of schedule representations for you, and it is unlikely that you will ever have to do network calculations by hand for even a small-sized project, but it is still important to understand what's going on inside these scheduling tools for schedule calculations.
Free Open Study >
Was this article helpful?
What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.