New to this topic?
Read these first to get the most out of this guide:
The DCMA 14-point assessment is a screening test for an integrated master schedule (IMS). The Defense Contract Management Agency published it so analysts could check any contractor schedule the same way. Each check counts something in the schedule file, divides by a base and compares the result to a threshold. A failed check marks where to look. It is not a verdict on its own.
The checks fall into three groups. Checks 1 to 10 test how the network is built. Check 11 and the two indices (CPLI and BEI) test how the program is performing against it. The critical path test checks that the network actually drives the end date.
The 14 checks
| # | Check | What is counted | Threshold |
|---|---|---|---|
| 1 | Logic | Incomplete tasks missing a predecessor or a successor | 5% or less |
| 2 | Leads | Relationships with a negative lag | 0% |
| 3 | Lags | Relationships with a positive lag | 5% or less |
| 4 | Relationship types | Relationships that are finish-to-start | 90% or more |
| 5 | Hard constraints | Incomplete tasks with a hard date constraint (must start on, must finish on, start no later than, finish no later than) | 5% or less |
| 6 | High float | Incomplete tasks with total float over 44 working days | 5% or less |
| 7 | Negative float | Incomplete tasks with total float below zero | 0% |
| 8 | High duration | Incomplete tasks with a baseline duration over 44 working days | 5% or less |
| 9 | Invalid dates | Forecast dates before the status date, or actual dates after it | 0% |
| 10 | Resources | Incomplete tasks with a duration of one day or more and no resources or budget loaded | 0% |
| 11 | Missed tasks | Tasks with a baseline finish on or before the status date that did not finish on or before their baseline finish | 5% or less |
| 12 | Critical path test | Add a large delay (commonly 600 working days) to a task on the critical path and check that the project end moves by the same amount | Pass / fail |
| 13 | CPLI | Critical path length index = (critical path length + total float on the critical path) / critical path length | 0.95 or more |
| 14 | BEI | Baseline execution index = tasks completed / tasks with a baseline finish on or before the status date | 0.95 or more |
The base for the percentage matters. Checks 1, 5, 6, 7, 8 and 10 divide by incomplete tasks. Checks 2, 3 and 4 divide by relationships. Check 11 and BEI divide by tasks whose baseline finish is on or before the status date. Summary tasks, level of effort and milestones are normally excluded from the task counts.
What each check catches
- 1. Logic: A task with an open end does not move when its inputs slip, so the forecast dates downstream of it are wrong.
- 2. Leads: A lead lets a successor start before its predecessor finishes by a fixed amount of time, which hides overlap that should be modelled as its own task.
- 3. Lags: A lag is unworked waiting time with no owner. If the wait is real (cure time, a review cycle) it belongs in a task someone can status.
- 4. Relationship types: Start-to-start and finish-to-finish links are legitimate in places, but a network built mostly on them is hard to follow and easy to break.
- 5. Hard constraints: A hard constraint pins the date regardless of logic, so slips upstream stop showing as slips.
- 6. High float: Large float usually means missing successors: the task is not tied to anything that needs it.
- 7. Negative float: Negative float means the forecast already misses a constraint date. The check is a flag that a recovery plan is needed, not a defect in the network.
- 8. High duration: Long tasks are hard to status and hide progress. Break them into pieces of two months or less, or plan them as planning packages until they are detailed.
- 9. Invalid dates: A forecast in the past or an actual in the future means the schedule was not statused properly.
- 10. Resources: The schedule and the cost baseline have to tie. A task with no resources earns no value and cannot be traced to a control account.
- 11. Missed tasks: Measures how well the team executes to the baseline it agreed.
- 12. Critical path test: If the end date does not move, the critical path is broken somewhere by a constraint, a missing link or a lag.
- 13. CPLI: Below 1.0 the program has to run faster than planned to make its date. Below 0.95 that is unlikely without a recovery plan.
- 14. BEI: Shows whether work is finishing at the rate the baseline planned. A falling BEI usually shows up before SPI does.
Worked example: a sample IMS
A schedule at its monthly status date has 1,200 incomplete tasks (excluding summaries, milestones and level of effort), 2,600 relationships, and 300 tasks with a baseline finish on or before the status date. The critical path is 400 working days long with 10 days of negative float on it. These figures are an illustration, not data from any program.
| Check | Count | Math | Result |
|---|---|---|---|
| 1. Logic | 42 tasks | 42 / 1,200 | 3.5%: pass |
| 2. Leads | 3 relationships | 3 / 2,600 | 0.1%: fail (limit 0%) |
| 3. Lags | 88 relationships | 88 / 2,600 | 3.4%: pass |
| 4. Relationship types | 2,380 finish-to-start | 2,380 / 2,600 | 91.5%: pass |
| 5. Hard constraints | 75 tasks | 75 / 1,200 | 6.3%: fail |
| 6. High float | 130 tasks | 130 / 1,200 | 10.8%: fail |
| 7. Negative float | 12 tasks | 12 / 1,200 | 1.0%: fail (limit 0%) |
| 8. High duration | 50 tasks | 50 / 1,200 | 4.2%: pass |
| 9. Invalid dates | 0 | 0 / 1,200 | 0%: pass |
| 10. Resources | 0 | 0 / 1,200 | 0%: pass |
| 11. Missed tasks | 24 tasks | 24 / 300 | 8.0%: fail |
| 12. Critical path test | End moved 600 days | 600 added, 600 moved | pass |
| 13. CPLI | 400 days, float -10 | (400 - 10) / 400 | 0.975: pass |
| 14. BEI | 282 completed | 282 / 300 | 0.94: fail |
Reading the result
- High float (130 tasks) and hard constraints (75 tasks) together usually mean the same thing: work tied to a date instead of to the work that needs it. Pull the 130 high-float tasks and look for missing successors first. Fixing those often removes the need for many of the constraints.
- Negative float on 12 tasks and a CPLI of 0.975 say the forecast misses the end date by 10 days. The network is sound (the critical path test passed), so this is a performance problem: it needs a recovery plan, not a schedule fix.
- Missed tasks at 8% and BEI at 0.94 confirm it. Work is finishing slower than baselined. Compare with SPI: if SPI is still near 1.0, large tasks are earning value while small ones slip, and the small ones are often on the critical path.
- 3 leads are a quick fix: replace each with an overlap task or a start-to-start link with the overlap modelled explicitly.
CPLI and BEI in more detail
CPLI = (critical path length + critical path total float) / critical path length. At 1.0 the program finishes exactly on its date at the planned pace. At 0.975 the remaining work has to run about 2.5% faster than planned to recover. The index is most useful as a trend month to month: a CPLI that drops each month is a program losing ground on its critical path even if the total float number looks small.
BEI = tasks actually completed / tasks baselined to complete by the status date. Count every completed task, including those finished early, in the numerator. A BEI that falls while SPI holds is the classic early warning that the easy, high-budget work is being done first.
Where the assessment fits in EVMS
The schedule is one half of the performance measurement baseline. EIA-748 guidelines 6 and 7 require a schedule that shows the sequence and interdependencies of the work and the indicators used to measure progress. The 14 checks are a practical test of whether the IMS meets that intent. See the 32 EIA-748 guidelines for the full system.
- Run the checks before an integrated baseline review, not during it. Reviewers will.
- Run them monthly after status, alongside CPI and SPI.
- For each failed check, keep a short written reason: which tasks, why, and whether a fix is planned. A documented constraint is acceptable. An unexplained one is a finding.
- Fix logic at the work package level. The control account manager owns the tasks; see work package planning.
DCMA's later EVMS compliance metrics carry schedule checks of the same kind. The 14 points remain the common shorthand for an IMS health check.
Frequently asked questions
What is the DCMA 14-point schedule assessment?
A set of 14 checks the Defense Contract Management Agency published to screen the health of an integrated master schedule (IMS): network logic, leads, lags, relationship types, hard constraints, high float, negative float, high duration, invalid dates, resources, missed tasks, the critical path test, CPLI and BEI. Each has a threshold. A schedule that fails a check is not automatically wrong, but the failure needs an explanation.
What are the DCMA 14-point thresholds?
Missing logic 5%, leads 0%, lags 5%, finish-to-start relationships at least 90%, hard constraints 5%, high float (over 44 working days) 5%, negative float 0%, high duration (over 44 working days) 5%, invalid dates 0%, unresourced tasks 0%, missed tasks 5%, critical path test pass, CPLI at least 0.95, BEI at least 0.95.
Why 44 working days?
Forty-four working days is roughly two months. Tasks or float longer than that are too coarse to status monthly with any confidence.
Is passing all 14 checks required?
The checks are a screening tool, not a compliance standard on their own. Reviewers use them to decide where to look. A failure with a sound reason (a real contractual constraint, a long procurement lead time) is acceptable when it is documented.
How is BEI different from SPI?
BEI counts tasks: how many finished against how many were planned to finish. SPI is in budget dollars or hours: earned value over planned value. A program can hold SPI near 1.0 by finishing large easy tasks while small critical ones slip, which BEI exposes.