Work, Duration & Calculation Types

Project.net, like Microsoft Project, supports 3 calculation types (also called task types) – fixed-work, fixed-duration, and fixed-units.  In this article, we're going to talk about how they affect work and duration, and which one you should use.

NOTE:  This article is only going to discuss tasks that

  • do not have assignments; we'll talk about calculations involving tasks with assignments in another article.
  • are leaf tasks; we'll discuss summary tasks in another article.

1. Using Work & Duration Fields

Two important fields of a task are

  • work – which is an estimate of the amount of work that the task will require
  • duration – which is an estimate of the amount of time it will take for the task to get done

These can be set in the project workplan, or in New/Edit Task

 

There are three ways you can use these fields

  • Leave them both blank.  You might do this if you have no idea of the work or duration needed for a task.  Leave work and duration blank initially, and fill them in when you have a better idea.  Or leave them blank, and just use % work complete to track progress.  We'll talk more about that in another article.

    Tasks without work or duration are also commonly used as milestones, although any task, including a summary task, can be marked as a milestone.
     
  • Just set duration, but leave work blank.  You can do this if you're not particularly interested in the amount of work, but you do know how much time you’re willing to allocate to it, possibly even assigning more resources, if necessary, to make sure the task is done in the allotted time.

    If you do expect to just set duration, and leave work blank, making sure that the task's calculation type is fixed-work.  We'll explain why later in the article.
     
  • Use them both.  Here's where understanding calculation type really matters, since a change in the value of work or duration may change the value of the other one, depending on the calculation type of the task.

2. Using Calculation Types (Task Types)

When you want to use both work and duration, then set calculation type (i.e. task type)  as follows

  • Use fixed-work, when you primarily think about a task in terms of how much work it requires.  The work determines how long the task will take, but you can change the duration to stretch out or compress the time you allow to get that fixed amount of work done.   Changing work changes duration proportionately, but changing duration does not change work.

    Also use fixed-work, when you want to leave work fixed to be blank, and only want to set duration.

    Suppose you set a fixed-work task to have 40 hours of work. Duration will automatically be set to 5 days (by default).   NOTE:  The default, typically 8 hours/day, is based on the project's Work Week calendar, reached via Workplan Properties in the workplan.

    Now set duration to 10 days.  Work will not change, since work is fixed. Instead the expectation of how much work is done each day on the task changes: from 8 hours/day (the default) to 4 hours/day.  You can see this value at the top of the Work section of View Task, Edit Task or New Task.

    Now, if you double the work, from 40 to 80 hours, the duration will double as well, from 10 to 20 days (still at 4 hours/day).

    BTW: If the work was first set to 40 hours, and you then set duration to 1 day, this would result in an expectation of 40 hours of work being done per day!  This is completely normal – it just means that you will probably need to assign 5 resources to work on the task.
     
  • Use fixed-duration, when you primarily think about a task in terms of how much time you want to allocate for it.  The duration determines how much work can get done, but you can also change the work to squeeze more work or reduce the amount of work to be done in the fixed duration allotted.  Changing duration changes work, but changing work does not change duration.

    Suppose you set a fixed-duration task to take 5 days.  Work will automatically be set to 40 hours (by default).  Now if you set work to 30 hours, duration will not change, since it is fixed.  Instead the expectation of how much work is done each day on the task changes: from 8 hours/day (the default) to 6 hours/day.  You can see this value at the top of the Work section of View Task, Edit Task or New Task.

    But if you then double the duration, from 5 to 10 days, the work will double as well, from 30 to 60 hours.

    WARNING: if you think of a task in terms of how many days of work it will take to get done (assuming a "typical" resource working a "typical" project day), you probably do NOT want to use a fixed-duration task.  Instead, use a fixed-work task, with work set to display in days (rather than hours).
     
  • Use fixed-units, when you think of tasks interchangeably in terms of its work and the time allocated for it.  That's generally because, when you do assign resources to the task, you expect they will work on the task a fixed number of hours (i.e. units) of their time each day.  So, changing either the work or the duration will change the other one proportionally.

By the way, when you change the scheduled start or finish date of a manual task, the calculation type (i.e. task type) also determines whether the other date is changed, or whether the other date stays the same, and the duration is changed.  See the article about Manual Tasks for more information.

3. Changing Task & Duration

For a task without assignments
                                                         When you

Calculation type

change work

change duration

Fixed-work

duration changes
proportionally

work is unchanged
(i.e. work is fixed!)

Fixed-duration

duration is unchanged
(i.e duration is fixed!)

work changes
proportionally

Fixed-units

duration changes
proportionally

work changes
proportionally


When tasks have active assigned resources, the calculation type actually determines how changing an assignment's work or duration changes the other value, as well as how that is related to the assignment's units -- i.e. the assigned hrs/day the resource is expected to work, since work (in hours) = hrs/day * duration (in days).  We'll discuss that in another article.

NOTE:  In the future, we have considered supporting a change-units calculation type, in which work and duration can be set independently; changing one of them has no effect on the other -- it only changes the units of work that are expected to be done every day.

4. Initially Setting Task & Duration

For a new task, both work and duration are blank initially:

  • When work is blank, setting work always sets duration, regardless of the calculation type.
  • When duration is blank, setting duration only sets work for fixed-unit and fixed-duration tasks.

So if you only want to use duration, but don't want to use work, set the calculation type to fixed-work since work will be left blank when changing duration.

Note: If the calculation type is fixed-duration, you could first set duration, and then set work blank again (by clearing it, or setting it to zero), which will leave duration unchanged.

5. Default Calculation Type

There are actually four calculation types that a task may have in project.net:

  • fixed-work
  • fixed-duration
  • fixed-units
  • default

The "default" value is actually the value set when a new task is created, and it means that the task should use the default calculation type set in Workplan Properties > Workplan Details.  This can either be fixed-work (the default), fixed-duration, or fixed-units.

If the default calculation type is changed, then the all tasks in the workplan which have a "default" value now act as if they have the changed default calculation type.

6. Workplan Work & Duration Usage

In the future, we are likely to support a property that mandates how work and duration are used in the workplan: with settings for

  • Use both work and duration – this works exactly as we've described above
  • Use duration only – work cannot be set, and setting duration never changes work, regardless of the calculation type
  • Do not use either work and duration – neither work nor duration can be set

Ellis S Cohen
Project.net
(last revised) Mar 2015

Tags: 
Calculation TypesTask TypesMicrosoft ProjectWorkDuration