Manual Tasks

Project.net has two kinds of leaf tasks – manual tasks and automatic tasks.  Manual tasks are manually scheduled.  They should be used when you want to explicitly set a task's start and finish dates and not allow it to be changed automatically by the scheduler based on changes to other tasks. However, as in Microsoft Project, the start and finish dates and the duration are tied to one another.  This article discusses how the duration and scheduled start and finish dates of manual tasks are tied to one another, and how manual scheduling is enabled.

1. Duration and Start & Finish Dates

In Project.net, the scheduled start date, scheduled finish date and the duration of a manual task are tied to one another.

  • If any two of them are set, then the third one is set as well, with the duration equal to the number of project working days between the start and finish dates.
     
  • None are required to be set, and in that case, setting one of them leaves the other two blank.
     
  • If just one of them is set, changing that one leaves the other two blank.  In fact, a simple, no work/duration milestone task with a fixed date is best represented as a manual task, marked as a milestone, with just a start or finish date and with the other date blank, and thus with a blank duration as well.
     
  • If just one of them is set, then setting one of the blank ones to a value causes the remaining blank one to be set as well, and in a way that the duration is equal to the number of project working days between the start and finish dates.

2. Changing Duration, Start & Finish

If duration, start date, and finish date are all set, then changing the duration (so it is not blank) always changes the finish date.  But changing the start or finish dates has different effects depending on the task's calculation type – fixed-duration, fixed-work, or fixed-units.

So, for a manual task

                                                          When the user

 

 changes start

 changes finish

 changes duration

 fixed-work

 -> change duration

 -> change duration

 -> change finish

 fixed-units

 -> change finish

 -> change duration

 -> change finish

 fixed-duration

 -> change finish

 -> change start

 -> change finish

Here's why

  • Fixed-work tasks can also be thought of "changed-duration" tasks.  That is, they enable and encourage duration to be changed, while keeping work fixed.  Similarly, changing a date enables and encourages the duration to be changed, while keeping the other date fixed.

    In general, users usually do want to be able to set the dates independently.  And this is the default Project.net behavior, since fixed-work is the default calculation type.

    If you intend to move both dates, be careful how you do it
    • You can't move the start date after the finish date, or move the finish date before the start date
    • It's better to move dates so that the duration first increases, and then decreases.  If your task has multiple assignments, and you do it in the opposite order, some of the assignments may unnecessarily have their duration increased.  We'll discuss this in more detail in the article on Task Assignments

    Changing the duration changes the finish date, so if you do just want to

    • Move the task backwards without changing the duration
      • First move the start date backwards to the new start date, and then reset the duration, which will change the finish date
    • Move the task forwards without changing the duration
      • First move the finish date forwards (as least as far as you think it needs to go), then move the start date forwards to the new start date, and then reset the duration, if necessary

    Alternately, you could change he task to be fixed-duration, change the dates, and then change the task back to fixed-work

  • Fixed-duration tasks aim to keep the duration fixed, even as other task attributes change, notabll work.  Consequently, changing either the task's start or the finish date changes the other one so that the duration is unchanged.  This makes it easy to move the entire task forward or backwards, but hard to leave the start date unchanged and just change the finish date, or vice versa.

    Here are two alternate ways you can change one or both dates:
     
    • If you don't want the task work to change: switch the task to fixed-work: Change the start and/or finish date, and then switch the task back to fixed-duration
       
    • If you do want the change in task duration to change the task work, as it normally would for a fixed-duration task:
      • Change the start date, if you want it to change.
      • If you need to change the finish date, then estimate the duration between the new dates and change that.  That will change the finish date.  If your estimate was wrong, change the duration again to get it right.

  • Fixed-units tasks evoke two conflicting desires
    • We'd like to allow users to set the dates independently, since that's what they commonly want
    • On the other hand, if you just want to move the entire task forwards or backwards, the trick used with fixed-work tasks -- i.e. first move dates and then reset duration -- is problematic.  In a fixed-units task, changing duration changes work, which may have undesirable side effects.

    So, we use a mixed approach for manual fixed-unit tasks, which is the approach used for all task types by Microsoft Project

    • Changing the start date moves the finish date as well, thus moving the entire task forwards or backwards, and keeping the duration the same
    • Changing the finish date leaves the start date alone, changing the duration instead

    If you want to move the start date of a manual fixed-unit task, but keep the finish date the same, first move the start date, and then move the finish date back to where it was.

3. Forcing Manual Scheduling

A task that is scheduled automatically can be forced to be manually scheduled, by checking the Manual checkbox for the task in the workplan, or by forcing Manual scheduling in New Task or Edit Task.

When this happens, we make sure that the duration, the start date, and the finish date are consistent, and do so in a way that does not change the task's work

  • If the task has both a start and finish date, its duration is based on that (in a way that its work does not change, even for fixed-units and fixed-duration tasks)
  • else if it has a duration and a start date, that's used to set its finish date
  • else if it has a duration and a finish date, that's used to set its start date

If a task is not forced to be manual, then its schedule type (automatic or manual) defaults to the workplan scheduling type, set in Workplan Properties > Workplan Details. 

If the user changes that from Automatic to Manual, then all the tasks in the workplan (not already forced to be manual) will become manually scheduled as well, and their duration, scheduled start date, and scheduled finish date are made consistent, as described above.

Note: If the workplan scheduling type is Manual, this ensures that all tasks are manually scheduled, so the Reschedule action is disabled.

4. Changing the Project Calendar

Project working days are specified in the project's Work Week calendar, and its Individual Dates calendar (which specifies project/company-wide holidays, etc), accessible through the project workplan's Workplan Properties.

If the project calendar changes so that the start and/or finish dates of the task now fall on a non-working project date, then those dates are moved to the next available project working date.

If a project calendar change affects the number of project working dates during a manual task, then

  • If the task is fixed-work, then the dates remain the same, but the duration changes
  • If the task is fixed-units or fixed-duration, then start date and the duration remain the same, but the finish date changes

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

Tags: 
Manual taskMicrosoft Project