Inês,
Both P6 and MS Project (MSP) are proprietary software, so "how the software calculates floats" is not public knowledge. MSP uses the term "slack" while P6 uses the term "float." Neither is more correct than the other; both terms have been used in CPM
calculations since the 1960s. Regardless of how the calculations are handled internally, MSP typically presents the normal artifacts of a conventional forward/backward-pass CPM calculation, with total slack being the difference between early and late dates
for each task. The following conclusions are apparent to users.
In well-constructed schedule networks without any progress, total slack in MS Project and total float in P6 will largely agree, with some exceptions and caveats:
- Project doesn't allow a "project must finish by" constraint, which in P6 can lead to a longest/critical path with total float > 0.
- Milestones are handled differently. In P6, mismatched milestone calendars can cause negative float even in the absence of any late constraints. MSP milestones don't have these issues.
- If a task has a mandatory date constraint (ES=LS; EF=LF) that precedes the early dates allowed by the predecessors, then P6 computes total float = 0 according to the classic definition; MSP copies and applies the same negative total slack as the predecessor
chain.
- P6 computes and displays relationship floats. MSP does not.
- In P6, total float is always computed using the activity's assigned calendar. In MSP, the calendar used in the total slack calculation varies according to specific task settings and assigned resources. In rare cases the effective calendar for computing
slack may be different from the one used for computing the early and late dates.
Once progress is introduced, there can be substantial differences:
- Total float in P6 is computed using either finish float (LF-EF) or start float (LS-ES), as globally selected by the user. In MSP, total slack is automatically computed as either start slack or finish slack - depending on various factors - for each
task.
- P6 calculates remaining float. MSP does not.
- In MSP, the late dates and total slack of tasks with incomplete out-of-sequence successors can deviate from P6-based expectations, with high expected values of both positive and negative total float being displaced toward zero. Different versions have
different issues. Out of sequence progress needs to be avoided in MSP especially for this reason.
Good luck, tom