One of the most basic concepts about working with a project scheduler tool like MS Project or any other similar tool, is the definition of work and task duration. However, many people using this kind of tools do not always understand these basic concepts and then get a feel of losing control over the schedule and start using other simpler tools like Excel to do the MS Project’s job.

In this article, I will try to demystify the concepts of task type and its associated work, units and duration properties. I will also add to these the concept of effort driven tasks. Finally, I will explain the effect that both task type and effort driven have when work is automatically scheduled by MS Project.

Please feel free to post comments on this article if you have any query.

The Work Equation

The following equation is the core of every concepts I will talk about in this article. It is known as the work equation, and it is used by MS Project to calculate the effort a task must take to be completed, having in mind the duration of the task and the number of resource units assigned to the task.

Microsoft Project Work Equation

Microsoft Project Work Equation

This equation simply states that the work needed to complete a task, is a function of the resources assigned to the task, multiplied by the duration of the task. This is the meaning of each variable in the equation:

  • Duration, is the interval of time which a task will take to be completed.
  • Work, is the amount of effort expressed in time (usually hours or days) that it would take one person to complete the task if he will be working at it full time every day.
  • Units, refers to the amount of resources that will execute the task. Resource units are expressed as a percentage or a decimal of the available time of the resource. For instance, if a resource is available for its whole time working on a task, then the units assigned to the task would be 100% or 1.0 in decimal. On the other hand, if the resource is only available to spend half of its time on a project, then the units assigned to the task would be 50% or 0.5 in decimal.

So, let’s say that we are beginning a new project and we add the first task to the project: task A, and we assign the task a duration of 1 day. Also, let’s assume that the project scheduling is set to automatic (since in MS Project 2010, we can work in an automatic or manual scheduling).

First of all, it is important to understand what does 1 day means. If we look to the project options, we can understand the definition of 1 day in the field “Hours per day”. Accordingly to my Project configuration, 1 day means 8 hours. You could have a definition of 1 day of 10 hours or any other value, but after you understand this relation, it is indifferent the number of hours one day has to the following examples.

Microsoft Project - Task Information DialogBox

Microsoft Project – Task Information DialogBox

So, in the example, when we create Task_A and specify 1 day has the duration of the task, it means the task duration will be 8 hours.

Now, let’s assign a resource to the task. For the example, you should specify that the resource will be assigned at 100% to the task. This means that while working in this task, the resource will not work in any other task, and that he will work all the disposable time he has on that task. I assume here, that we had not defined any calendar restriction to that resource in the day he will execute the task, and that, in its calendar, one day is also equivalent to 8 hours. Note that these assumptions are the default values when we create a new resource in MS Project.

In these conditions, when we add the resource to the task, MS Project will make the following calculation:

Work = Units * Duration <=> Work = 1 * 8h <=> Work = 8h

So, one resource assigned to a 1 day (8 hours) task full time will dispend 8h of work. That seems easy to understand and it seems that duration is equivalent to the effort spent by the resources, but take a look at the next example.

Now, let´s say that the resource can only dispend 4h of work each day or, in other words, only half of the resource is assigned to the task. What will be the new duration of the task? The work equation should give the new value of the duration of the task:

Work = Units * Duration <=> Duration = Work/Units <=> Duration = 8h/0,5 <=> Duration = 16h

In this example, we are assuming that the effort to complete the task is still 8h, but the resource doesn´t have 8h in one unique day to complete the task. Thus, the duration of the task increases in one day. This is a simple example showing that the duration of a task can be different from the effort (measured in time) spent by resources while completing a task.

Now that we understand the different between duration and effort, let´s have a look at the types of tasks offered by MS Project and how Project schedules the work of a task taking into account its type.

MS Project Task Types and Scheduling of Work

MS Project offers three types of tasks: fixed duration tasks; fixed work (effort) tasks and fixed units tasks. There are three types of tasks and not only one type because MS Projects wants to empower its users to represent as much as possible the real-world tasks while planning projects. The better a project planning tool represents the reality, the better the planning will be understood managed and accepted by project stakeholders.

  • Fixed Units type, tasks uses a fixed number of resources to be accomplished. A good example of this kind of task is the flying of aircrafts. In each flight, there is always a pilot and a co-pilot, independent of the effort and the duration of the flight.
  • Fixed Duration type, tasks always needs a specific duration to be accomplished, no matter what are the resources (number of units) or the effort needed to execute the task. For instance, the duration of a reunion is normally independent of the number of persons attending it and of the effort put in the task by each resource.
  • Fixed Work type, tasks needs a specific effort to be accomplished, independently of the resources assigned to the task and independently of the duration of the task. For instance, to write this article, I expect three hours of effort, independently of the fact that I will write it only by myself or not, and independently of the time frame passed until the article is completed.

By default (but this may vary according to the MS Project version), when a task is created in MS Project, the task is of fixed units type. This is the MS Project default maybe because it is the type of most common task. An exception to this default is summary tasks, which are always of fixed duration type (because the duration of these tasks is calculated automatically based on the duration of their children tasks).

However, please note, that we can change the default task type for all new created tasks in MS Project configuration options, in the Scheduling tab. Of course, after a task is created, we are able to change its type in the task properties. However, doing this way, we would need to change each task one by one.

The concept of task type is important because it has effect on how Project schedules the work of the task. It is important to understand that this effect is not present when the task is created for the first time, but only when the task is changed (when we change the duration, work or units assigned to the task).

To understand the effect of changing a task in the scheduling of the task’s work, regarding the task type, let’s again have a look at the work equation. Accordingly to the equation:

  • In a fixed unit task, of the three variables in the equation, Project will keep one constant, the units. Thus, if the duration of the task changes, MS Project will, by default, change the work of the task in order to maintain the equation balanced. MS Project will not try to change the units assigned to the task as a first option, because the task is of fixed units type. On the other hand, if the work of the task changes, the first option MS Project will follow to balance the equation will be to change the duration of the task, again because the units of the task are fixed accordingly to the task type.
  • In a fixed duration or fixed work task, the logic followed by MS Project is the same. The task type fixes one of the variables of the work equation, so when one of the other two terms changes, only one term is left to be changed in order to bring balance to the equation.

Note that these are only MS Project default choices! That is why MSP offers more options every time a task definition is changed. The selected option, by default, is the one I mentioned previously, but of course you, as the MS project user, can also select other options.

For example, in the following image, we have a fixed unit task with an original duration of 1 day and one resource assigned to the task. Then, we changed the duration of the task to 2 days. When the duration, work or units of a task is changed, MS Project can´t guess what is our goal with that change, because according to the work equation, we still have two more variables that can be impacted by the change, but which one will be? Well, that depends of our goal.

Microsoft Project - Task Change Choices

Microsoft Project – Task Change Choices

So, what MS Project does is that it selects a default choice and gives the user the possibility of choosing the other option. Note than if we put the cursor over the exclamation point, we will be able to read the following message: ” Click to set the reason for the duration change so that the task can be properly scheduled”. So, MS Project is asking for our help, although it will select an option automatically.

According to what I said earlier, the default MS Project behaviour for this example (fixed units task type) will be to change the effort needed to complete the task, and if you look at the image above, this is exactly the option selected by MS Project. So, if we ignore the warning, MS Project will commit this option in our next change to the project plan. However, if increasing the work to complete the task was not our goal when we increased the duration of the task, we can always choose the second option. In this option, the units assigned to the task will decrease to bring balance to the work equation. So, in a fixed unit task, we are not prohibited of changing the units assigned to the task, however, that will not be MS Project’s first choice. The same logic applies to the other task types.

Adding a Little Complexity: The Effort Driven Concept

Effort driven tasks, are the tasks conditioned or driven by effort. In other words, effort driven tasks are tasks that maintains the same effort regardless of the resources assigned to the task. Any type of task supported by MS Project can be driven by effort. Normally, fixed work tasks are always driven by effort.

It is important to understand the concept of effort driven tasks, because like the concept of task types, the effort driven has also an effect on how Project schedules the work of a task. However, the effect of a task type applies whenever a task’s work, duration, or unit values changes. Effort-driven scheduling affects the schedule only when resources are added or removed from tasks.

To understand the effort driven effect in the scheduling of a task’s work, let’s again have a look at the work equation. Without the effort driven effect, we saw that there are two variables in the equation suitable to change, so that a change in one would have impact on the other, because the third variable is fixed by the task definition, and thus can´t be changed. When we add to the game the effort driven concept, the work variable of the equation also becomes fixed because, by definition, the effort driven fixes the effort of a task. Thus, only the duration of a task or its units may change. Let´s see the impact of effort driven in each task type more closely.

  • In a fixed duration task with effort-driven enabled, a change in the units assigned to the task can´t change the work of the task because the work is fixed by the effort-driven concept. At the same time, the duration can´t be changed also, because it is fixed by the task type. Thus, only the units by themselves can change. So, if we add additional units in order to complete the same amount of work in the same time, then the percentage of units of each resource assigned to the task will decrease (they can spend some time of their availability doing something else). On the other hand, if we remove units from the task, because the duration of the task and the work to complete the task maintains the same, then each resource will have more units of themselves assigned to the task for instance, some resources may need to work overtime, or stop doing what they were doing to help completed this changed task).
  • In a fixed units task with effort-driven enabled, a change in the units of resources assigned to the task, can´t be changed the work of the task because the work is fixed by the effort-driven concept. However, the duration of the task can be changed. So, if we add additional units to a task, and since the task maintains the same amount of work, then the duration of the task will shrink. It means that more units of resources can do the same work in less time. On the other hand, if we remove units from a task, and since the task maintains the same amount of work, then the duration of the task will increase. It means that few units will need more time to do the same amount of work.
  • In a fixed work task with effort driven enabled (it is by definition), a change in the units assigned to the task will change the duration of the task. So, if we add more units to the task, the duration of the task will decrease. On the other hand, if we remove units from the task, the duration of the task will increase. This is the same effect described for the fixed units task with effort-driven enabled.

But, what is the real world meaning and use of the effort driven concept? No single rule exists when we should apply effort-driven scheduling and when we should not (and that applies to almost everything else in life, if not everything). As the project manager, we should analyze the nature of the work required for each task in our project, and use our best judgment. Sometimes, adding resources to tasks may decrease the time to complete the task, but many times increasing the number of resources can turn the task more complex to complete because it can be difficult to manage more people. Also, it is not always possible to divide work in many small subtasks.

So, for instance, if we have a task in which the duration should decrease or increase as we add or remove resources to the task, than we can make it a fixed work task with effort driven enabled. Thus, every time we change the units assigned to the task, we will already know that the task will change accordingly to what we expect.

It is true that we can get the overall effect if we manually change the configuration of a task, without the need to get worried about the task type or the effort driven concept. However, why should we control things manually that can be controlled automatically? And even if we can do it manually for one task, imagine the effort of controlling manually these kinds of concepts to dozens or even hundreds of tasks! That is why we should understand these concepts and know when and how to apply them. Finally, don´t forget that the schedule impact related to task types and effort-driven effect only applies when a change to the task is made, and not when the task is first created.

Remember that MS Project doesn´t offers different types of tasks and the concept of effort driven to make project management more complex. MS Project offers these functionalities for the opposite reason: to simplify the work of the project manager. Also, the defaults applied by MS Project are only defaults, and all the logic I have explained here are the MS Project default. Depending on the MS Project version, MS Project may assume by default that each task is effort-driven.

At anytime, we can change the defaults to every new task added to the project in the project options dialog box as shown bellow. Note that we can set the default task to each new task we create as well as activate or inactivate the effort driven property.

Microsoft Project - Schedule Project Level Options

Microsoft Project – Schedule Project Level Options

At the task level, we can also change the type of the task and the effort driven property. Of course, since this is at the task level, we would need to do it to all the target tasks. Don´t forget that we can only change the effort-driven setting if the task is of type fixed duration or fixed units. With the fixed-work task type selected, the effort-driven setting is turned on automatically and can’t be turned off.

Microsoft Project - Task Information DialogBox

Microsoft Project – Task Information DialogBox

The following table resumes the default MS Project’s behaviour when a change is made in the units, duration or work of a task, taking into account if the task is effort driven or not.

Microsoft Project - Task defaults

Microsoft Project – Task defaults

Conclusion

MS Project offers some cool functionalities like task types and the effort driven concept that pretends to mimic concepts of the real world. As a project manager, we should know about these functionalities and when and how to use them. By default, MS Projects configure some of these functionalities. We should know the defaults used by MS Project, but also understand that we can change the defaults at project level, or at task level. Then, our lives as project manager become easier.