In September, I celebrate my 20th anniversary of using Microsoft Project for the first time, beginning with version 4.0 for Windows 95. Twenty years later, I’m still amazed at how well the software does what it was designed to do: calculate the project schedule.
First and foremost, Project is a scheduling tool. How does Project schedule the project? The software uses three types of calendars:
- Project uses the Project Calendar to calculate the initial schedule of each task in the project BEFORE you assign resources to the tasks.
- When you assign resources to a task, Project calculates the schedule of the task using the calendar of each resource assigned to the task.
- You can apply a Task Calendar as an override calendar on any task individually to completely override the schedule of the task and the resources assigned to the task.
In this article, I focus on resource calendars and how they control the schedule of tasks.
Using Resource Calendars
Remember that the Project Calendar, set by clicking Project | Project Information, controls the schedule of each task BEFORE you assign resources to tasks. In the sample project shown in Figure 1 the built-in Standard calendar is set as the Project Calendar for this project. Thursday, November 23, is set as nonworking time on the Standard calendar, because it is the Thanksgiving Day holiday. You can see the nonworking time on this date represented by the gray shaded band in the Gantt Chart pane.
Calvin Baker is a team member whose Base Calendar value is set to the Standard calendar, which means that Thanksgiving Day is marked as nonworking time on his calendar. When I assign Calvin Baker to the Design task at a Units value of 100% and with 80 hours of Work, Project calculates a Duration value of 10 days and calculates the Finish date as Monday, November 27. This is the expected Finish date, given the fact that Calvin will not work on Thanksgiving Day. You can see the schedule of the Design task in Figure 2.
If I replace Calvin Baker with Henry Baum, Project keeps the Duration at 10 days, but the Finish date is now Friday, December 1, four days later than expected. You can see the unusual schedule for this task in Figure 3.
How is this unusual schedule possible? Is this a bug? No, this is Project doing what it does best: scheduling! Figure 4 shows the Change Working Time dialog for Henry Baum, which reveals his working schedule. Notice that during Thanksgiving week, Henry is taking PTO Monday through Wednesday and again on Friday. This means that the schedule for the Design task is correct. Henry isn’t assigned to any work on those four days, driving the Finish date of the task four days later than it was for Calvin Baker.
If I replace Henry Baum with Mickey Cobb, Project keeps the Duration at 10 days, but the Finish date is now Friday, November 24, which is the Friday of Thanksgiving week. You can see the schedule for this task in Figure 5.
How is it possible that this task can finish on Friday of Thanksgiving week, when we know that Thanksgiving Day is a company holiday and is nonworking time? Figure 6 shows the Change Working Time dialog for Mickey Cobb, which shows her working schedule. Notice that her Base Calendar is set to the Canada Work Schedule calendar, which means that her working schedule follows Canadian national holidays. Thursday, November 23, is a working day for Mickey Cobb because Canadians celebrate their Thanksgiving Day in October. Therefore, the schedule for the Design task is correct, controlled by Mickey Cobb’s calendar.
Perhaps now you’re wondering how Project would schedule the Design task if Calvin Baker, Henry Baum and Mickey Cobb were all assigned to work full-time on the task with 80 hours of Work for each of them. Figure 7 shows the schedule for this task with all three resources assigned to work full time. Notice that once again, the task Finish date is December 1, but also notice that the Duration is now 15 days and not 10 days!
How is this schedule possible with the three resources assigned? Figure 8 shows the Task Usage view for the Design task with the time-phased grid zoomed to the Weeks level of detail. All three resources will work 40 hours on the Design task during the week of November 12. You can see that during the week of November 19, Calvin Baker will work only 32 hours due to Thanksgiving Day, Henry Baum won’t work at all due to his PTO that week and Mickey Cobb will work 40 hours because she follows Canadian national holidays. Notice finally that during the week of November 26, Calvin Baker will work 8 hours, Henry Baum will work 40 hours and Mickey Cobb will not work at all because she finished her assigned work the previous week. The schedule of the Design task is correct.
Perhaps you’re also wondering how Project calculated a Duration value of 15 days and not 10 days for the Design task? Always remember that Duration is the total span of active working time across the life of a task. When you look at the time-phased grid in the Task Usage view shown in Figure 8, you can see that the assigned work on the Design task spans 15 working days during the weeks of November 12, 19 and 26. As a result Project calculates a Duration of 15 days for this task, and this Duration is correct.
A Scheduling Brain Teaser
Finally, allow me to show you a scheduling “brain teaser” in Project. Figure 9 shows the Design task after I have assigned Pancho Boie to this task at a Units value of 100% and with 40 hours of Work. Notice that Project calculates a Duration of five days, as expected. However, notice also that the task Finish date is Thursday, November 16, and not Friday, November 17, as expected.
I think you’ll agree that there is a mismatch between the Duration of the task and the schedule of the task. How is this possible? Are we finally seeing a bug? No, once again you are seeing Project doing what it does best: scheduling!
Figure 10 shows the Change Working Time dialog for Pancho Boie, which reveals his working schedule. Notice that his Base Calendar is set to the 4×10 Work Week calendar, which means he works 10 hours per day Monday through Thursday, with Friday as nonworking time.
Project scheduled the 40 hours of Work for Pancho Boie on the Design task using his resource calendar. This means he will complete the 40 hours of Work in only 4 days, which is shown correctly in the schedule of the task. However, notice that Project still calculates a Duration value of 5 days, rather than the 4 days that we might expect. In this situation, Project is calculating the Duration using the famous “Duration Equation” formula. Using this formula:
Duration = Work / (Units x Hours Per Day)
40 / (100% x 8) = 5 days
The Duration is correct and the schedule is correct for the Design task.
In every situation I have shown you, I wanted you to see with your own eyes that you can trust the schedule calculated by Microsoft Project. And when the schedule and/or the Duration don’t seem to be right, the reason is almost always caused by a resource calendar. Thus, my motto is “Trust the Schedule!”
This article originally appeared on the Sensei Project Solutions blog.
Dan Jordan
Hi Dale! Thanks for the great article. I am confused on the duration brain teaser. Previously in the article you noted “Always remember that Duration is the total span of active working time across the life of a task.” In the brain teaser, if the task is completed in 4 days (11/13 – 11/16) wouldn’t the total span of working time be 4 days and not 5 days? Is the Duration Equation formula NOT the same as calculating the total span of active working time? Are they two different calculations? Why is the Duration Equation being used in the brain teaser situation? If the task is done on 11/16/17 and 11/17/17 is a non working day and Duration is the total span of active working time across the life of a task, why then is 11/17/17 included as a day in the calculation of duration making the duration 5 instead of 4? I am confused. Can you help clarify? -Dan
Sonya Calef
Duration is not countable calendar days. It’s the work units and resource allocation over time. It would be easier to see how the equation helps if the task was split, the resource had time off, or was not at 100%, or if there was lag time involved. Sometimes the countable calendar days will be the same as the duration calculation, but that’s not a hard & fast rule.
Steve Eagleson
Dale,
Thanks for another insightful article on the inner workings of MS Project.
In the article, you mentioned a third type of calendar (“You can apply a Task Calendar as an override calendar on any task individually to completely override…”). Can you please provide a likely scenario where this would be applied to an individual task?
Thanks,
Steve Eagleson
Dan Jordan
Hi Dale–
What is is unique about the situation of the brain teaser that dictates MS Project use the Duration Equation formula? Every now and then, I run into situations where the duration does not match what I think the scheduled finish date should be. Thanks for all the articles and posts. It is refreshing to read/learn from someone with real world experience… where the rubber meets the road so to speak.
-Dan
yl wong
Dear Dale,
I agree that Calendars and the definition thereof has a huge effect on MSP calculation of Duration.
Delay in the execution of a Project caused the Schedule to slip.
For crashing of a Project, I’ll have to add Night Shift work to bring the schedule back to to plan.
MSP Hours per day Setting is 9 hrs.
Day Shift Schedule is 7:30 AM to 5:30 PM with an hour Break at Noon, making a 9hrs workday.
Night Shift is 6:00 PM to 6:00 AM with an hour Break at 12:00 AM, making a 11hrs workday.
For a Task of X_days duration, assignment of additional Night Shift Workers (Base Calendar following the Night Shift) causes MSP’s to Increase Duration, rather than to decrease it!!!
The way MSP calculates Duration is well illustrated by Daryl Deffler’s article “How Microsoft Project Calculates Task Duration” https://mpug.com/articles/how-microsoft-project-calculates-task-duration/.
In this consideration, I’m led to believe that MSP is NOT SUITABLE for Project Scheduling when Multiple Resource distinct Calendars are involve.
Please enlighten me or point me to the forums/reviews that discuss on this issue.
Thank you in advance.