Guide

Total float and free float: the difference that matters

Two different kinds of slack, why confusing them causes missed dates, and a worked example where a task has eight days of one and none of the other.

Float is slack: how long a task can slip before it causes a problem. The catch is that there are two different floats measuring two different problems, and a task can have plenty of one and none of the other.

The two definitions

Total float is how long a task can slip without delaying the end of the project. It is the number most tools show, and it is the one that matters for the deadline.

Free float is how long a task can slip without delaying the task immediately after it. It is the number that matters for whether you are about to make a colleague's week worse.

Total float is always greater than or equal to free float. Where they differ, the float is shared: it belongs to a chain of tasks collectively, not to any one of them.

A worked example where they disagree

Take the network from the critical path guide: Requirements feeds both Design and Data mapping; Design feeds Build; Data mapping feeds Migration scripts; Build and Migration scripts both feed Testing.

The migration chain has eight days of total float. But that eight days is not evenly available.

The same eight days, distributed very differently
TaskTotal floatFree floatWhat that means
C. Data mapping8 days0 daysAny slip immediately pushes Migration scripts
E. Migration scripts8 days8 daysCan slip 8 days and affect nothing at all

Both tasks report eight days of total float. Delay Data mapping by one day and the project end date is untouched, so a report reading total float alone says nothing happened. But Migration scripts has just been pushed a day, and the eight days of slack the chain had is now seven.

Migration scripts is the opposite case. It sits at the end of the chain with Testing waiting on Build anyway, so it can absorb the full eight days without anyone noticing.

Why this causes real problems

The failure mode is a team that reads total float as personal slack. Four tasks in a chain each see eight days of total float, each takes a few days of it, and the chain is critical by the third one, with everybody able to point at a report that said they had room.

Shared float goes to whoever spends it first. That is a scheduling fact, and it is worth saying out loud to a delivery team, because the alternative is discovering it after the fact.

Practical rules

  • Use total float to decide what threatens the deadline.
  • Use free float to decide what you can move without a conversation.
  • Treat float on a chain as a shared budget with a named owner, not as an allowance each task gets.
  • Watch anything with one to five days of total float as closely as the zero-float tasks. A near-critical chain becomes the critical path the moment it slips.

That last one is the practical version of the whole idea. The critical path tells you what is already a problem; low float tells you what is about to be.

How this works in Depentra

Depentra reports total float per task as a property on the table. Filter it to zero to list what cannot slip, or to five days or fewer to watch the chains about to become your problem before they do.

Related guides

The critical path method, with a worked example

How to calculate the critical path by hand: the forward pass, the backward pass, and total float, worked through a six-task network.

The four dependency types, and when each one is right

Finish-to-Start, Start-to-Start, Finish-to-Finish, and Start-to-Finish explained, with lead and lag time and when each link type is the honest one.

Put this into practice

Depentra does this arithmetic for you, on your own plan, and shows you what moves when something slips.