When using Microsoft Project, there may be times when want to consider a Must Start On (MSO) constraint for tasks that must commence on a very specific date. There are, however, issues associated with MSO constraints.
An example scenario is that you have a very tight window of opportunity to perform the quality assurance (QA) inspection for your project. The QA inspector is very busy and only available on one particular day the month in question. The MSO constraint appears to be a nice fit for this project, and it is. But before you proceed you should become aware of some of the ramifications of inserting a MSO constraint in the schedule.
This article discusses the use of MSO constraints in Microsoft Project scheduling.
We have in Figure 1 our demonstration project.
This is a repair heat exchanger construction project. Note that the ‘quality assurance inspection’ must take place during the availability of the QA inspector. We insert a MSO constraint to demonstrate the importance of the ‘quality assurance inspection’ occurring in a very tight window, as per the availability of the QA inspector.
To insert a MSO task constraint select the task tab, properties ribbon group, and information icon, Figure 2.
In the Task Information dialog select advanced. The constraint type is ‘Must Start On’, and the date is April 20th, 2017. Apparently, April 20th is the only available date for the QA inspector.
Our resulting schedule with MSO constraint is in Figure 3.
The network logic on the Gantt chart looks good; we simply delayed the quality assurance inspection until April 20th. Because of this intentional delay all the preceding activities have a total float of 4-days. Further, the Gantt chart critical path becomes discontinuous. Our preference is one continuous critical path equivalent to the longest path through the network. That is not possible with our MSO constraint date of April 20th.
Now let’s observe what happens when we set the MSO constraint date to April 10th, Figure 4.
This time our critical path is one long continuous path through the network, which is good. When you, however, inspect the Gantt chart more closely, you find that there is a network logic violation: successor ‘quality assurance inspection’ comes before the completion of predecessor ‘test system at pressure’.
Yes, ‘test system at pressure’ and ‘quality assurance inspection’ have a finish to start (FS) relationship, where the predecessor ‘test system at pressure’ should complete before commencing successor ‘quality assurance inspection’. Our MSO April 10th constraint date violates this FS dependency. Not good.
Constraints that may violate dependency relationships are known as hard constraints. Microsoft Project, however, has a hard constraint work around setting to remove the Gantt chart logic violation. In options select schedule, which brings up the project options dialog, Figure 5.
In the ‘scheduling options for this project’ un-toggle ‘tasks will always honor their constraint dates’. Now our Gantt chart looks different, Figure 6.
All activities on the Gantt chart proceed according to the natural flow of the network logic. However, this time we look more closely at the task table and observe that ‘quality assurance inspection’s’ preceding tasks all have negative 4-days total slack. This is our clue that something is amiss with our schedule despite the Gantt chart looking correct. We also have the warning icon in the indicators column. When we hover over this warning indicator we read the following popup dialog “This task starts on 4/14/2017 which is different than its ‘Must Start On’ constraint on 4/10/2017.”
So the Gantt chart, as per our schedule options, displays the project completion according the natural flow of the network logic, which is our preference. And the task tables’ total slack column is telling us that our project will miss the specified ‘quality assurance inspection’ date by 4-days. We therefore know our schedule requires optimization to proceed according to the plan of our desired ‘quality assurance inspection’ date.
The MSO Microsoft Project constraint is great for coordinating project quality assurance inspection tasks that are limited by the availability of the inspector. It also may help narrate the schedule with an important meeting that must start on a specified date. Note that the MSO constraint may cause Gantt chart network logic violations.
To more accurately portray the interface between tasks on the Gantt chart set the Microsoft Project schedule options to un-toggle ‘tasks will always honor their constraint dates’. This way your Gantt chart displays the completion date according to the actual task relationships, and the task table negative total slack warns that schedule optimization is required. You will also want to specify your schedule options settings in your stakeholder schedule communications.