Logic, Leads & Lags
Logic, Leads & Lags...
The most widely used scheduling technique is the Precedences Diagramming Method of implementing the critical path method (CPM) for scheduling, often referred to as critical path scheduling. This method calculates the minimum completion time for a project along with the possible start and finish times for the project activities. Indeed, many texts and managers regard critical path scheduling as the only usable and practical scheduling procedure. Computer programs and algorithms for critical path scheduling are widely available and can efficiently handle projects with thousands of activities.
The critical path itself represents the set or sequence of predecessor/successor activities which will take the longest time to complete. The duration of the critical path is the sum of the activities' durations along the path. Thus, the critical path can be defined as the longest possible path through the "network" of project activities. The duration of the critical path represents the minimum time required to complete a project. Any delays along the critical path would imply that additional time would be required to complete the project.
There may be more than one critical path among all the project activities, so completion of the entire project could be delayed by delaying activities along any one of the critical paths. For example, a project consisting of two activities performed in parallel that each require three days would have each activity critical for a completion in three days.
Formally, critical path scheduling assumes that a project has been divided into activities of fixed duration and well defined predecessor relationships. A predecessor relationship implies that one activity must come before another in the schedule. No resource constraints other than those implied by precedence relationships are recognized in the simplest form of critical path scheduling.
To use critical path scheduling in practice, construction planners often represent a resource constraint by a precedence relation. A constraint is simply a restriction on the options available to a manager, and a resource constraint is a constraint deriving from the limited availability of some resource of equipment, material, space or labor. For example, one of two activities requiring the same piece of equipment might be arbitrarily assumed to precede the other activity. This artificial precedence constraint insures that the two activities requiring the same resource will not be scheduled at the same time. Also, most critical path scheduling algorithms impose restrictions on the generality of the activity relationships or network geometries which are used. In essence, these restrictions imply that the construction plan can be represented by a network plan in which activities appear as nodes in a network. Nodes are numbered, and no two nodes can have the same number or designation. Two nodes are introduced to represent the start and completion of the project itself.
The actual computer representation of the project schedule generally consists of a list of activities along with their associated durations, required resources and predecessor activities. Graphical network representations rather than a list are helpful for visualization of the plan and to insure that mathematical requirements are met.
A capability of many scheduling programs is to incorporate types of activity interactions in addition to the straightforward predecessor finish to successor start constraint. Incorporation of additional categories of interactions is often called precedence diagramming. For example, it may be the case that installing concrete forms in a foundation trench might begin a few hours after the start of the trench excavation. This would be an example of a start-to-start constraint with a lead: the start of the trench-excavation activity would lead the start of the concrete-form-placement activity by a few hours. Several categories of precedence constraints can be defined, representing greater than (leads) or less than (lags) time constraints for each of four different inter-activity relationships.
Typical precedence relationships would be:
- Direct or finish-to-start leads
The successor activity cannot start until the preceding activity is complete by at least the prescribed lead time (FS). Thus, the start of a successor activity must exceed the finish of the preceding activity by at least FS. - Start-to-start leads
The successor activity cannot start until work on the preceding activity has been underway by at least the prescribed lead time (SS). - Finish-to-finish leads
The successor activity must have at least FF periods of work remaining at the completion of the preceding activity. - Start-to-finish leads
The successor activity must have at least SF periods of work remaining at the start of the preceding activity.
The possibility of interrupting or splitting activities into two work segments can be particularly important to insure feasible schedules in the case of numerous lead or lag constraints. With activity splitting, an activity is divided into two sub-activities with a possible gap or idle time between work on the two subactivities. The computations for scheduling treat each sub-activity separately after a split is made. Splitting is performed to reflect available scheduling flexibility or to allow the development of a feasible schedule. For example, splitting may permit scheduling the early finish of a successor activity at a date later than the earliest start of the successor plus its duration.
In effect, the successor activity is split into two segments with the later segment scheduled to finish after a particular time. Most commonly, this occurs when a constraint involving the finish time of two activities determines the required finish time of the successor. When this situation occurs, it is advantageous to split the successor activity into two so the first part of the successor activity can start earlier but still finish in accordance with the applicable finish-to-finish constraint.
Options for splitting can be manual (you create two separate activities) semi-automatic or automatic (eg, by making the activity non-contiguous). Regardless of the options chosen (or available) it is critical to understand how your software deals with this type of complicated calculation (see more on CPM calculations).