Schedule quality
The DCMA 14-point check, explained for risk analysts
RunMonteCarlo team · 7 min read
The US Defense Contract Management Agency's 14-point assessment has become the lingua franca of schedule quality. Most treatments explain it as schedule QA. This one takes a different angle: which of the fourteen actually change a Monte Carlo answer — because if you're about to simulate a network, that's the question that matters.
The ones that corrupt a simulation directly
- #1 Missing logic (≤5%). An activity with no predecessor or successor floats free of the network. Risk mapped to it goes nowhere; risk that should reach it never arrives. Open ends are the single fastest way to make a P80 meaningless.
- #5 Hard constraints (≤5%). Must-Finish-On and friends pin dates the simulation should be moving. A constrained milestone can sit serenely on its date through ten thousand iterations while the logic behind it screams. Replace with logic, or justify each one.
- #7 Negative float (0). The schedule already forecasts beyond its own commitments before any risk is added. Simulating a network in this state answers a question nobody asked.
- #2 Leads (0). Negative lags compress logic artificially and make risk propagate in ways no one intends. Express the overlap as a real activity instead.
- #9 Invalid dates. Actuals after the data date (or forecasts before it) mean the status is fiction; a simulation of fiction is well-organised fiction.
The ones that distort it quietly
- #3 Lags (≤5%) and #4 relationship types (≥90% FS). Work buried inside lags can't carry uncertainty — a lag never varies in a simulation, though the work it hides certainly would. Heavy SS/FF reliance makes impact propagation harder to reason about and to defend.
- #6 High float (≤5%) . Forty-four days of float is usually not slack, it's missing logic wearing slack's clothes — and missing logic is item #1.
- #8 High duration (≤5%). A 120-day activity ranged at ±20% swallows detail the simulation could otherwise use. Break it down and the tornado gets sharper.
- #12 Critical path test. If the driving path isn't logic-continuous, criticality indices come out fragmented and the driver ranking loses meaning.
The ones that need data your XER may not carry
#10 Resources, #11 missed tasks, #13 CPLI and #14 BEI require resource loading and a baseline. An honest tool says "n/a — no baseline in this file" rather than inventing a pass. (RunMonteCarlo's gate does exactly that; checks that can't be scored don't count against the schedule.)
Gate, then simulate
This is why RunMonteCarlo runs the full 14-point assessment at import and issues a verdict — READY, READY WITH CAVEATS, or NOT RECOMMENDED — before you press Run. The gate is advisory: you can risk a flawed schedule with your eyes open, and the attestation prints in the report so a reviewer sees exactly what the analysis stood on. You can watch the gate catch a deliberately-broken schedule in case study 02.
One boundary worth stating: a readiness gate is not a forensic schedule review. If you need activity-level findings, baseline variance, execution metrics and a fix-by-fix quality report — schedule QA as its own discipline — that's what our sibling product ScheduleInsight does, with the same assessment engine taken to full depth. RunMonteCarlo asks one narrower question: is this network fit to carry risk?
Run one yourself — in your browser, in minutes.
Import a P6 or MS Project file, build the register, press Run. Free tier included; your schedule never leaves your machine.
Launch RunMonteCarlo →