Negative float is the most common DCMA finding I see, and it's almost always one of five things. After fifteen-plus years building schedules for industrial construction projects — and reviewing the ones subcontractors hand us — I can tell you the fix depends entirely on which one you're dealing with. What you should never do is the thing schedulers under deadline pressure are tempted to do, which is edit it until the red goes away.
What Check #7 Actually Measures
The DCMA 14-Point Assessment is a schedule-health framework developed by the Defense Contract Management Agency. It started in federal contracting but it's now the baseline standard most owners and prime contractors apply to commercial construction, energy, and data center work.
Check #7 is binary: no incomplete activity should have total float less than zero. No tolerance, no 5% allowance. One activity with negative total float means the schedule, as built, can't meet its committed completion date. Either the plan changes or the date does.
This isn't a formatting nitpick or a best-practice guideline. It's the scheduling engine telling you the math doesn't work.
Where Negative Float Comes From
Before you can fix it, you have to know where it's coming from. In my experience, it traces back to one of five sources.
- Hard constraints. The number one offender. A Finish On or Before or Mandatory Finish constraint on a milestone forces P6's backward pass to calculate late dates from that constrained date. If the forward pass says you'll finish later than the constraint allows, everything on that path goes negative. Mandatory constraints are worse — they override logic entirely and can hide the problem while still pushing negative float downstream.
- A project Must Finish By date. Set on the Dates tab in project details, this acts like a global hard constraint. If your calculated finish drifts past it, your whole critical path turns negative. I've inherited plenty of P6 files where a previous scheduler populated this field and nobody remembered it was there.
- Slipped progress against a contractual finish. The schedule was clean at baseline. Actuals came in late, statusing pushed the forecast out, and now the remaining work can't fit between the data date and the contract date. This is the honest version of negative float — the network is accurately telling you the project is behind.
- Logic problems. Missing predecessors or successors, excessive lags, and out-of-sequence progress (pay attention to your Retained Logic vs. Progress Override setting) can produce date calculations that drive paths negative in ways that don't reflect how the work will actually be sequenced in the field.
- Calendar mismatches. A 5-day calendar activity feeding a 7-day calendar successor, or inconsistent holiday assignments across calendars, can create float anomalies that look mysterious until you check the calendar setup.
How to Find It
You don't need to build a filter. In P6, open Group and Sort, clear everything from the Group By section so it's completely blank, then click Sort. Sort by Total Float ascending, add a second sort level on Start. Hit OK.
The layout now reads the schedule the way the math reads it — lowest float at the top, each driving path laid out in the sequence the work occurs. This is the fastest way I know to see negative float in context, because you're looking at the actual driving path instead of activities scattered across a WBS structure that was designed for reporting, not for tracing logic.
From there, use Trace Logic to walk the relationships, or turn on Multiple Float Paths under Tools → Schedule → Options → Advanced if you want P6 to isolate the near-critical paths for you. Pay attention to the most negative value first. If your worst activity shows -23 days, that's the real schedule problem. Everything else on that path is a symptom.
This is also where automation pays off. Manually filtering, tracing, and documenting negative float across a multi-project portfolio gets tedious fast. I run my DCMA testing through ArgusForge, which executes the full 14-point assessment against a P6 export in seconds and flags exactly which activities fail Check #7 and how negative they are. However you do it — automated or by hand — don't eyeball it. Negative float hides in corners of the WBS you're not looking at.
How to Fix It
Work through these steps in order.
- Step 1 — Audit and remove unjustified constraints.Pull a list of every constraint in the schedule. A Check #10 review pairs naturally here, since that check caps hard constraints at 5% of incomplete tasks. For each constraint, ask whether it's contractually required or whether someone added it to force a date. Replace wish dates with logic. If a milestone genuinely is contractual, keep the constraint and accept that the negative float is telling you something real about performance.
- Step 2 — Check the Must Finish By date.If it's populated and doesn't reflect a contractual obligation, clear it and let the network calculate. If it is contractual, leave it and move to Step 4.
- Step 3 — Repair the logic.Fix missing predecessors and successors. Eliminate or justify long lags. Resolve out-of-sequence activities. Reschedule and see how much negative float clears on its own. A meaningful share of "negative float" findings are really logic problems once you dig in.
- Step 4 — If the negative float is real, recover the schedule.When the constraints are legitimate and the logic is sound, negative float means you can't make the date with the current plan. Now you're into schedule recovery: resequence work to run activities in parallel where the field can support it, crash durations on the driving path with added crews or shifts, review calendars for additional workdays, or split activities so successors can start on partial completion. Every one of these moves carries cost or risk. Your job is to present the options with their tradeoffs, not to make red bars disappear with cosmetic edits.
- Step 5 — If recovery can't close the gap, escalate.Sometimes the honest answer is that the date needs to move, and that becomes a contractual conversation rather than a scheduling one. A schedule with negative float hidden behind deleted logic or shortened durations is worse than one that tells the truth. Owners and reviewers can spot a gamed schedule. What they respect is a credible one with a documented recovery plan.
ARGUSFORGERun all 14 DCMA checks in seconds
Drop a .xer export onto ArgusForge and it runs the full 14-Point Assessment — flagging exactly which activities fail Check #7 and how negative they are — plus schedule-quality, manpower, cost, trend, and Monte Carlo risk. 100% offline. Your schedule data never leaves your machine.
See ArgusForgeMake It Routine
The schedulers who never get blindsided by DCMA findings are the ones who run the assessment every update cycle, not just when a client demands it. Negative float caught at one activity and three days is an afternoon fix. Caught at forty activities and three weeks, it's a claims meeting.
Run the 14-point check on every schedule before it leaves your desk — bid schedules, baselines, monthly updates. ArgusForge turns that into a two-minute step instead of a half-day exercise, which means it actually gets done.
The schedules that get projects in trouble aren't the ones showing -15 days of float. They're the ones that were edited until the red went away.