Project scheduling: Choosing task types

Introduction

DIfferent kinds of tasks are used in a project schedule: fixed duration, fixed units and fixed work. Most people tend to ignore these choices and accept the default, which is fine in a lot of cases but sometimes it can lead to problems and unexpected results, particularly when the work has to be re-planned. The purpose of this article is to explain how to use the different task types.

The factors that define a task

The three factors that define the task have a relationship defined by the following equation:

Task \;duration =\displaystyle\frac{Task \; work}{Allocated \; ef\!fort}

The implication is that changes in one factor result in changes to one or both of the other factors to preserve the equality.

Fixed duration

Also called inelastic tasks, they require a fixed amount of time to complete independent of the amount of work required or the resources allocated to it. Running a training session is an example of a fixed duration task; the number of people participating in training does not change the length of the course.

What happens when you allocate resources to the tasks? There are two cases,

  1. Initial allocation. When you define the task, it has no work or resources, and the task work is determined by the resource allocation.
  2. Subsequent allocations. When the task work is already defined, a change in resources can produce two different results controlled by the ‘Effort driven’ flag.
    1. If the flag is not set, a change in units changes the work to keep the duration constant.
    2. When the ‘Effort driven’ flag is set, work is kept constant and the net allocated effort must also remain constant. This means that changes in the resource allocation must be balanced and Project adjusts the allocation of the other resources (if any) to preserve the balance. This makes perfect logical sense to the tool but creates havoc with the schedule.

Fixed Work

The work to complete the task is constant, and the addition of resources reduces the duration (except in cases when the complexity of co-ordinating the task increases the total effort). Writing code is an example of this type of tasks: additional programmers may reduce the total duration of the programming effort, but additional time is required to divide and allocate the work.

For this type of task allocating more resources means less duration and vice-versa. There is no ‘Effort driven’ flag in Project because the work is already constant.

Fixed Units tasks

If the allocated effort is constant, then a change in duration results in a change in work. This is the default setting and results in a mixed behaviour depending on the ‘Effort driven’ flag:

  • If the ‘Effort driven’ flag is on, the task behaves as a fixed work task
  • When the ‘Effort driven’ task is off, the task behaves as a fixed duration task

Conclusion

A simple and effective schedule gives consideration to the choice of task types, and uses either fixed work or fixed duration tasks without the ‘Effort driven’ flag. They are easy to define and changes have direct and intuitive results. These settings are also common to many other tools.