VDOT CPM scheduling requirements: the progress-schedule special provisions
The Virginia Department of Transportation publishes its progress-schedule requirement as special provisions that replace a numbered section of the Road and Bridge Specifications, in tiers. The documents read for this page:
- Category III,
SP108-000120-01, 21 March 2022 — the superset, and what this page describes. - Category II,
SP108-000110-01, same date — identical text for everything described below, under different clause numbers. - Category I,
SP108-000100-01— a lighter tier that permits any scheduling software of the Contractor's choosing and states none of the P6 settings. - Design-Build Exhibit 11.1, dated 30 January 2025 on the document itself.
- Project Schedule Category Guidelines, 9 July 2025.
Clause numbers differ between tiers and the difference is not cosmetic. Category III inserts Cost Loading and Resource Loading clauses that Category II does not have, so every clause from (11) onwards sits two lower in Category II. Citing "clause (13)" on a Category II project cites a different clause altogether. Category III numbering is used throughout this page.
What Category III requires
| Requirement | What the Category III provision states | Clause |
|---|---|---|
| Scheduling software | The Baseline Schedule must be prepared using Primavera P6 and submitted in .xer format — and seven named P6 Schedule Options settings must be applied. |
II.2.A(13), II.8 |
| Baseline schedule | Within 60 days of the Contract execution date. A preliminary schedule is due within 15 days of execution, or 7 days before beginning work. | II.2, II.1 |
| Update frequency | Monthly, within 7 days after the estimate date. The Update Schedule's data date is the 4th, 11th or 20th of the month, chosen against the Contractor's estimate date. | II.3.A(8) |
| Narrative | Required with the preliminary schedule, the baseline, each update and each revised baseline. | II.2.B, II.3.B, II.4.B |
| Recovery or revised schedule trigger | No clause named "recovery schedule". The analogue is the Revised Baseline Progress Schedule, with a 7-day resubmittal clock on written notice. | II.4 |
| Time impact analysis | Not stated under that name in Category III. Time extensions route through Section 109.08(a); the provision carries Prospective and Retrospective Schedule Impact Analyses at V.1 and V.2. | Section 109.08(a) |
| Float ownership | Total float is a project property shared among all parties and is not for the exclusive use of any one of them. | II.2.A |
| Activity durations | Limited to 20 work days, unless the Engineer accepts otherwise. | II.2.A(6)(c) |
| Relationship types | Finish-to-start, start-to-start and finish-to-finish only, which prohibits start-to-finish by omission. Lag is prohibited unless the Engineer permits it. | II.2.A(9)(a), (9)(e) |
| Constraints | Limited to milestones the Contract specifies. Start On, Finish On, Mandatory Start and Mandatory Finish are prohibited outright. | II.2.A(10), (10)(c) |
The seven Schedule Options settings
Clause II.2.A(13) is the most distinctive requirement of any agency described on this site. It does not describe a schedule; it prescribes the P6 scheduling settings the file must declare, by name, in the agency's own contract language:
| Setting | What the clause requires | Rule |
|---|---|---|
| Make open-ended activities critical | Unmarked. | II.2.A(13)(a) |
| Use Expected Finish Dates | Unmarked. | II.2.A(13)(b) |
| Level resources during scheduling | Unmarked; resource levelling is not to determine sequence, order or timing. | II.2.A(13)(c) |
| Scheduling progressed activities | Retained Logic. | II.2.A(13)(d) |
| Definition of critical activities | Longest Path. | II.2.A(13)(e) |
| Total float computation | Finish Float — late finish minus early finish. | II.2.A(13)(f) |
| Calendar for relationship lags | Predecessor Activity Calendar. | II.2.A(13)(g) |
Why this matters more than its length suggests: each of these is a declared
fact the exported file carries, not an inference from the network. Six live in
P6's SCHEDOPTIONS record, one field each. The seventh — the definition of
critical activities — is not a SCHEDOPTIONS field at all; P6 stores it on the
project record as the critical path type, which is why a checker looking only at
scheduling options would find nothing to read and abstain on every file in
existence.
The consequence is that these seven checks read what the file declares and touch nothing this project computed. They do not consult its own forward pass, float or critical path, and none of them changes if the engine's arithmetic changes. Marking "make open-ended activities critical", for instance, makes every dangling activity report zero float, and the critical path becomes the set of everything nobody tied down — a schedule with very little logic can then present well. The clause forecloses that before any analysis begins.
The rule that checks the critical-activity definition is deliberately not a comparison between a computed longest path and a computed set of zero-float activities. Two chains tied at zero float make those sets differ on a schedule whose setting is exactly right, so a failure there would be a finding about network topology filed under a clause about a setting.
VDOT's own P6 tooling
VDOT publishes a P6 Schedule Scrubber tool and a guide for using it, along
with a guide to conducting a scheduling conference. The Scrubber's stated
purpose is import hygiene: it rewrites a submitted .xer so that global records
become project records before the file reaches the agency's database, and it
lists its actions under fourteen headings. Thirteen are namespace surgery on the
file. The fourteenth analyses the schedule calculation options — the same seven
settings above. It is worth knowing that a state DOT built and published a P6
conformance utility without anyone asking for one.
Two contradictions in VDOT's own documents
Reported plainly, without commentary, because a reader deciding which tier applies will meet both.
- The Category I threshold. The Category I special provision's own header states a ceiling of $3M. The Project Schedule Category Guidelines table of 9 July 2025 states $5M for the same tier. Both are agency documents and they do not agree. Nothing on this site turns on which is operative; a reader classifying a project has to pick one and should ask VDOT which.
- Two dates on Design-Build Exhibit 11.1. The document itself carries 30 January 2025. The index page that links it is labelled 8/4/2025. The second looks like a posting date rather than a revision date, and the document's own date is the one used here.
What this page does not tell you
- It does not tell you which tier or which clauses govern your project. The tier is a property of the contract, and the incorporated special provisions — with their addenda — are what govern. Category I permits software this page's requirements do not describe, and running Category III expectations against a Category I job would be checking clauses that are not there.
- Roughly two thirds of each provision is submission process — who submits what, to whom, within how many days, under which narrative headings — and none of it is recorded in a schedule file. Silence about those clauses here is not a statement that they were met.
- Some clauses are stated and not decided. The WBS structure, activity codes and the project-level and global code distinction, cost and resource loading, and several project-detail settings are not checked, because the fields they turn on are not carried in this engine's schedule model. A check over an absent field would pass every schedule, which is the least useful result available.
- The provision contradicts itself about actual dates and the data date. One clause says actual dates on or after the data date are prohibited, another says beyond it, and the rejection reason says greater than. This project reports on the strictly-after reading — the one the rejection clause makes operative — and reports an actual date landing exactly on the data date as an observation naming the divergence, rather than as a defect.
- This project computes and reports; it does not decide submissions. Excusability, entitlement, and whether a schedule is adequate are not questions it answers. The reviewing authority determines acceptance.
Related pages
- How state DOT scheduling specifications compare.
- UFGS scheduling requirements — the same declared-method idea stated federally.
- Glossary — retained logic, longest path, total float, lag.
- What the engine does and limitations.
- The conformance rule catalogue and the standards map.
Source: web/pages/vdot-scheduling.md. Source commit date: 2026-09-11.