Determining the project finish date
When you have linked the tasks in a project, you can calculate the shortest possible schedule for the scheme and determine the project's finish date. This is known as rescheduling a project. When a project has been rescheduled, you can see which tasks have any float or slack and which tasks must be carried out without any delay (critical tasks). A common method of rescheduling projects is to use critical path analysis (CPA), also known as the critical path method (CPM).

This involves calculating two sets of dates. First a forward pass is made through the project, starting at the project start date, to calculate the earliest start (ES) and earliest finish (EF) dates for each task. Then a backward pass is made through the project to calculate the latest start (LS) and latest finish (LF) dates for each task. The latest dates are the latest possible dates a task can start and finish without causing a delay to the project finish date. The difference between a task's earliest dates and latest dates is the amount of float available for the task. If a task's earliest dates are the same as its latest dates, the task is critical as it cannot be delayed without affecting the project finish date.

In this example, the bottom task is critical because its earliest start and finish dates are the same as its latest start and finish dates, while the first two tasks have some float:
|
|
Forward pass calculates the earliest start and finish dates |
Backward pass calculates the latest start and finish dates |
If you have an absolute deadline that cannot be moved, or if you are unsure when a project will begin (for example, you may be waiting for approval or input from a third party), you may find it useful to reschedule from a finish date instead of from the project's start date to determine when the project should begin.

The critical path is the longest sequence of tasks through a project. It determines the project finish date. Any delay to a task on the critical path delays the project finish date, so you should monitor the progress of critical tasks closely.

In this example, the first four tasks form the critical path because they make up the longest sequence of tasks in the project:
Note that the critical path is highlighted. More complex projects may have more than one critical path.
If you want to shorten the duration of a project, you need to shorten the critical path. To shorten the critical path, you could:
- Work overtime on tasks that are on the critical path.
- Reduce the duration of tasks on the critical path.
- Add more resources to tasks on the critical path so that they are completed in less time.
- See if any linked tasks on the critical path can overlap instead of being linked from finish to start.

|
|
The second task cannot start until the first is complete as the tasks are linked from finish to start |
The second task can start before the first task is complete, reducing the total duration |
You must reschedule the project after you make any of the above changes to see the effect on the critical path.

Tasks that are not critical are said to have float. Tasks with float give you room for manoeuvre, because they act as a buffer, protecting the overall project plan from any errors that were made when the duration of tasks was initially estimated. It is unwise to plan a project with no float, as you have no room for manoeuvre when tasks are delayed.
Float is calculated when you reschedule a project, so if you make changes to a project you must reschedule to see what effect your changes have made to the float.
Three kinds of float are calculated for each task during a reschedule:

The free float of a task is the amount of time it can be delayed without affecting any other task or the project finish date. It is the difference between the task's earliest finish date and the earliest start date of the task's immediate successor.
In this example, the third task is critical as it has no float. It also sets the project finish date. The first two tasks are linked and the second task is linked to the third, preventing it from starting as soon as the first task has finished:
The first task has a free float (displayed as ) of five days, as it can move as far as the start of the second task without affecting the start of that task. The second task also has a free float of five days, as it does not have to be completed until the third task is completed.
Free float is useful as it tells you that a task can be delayed for the period of free float, without affecting any other task or the project finish date. You can carry out the task at any time within the period of free float.

The total float of a task is the amount of time it can be delayed without affecting the project finish date. It is the difference between a task's early finish and late finish dates.
This example is similar to the above example of free float, but there is no link between the second and third tasks, so the second task can start as soon as the first task has finished. The third task is critical and sets the project finish date:
The first task has a total float (displayed as ) of ten days, as it must finish before the second task, which takes five days to complete. The second task also has a total float of ten days.
Total float is useful as it tells you that a task can be delayed for the period of total float, without affecting the project finish date. However, if a task uses up its total float, it will affect other tasks within the schedule. In this example, the first task cannot be delayed without delaying the second task, which could cause problems if the second task is difficult to rearrange.
As a project progresses, some tasks will be completed earlier than planned. This increases the total float of any successor tasks. Other tasks will be completed later than planned. This decreases - or erodes - the total float of any successor tasks. If enough non-critical tasks are completed later than planned, their successor tasks will become critical and will impact on the planned finish date of the project.
It can be useful to monitor the erosion of total float, as this enables you to take preventative action before the planned finish date of a project is delayed. One way of doing this is by using "logical paths" to analyse paths of tasks that are not critical, but that may become critical if predecessor activities are delayed, or take longer than planned. Asta Powerproject identifies the various logical paths in a project when you reschedule it.

Some tasks may have negative float after a reschedule. Negative float indicates the time that must be saved to prevent other tasks from being delayed. Negative float is normally caused by constraints on tasks.
In this example, the first task has a duration of ten days and must start on day one, and the second task has a duration of ten days and must finish on day fifteen. These constraints are marked by flags on the tasks. However, there is a finish-to-start link from the first task to the second, which means there will be five days negative float (displayed as ) following a reschedule, as there is not enough time to complete both tasks:
|
|
Before the reschedule |
After the reschedule |
Note that the tasks both become critical following the reschedule.
A task with negative float is said to be super-critical.
You can choose whether or not to display float on your project plans.