Mid-point or block scheduling involves a sequence of tasks, the scheduling of which is dependent upon the start of a target task embedded within the sequence. In practice, as the sequence is moved forward or backward within the schedule, start-to-finish (SF) task relationships are used to drag the predecessors of the target task along with the target task. Here is an example.

Figure 1. Example of mid-point or block scheduling with SF relationships.


The start of the target task, “Move to new office,” depends upon the completion of the preparation task. If preparation completion is delayed, the entire move sequence is delayed.

Figure 2. Example with start of target task delayed.


If preparation completion is accelerated, the start of the sequence is accelerated. In this case, it is accelerated to a date before the start of the project. Project issues a warning. We would need to compress the predecessor tasks in order to take advantage of the accelerated move date.


Figure 3. Example with start of target task accelerated, along with a warning.


However, if we baseline and track the schedule, it does not behave as we might expect. Let’s assume that by the end of the fourth time period, the preparation task is completed as expected, but the box distribution task did not start on time.  Project’s calculations are correct. Having more than zero days of lag between the start of the packing task and the finish of the distribution task does not invalidate the SF relationship. As a consequence, the move task is not delayed.

Figure 4. Baselined example with tracking.


What’s Wrong?

There are several issues regarding the use of SF relationships in the example.

First, while Project computed float correctly relative to using SF relationships, the float calculations are counter-intuitive. If the box distribution or packing tasks are delayed, the move task should be delayed. However, the schedule indicates that these preceding tasks have float. See Figures 1-3.

Second, schedule perturbations may cause the tasks with SF relationships to track in a counter-intuitive manner, as shown in Figure 4.

And lastly, in general, the DCMA scheduling guideline admonishes against the use of SF relationships (see paragraph 4.4), negative lag (see paragraph 4.2), and unbound tasks (see paragraph 4.1).  The arithmetic equivalents of the SF relationships used in this example are finish-to-start (FS) relationships with negative lag. Further, the start of the first task in the sequence is unbound. While the finish of the box distribution task is preceded by the start of the packing task, the start of the distribution task does not have a predecessor.

Even with these issues, it is difficult to dissuade a scheduler from using SF relationships in mid-point scheduling. After all, the dates and behavior of the initial schedule appear to be correct.


An Alternative

Here is an alternative that does not use SF relationships. The sequence is clearly defined as a series of FS relationships. The start of the sequence is linked to the start of the project. The two predecessor tasks in the sequence are scheduled as late as possible using the tasks’ late start and finish times. This corrects the float calculations and shows the two predecessors as being critical.

Figure 5. An alternative.


If preparation completion is delayed, the sequence is delayed accordingly.

Figure 6. Alternative with delayed move availability date.


If the preparation completion is accelerated, the sequence is not scheduled before the beginning of the project. In this case, it is the combined length of the predecessors in the sequence, not the finish of the preparation task, that drives the move date. This forces us to recognize that one or both of the predecessor tasks must be compressed in order to accelerate the move date. The preparation task is no longer critical.

Figure 7. Alternative with accelerated move availability date.


Tracking with the alternative clearly shows that a delay in starting the box distribution task will delay the start of the move.

Figure 8. Baselined alternative with tracking.


What do you think?

Have you seen or used mid-point scheduling in practice?  Would you prefer using the alternative?  Please share your thoughts in the comments below.