Task Scheduling


Schedule is an important pillar of the project management triangle. Celoxis has a flexible and powerful scheduling engine to help you take control of your project schedule.

Task scheduling is the process of calculating the start and finish dates of tasks. In this chapter we will understand how this is done in Celoxis.

We have already seen how start and finish dates of a summary task are calculated from its children. We shall now see how to calculate the dates for leaf-level tasks.

Manually Scheduled Tasks

Manually scheduled tasks are those tasks that have the Manually Scheduled option set. Celoxis never modifies the start and finish dates of manually scheduled tasks. Its predecessors are treated as FYI only and does not affect the start or finish dates.

The only constraint is that if you assign a resource with non-zero allocation, the resource must have non-zero (any value) allocation between the start and finish date of the task

Automatically Scheduled Tasks

Tasks that are not manually scheduled are automatically scheduled. Celoxis always keeps automatically scheduled tasks up-to-date. When a predecessor is extended, when a resource vacation is added, etc. the task dates are kept in sync.

Factors that affect scheduling of an automatically scheduled task are:

  • predecessors
  • constraints
  • effort
  • allocation units
  • resource work calendars
  • default work calendar (if no resource is assigned yet)

Scheduling Logic:

  1. First, the task's predecessors are scheduled. Now all predecessors have correct start and finish dates.
  2. Based on the dependency types, lead and lag, the task's tentative start (or finish if SF or FF predecessors exist) date is calculated. If the task has dependencies on both its start and finish dates (e.g. when a task has both FS and FF predecessors), a date is chosen that satisfies both dependencies. The date can either be a start date or a finish date.
  3. Next, based on the effort and resource work calendars (or the default work calendar if the task is unassigned), the end date (or start date, if the previous step resulted in a tentative finish date) is calculated. To do this, the scheduler simply tries to exhaust the effort as per the allocation and the date when the effort becomes zero is the new finish (or start) date.
  4. Finally, constraints are applied. If this results in a change of start or finish, the new date is taken as a base and the complementary date is calculated in the same way as in the previous step.