Hacking MS Project: Triggering Warnings When End Dates Change
An out-of-box feature that has long been missing from Microsoft Project is the ability to set a target finish date when you are scheduling from the project start date. When you initially define your project in the Project Information dialog box, you normally choose to schedule from the project start date. This option does not let you choose a project finish date, and that field is automatically calculated outside of your control.
This post will demonstrate how you can trick MS Project into prompting a scheduling message if your project finish date changes.
Defining the project start date
To set a start date for your project, you choose Project Information on the Project menu to see the Project Information dialog box.
When you opt to schedule your project from the Start date in this dialog box by entering a date in that field, Project turns the Finish date field gray, and you cannot enter a date into this field. Instead, Project sets a finish date that is the same as the finish date of the latest task in your project plan.
If you have a specific finish date in mind, schedule your project as you normally would, and then optimize the schedule so that all your tasks are completed by that desired finish date. Then, on the Tools menu, click Options, and then click the View tab. Toward the bottom of the tab, select the Show project summary task checkbox.
When Show project summary task is selected, the first line of your Gantt Chart will display a summary task that shows you the overall start and finish date for your project, as shown below.
Finding the latest task in the critical path
Once you have finished scheduling your project, you can view the tasks on the critical path. These tasks determine the project’s finish date.
On the Project menu, point to Filtered For, and then click Critical to see only the tasks in the critical path.
Scroll down to the latest task on the critical path. In our example, this is Task 23, “Document system requirements,” which is scheduled to end on November 2, 2005. If any task on the critical path is delayed, the project finish date will change. Now, how can you force Project to notify you of this change?
Setting an end for a project milestone
Add a milestone after the last task in your project’s critical path and call it “End of Project.” Link this milestone to the last task on your project’s critical path in a Finish-To-Start relationship.
Now you must ensure that this milestone does not change. Select the “End of Project” milestone task. Click the Task Information  button on the Standard toolbar. In the Task Information dialog box, click the Advanced tab. Select Must Start On in the Constraint type field and enter “11/2/05” in the Constraint date field.
Now click OK in the Task Information dialog box, and you will see a warning similar to the following:
Select the Continue. A Must Start On constraint will be set. option and click OK. Now, if any task on the project’s critical path is delayed, you will receive a warning.
Note: You will receive these warnings only if you instruct Project to show scheduling messages. To confirm this option setting, on the Tools menu select Options, and then click the Schedule tab. At the top of the tab, ensure that the Show scheduling messages check box is selected. You can select this setting at any time, and you will immediately start to see scheduling messages.
Next, click the General tab and ensure that all Advice from Planning Wizard checkboxes are selected.
Triggering a scheduling message
Now what do you think will happen if a task on the project’s critical path is delayed? Change the duration of Task 23, “Document system requirements” from 10 days to 12 days. Because of the conflict between the task’s link to the “End of Project” milestone task and the Must Start On constraint, Project warns you of the potential schedule conflict. As you can see in the following Planning Wizard warning, this date change will impact the project’s critical path and therefore will also impact the project’s finish date.
Now you have a choice: override the constraint or change your plan so that the constrained milestone is not rescheduled.
You can use this same technique to set Must Start On constraints for all of the milestones in your project. That way any time there is a change that impacts the milestone’s start date, Project will warn you of the potential impact to your project schedule.
By linking constrained tasks to predecessor tasks, you can prompt Project to provide warning messages when key tasks in your project are changed. In this way, you can use Project to warn you when things are not going as planned.