JP-PM asks: I was wondering why Microsoft Project creates a conflict right off the bat in this example:

Task 1: 2 hrs work assigned to Jack and Jane
Task 2: 0.5 hrs work assigned to Jack

It creates both tasks starting at 8:00 AM today (10/31/11) and right away Jack is overallocated.

My question is, why Is this a bug and do I have to manually move a task a few minutes after the first one ends?

Ellen answers: This is a good question, JP-PM, and there are actually a few answers that are possible explanations. I can assure you, it’s not a bug.

The Cause of the Problem

When tasks are entered, they’re assigned the start time that’s the value contained in the start field of the Calendar options for the project. If assignments are made without relationships applied to the tasks and resources have the same start time on their calendars, the assignments will be scheduled to start at the same time. The resource is over allocated because the tasks actually are planned to start in the same hour of the day. Over allocations are actually calculated at the minute level, which is why this occurs.

There’s an option called Automatic Scheduling available through the Resource Leveling options in all levels of Project.

Lehnert Figure 1

With this option turned on, every time a task is changed, all assignments are automatically resource leveled for the entire schedule. I don’t recommend the use of this option for the following reasons:

All tasks and assignments will change each time you change a task.

  • The overhead of the time to complete the leveling every time a task changes in some schedules might have a negative impact on performance. Keep in mind there are other calculations (such as critical path) already being performed each time tasks change.
  • Project will decide what tasks are scheduled to be performed, resulting in adjustments from the project scheduler.
  • Assignments for resources without over allocations might be impacted if multiple resources are assigned to tasks that contain over allocated resources.

One factor in the level resource function is establishing resource availability using resource calendars. Using automatic leveling will force the project scheduler to keep resource calendars as up to date as possible. Since automatic scheduling is performed each time a task is changed, the calendars would require daily maintenance to keep them accurate.

The Solution

Assign resources to tasks to collect the demand for resources. Look at the Resource Usage view to view the resource demand and look for over allocations (values in red). If there are questionable values (such as a resource over allocated with only three hours assigned), you will be able to see which tasks are causing the problem. You can zoom in and see which hours of the day are double-booked.

Once you have the demand for the resources, then you can decide if fixing the problem is necessary and which is the best method to use to make corrections. In this situation, creating a relationship with another task might be enough to resolve the problem. Keep in mind that if multiple resources are assigned to a task and the task is moved, you might be resolving the problem for one resource only to create a problem for another resource. A few other options might be re-assigning one of the tasks to another resource, outsourcing the work, eliminating the task, delaying one of the tasks, or manually leveling a specific resource or all resources.

However, don’t allow yourself to fall into the trap of micromanaging the schedule. The schedule should never be a day timer with resources assigned to a task at a specific time on a specific day. Most schedulers assign resources to an estimated number of hours for a week or a month and collect feedback at the end of a status period to help move the schedule forward. The more a schedule is micromanaged, the more the schedule becomes the project itself instead of a tool to help manage the project.