Background Information

Several months back, a user posted an interesting question in my company’s Microsoft Project user forum. The user was managing a project in which there were tasks that needed to be scheduled to occur on the first working day of each month. He indicated that he knew he could use a Start No Earlier Than (SNET) constraint on each task for this purpose, but he wanted the scheduling of these tasks to be automatic. This means that if the schedule slipped on a predecessor task, he needed these particular “first of the month” tasks to automatically be rescheduled to the first working day of the next month.

So, if the user cannot use constraints, is it still possible to schedule tasks to automatically start on the first working day of the month? Thankfully, the answer is yes.

 

The Solution

The first part of the solution for this unique scheduling problem requires the project manager to create a custom calendar that shows only the first working day of each month as working time, with all other days in the month shown as nonworking time. To create this calendar, complete the following steps:

1. Click the Project tab to display the Project

2. In the Properties section of the Project ribbon, click the Change Working Time button. Notice in the Change Working Time dialog shown in Figure 1 that the Standard calendar includes company holidays through the year 2022.

Figure 1: Standard calendar with company holidays

 

3. In the upper-right corner of the Change Working Time dialog, click the Create New Calendar

4. In the Create New Base Calendar dialog, enter a name for the new calendar in the Name field, and then select the Create new base calendar option, as shown in Figure 2.

Figure 2: Create New Base Calendar dialog

 

5. In the Create New Base Calendar dialog, click the OK button to create the custom calendar.

6. In the calendar grid at the top of the Change Working Time dialog, scroll to the starting month of the project, such as October 2018, for example.

7. In the calendar grid, select every day except for the first working day of the month. For example, notice in Figure 3 how I have selected every day except for Monday, October 1, 2018.

Figure 3: Nonworking days in October selected

 

8. On the first line of the Exceptions data grid, enter a name for the nonworking time and then press the Right-Arrow key on your computer keyboard to create the nonworking time period. Notice in Figure 4 how I entered the name October 2018 Nonworking Time for this time period.

Figure 4: October 2018 nonworking time instance completed

 

9. Scroll the calendar grid to the next month.

10. Repeat steps #7-9 to add nonworking time to every month during the life of the project. For best results, add nonworking time instances for a couple of months past the anticipated Finish date of the project. Notice in Figure 5 that I added nonworking time instances for each month from October 2018 through June 2019, even though the project is anticipated to finish in April 2019.

Figure 5: Nonworking time instances completed

 

11. Click the OK button to close the Change Working Time

The second part of the solution for this unique scheduling problem requires the project manager to assign the custom calendar as a Task Calendar to any task on which the work must be scheduled to start automatically on the first working day of any month. For example, in the project shown in Figure 6, notice that the Monthly Project Review task is currently scheduled to start on Monday, October 29, based on its Finish-to-Start dependency with the Work Package task. According to the original question in the Microsoft Project user forum, this task needs to be automatically scheduled on the first working day of the next month.

Figure 6: Sample project

 

To assign the calendar as a Task Calendar, complete the following additional steps:

1. Double-click a task that needs to be scheduled on the first working day of the next month.

2. In the Task Information dialog, click the Advanced tab as shown in Figure 7.

Figure 7: Task Information dialog – Advanced page

 

3. On the Advanced page of the Task Information dialog, click the Calendar pick list and select the custom calendar you created in the previous set of steps, as shown in Figure 8.

Figure 8: Task Information dialog – select a Calendar value

 

4. On the Advanced page of the Task Information dialog, select the Scheduling ignores resource calendars option, as shown in Figure 9. Selecting this option, by the way, guarantees that the work on this task will always be scheduled to start on the first working day of the next month, no matter which resources are assigned to the task.

Figure 9: Select the Scheduling ignores resource calendars option

 

5. Click the OK button to apply the custom calendar to the selected task as a Task Calendar. Microsoft Project will automatically reschedule the selected task to start on the first working day of the next month.

For example, notice in Figure 10 how the software correctly scheduled the Monthly Project Review task to start on November 1, the first working day of the next month. If the Finish date of the Work Package task slips past November 1, the Monthly Project Review task will be automatically rescheduled to start on Monday, December 3, the first working day of December.

Figure 10: Monthly Project Review task correctly scheduled