Posted by: Linda Russell | 15 April, 2008

How Does Project and Resource Scheduling Software Work?


What processes does project management software go through to produce a project plan? What information do you need to provide to enable it to work effectively? If your software can schedule resources as well, how does it do that and what data does it need?

Project (or Time) Analysis

Your scheduling software needs some basic data to be able to work out the schedule:
– The tasks in the project;
– How they are related – their dependencies;
– Their estimated durations, which may be calculated from the estimated effort.

You may also want to impose some constraints on the schedule, such as locked target dates (this task must start on or finish by this date, or cannot start before this date), or delays (“lags”) or overlaps between tasks.

Once it has this information, the software will start at the first task (the one which has no predecessors) and work its way forward through all the links, calculating the earliest start and finish dates for each one.

Having worked out the earliest dates, the software then starts from the last tasks (the ones with no successors) and calculates the latest start and finish dates for each task.

You can see that it makes sense if you can define a single start task and a single end task, otherwise the calculation is made more complex. These can be milestone tasks called Start Project and End Project, if you like, and help to make the whole network much neater. (A milestone task is one which has no duration.)

When all the dates are in place, the software can calculate the “total float” – the amount of time by which a task can be delayed without affecting the project end date. It may also calculate “free float”, which is the amount of time by which the task can be delayed such that its succeeding tasks can still start at their early start date.

The tasks which have no float are identified as “critical”, i.e. delays to these tasks will affect the project finish.

Resource Analysis

If you have limited resources, you may want the software to work out a schedule based on the availability of those resources. This implies that you need to do the following:

1  Estimate resource requirements
You may have already done this in order to calculate the durations of the tasks, in which case the requirement would be entered as the total effort. Alternatively, if you have specified the duration, you might enter it as so many hours per day or as a percentage of the resource’s daily availability.

2  Allow tasks to slip
Float must be introduced into the whole schedule. You might do this by specifying a target end date on the last task which is considerably later than the calculated latest finish date. Or your software may allow you to specify by how much time the whole project can slip (may be called “overrun”).

3 Specify priorities
You might want certain projects, and tasks within projects, to take precedence when resources are allocated to them. There should be a way of indicating the priority at both project and task level.

4  Allow task splitting and/or variable durations
Your software may let you specify that certain tasks can be split to avoid overloading resources, and/or that the duration of the task can be extended. The minimum permitted duration of the split elements and the amount of time by which the duration can be varied should be specified.

With all these elements completed, the software will progressively schedule the tasks (according to priorities) later and later to avoid resource overloads using:
– Splitting and variable durations;
– Standard and variable durations plus float;
– Standard and variable durations plus overrun.

Even after using all these possibilities, there may still be some resource overloading.

Problems with Automatic Resource Scheduling

There are a two main issues associated with using the software to schedule tasks according to resource availability.

1  Project managers do not like their projects being rescheduled without their direct input.

They may prefer to use manual methods of rescheduling to avoid overloads.

2  A considerable amount of extra information on every task on every project is required to make the process work properly.

If your projects are planned at a very high level, e.g. only one or two tasks per project, then this may not be an onerous burden, but for many project managers the amount of time that would be spent setting up the data on a multitude of tasks in each project is not outweighed by the usefulness of the result.


Scheduling software can be very useful, but you need to know what data it needs to work effectively, and understand how much effort may be required to input that data.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: