← Blog
Practical Guide·27 May 2026·10 min read

How to read a P6 schedule when you're not a planner

You're a PM, a QS, an engineer or a director. Someone has handed you an XER file or a 40-page Gantt PDF and expects you to have an opinion by Thursday. You don't need to become a planner to read a P6 schedule intelligently — you need to know where the schedule keeps its confessions. Here are the seven things to find before you read a single bar.

The trick to reading a P6 schedule is to ignore the bars at first. The bars are the schedule's presentation layer — they're what the planner wants you to look at. The truth lives in a handful of specific places: the data date, the completion milestone's float, the critical path, the constraints, the baseline comparison, and the relationship between progress and remaining work. Find those seven things (the full list is below) and you'll know more about the programme's real position than most people in the room.

None of this requires P6, either. Every check below works on a PDF if the right columns are printed, and all of them work in a free viewer if you've been sent the file itself — if you have an XER and no licence, here's how to open it. What follows assumes only that you can see the Gantt and a few columns.

The seven things to find before reading any bars

1 · The data date

The vertical line that splits the schedule into past and future. Everything to its left is claimed history — what the contractor says has happened. Everything to its right is forecast — what the model calculates will happen, given the logic and the claimed progress. Every other number on the page is meaningless until you know which side of this line it sits on. Find the date itself, too: a "current programme" with a data date three months old is a historical document. And a schedule presented without a visible data date is telling you something — usually that the person presenting it would rather you didn't ask what's claimed versus what's calculated.

2 · The completion milestone and its float

Find the contractual completion milestone and read its total float. That single number is the headline of the entire document: positive means the model says there's margin against the committed date; zero means no margin; negative means the plan, as drawn, misses it. Don't let a confident-looking finish date distract you — the date can be propped up in ways float exposes.

3 · The critical path

The chain of activities driving that completion date — usually shown red. Ask one question of it: does the story it tells match the project you know? If the job's obvious pinch point is procurement of switchgear and the red line runs through landscaping, either you've learned something important or the schedule is broken. And ask which definition of critical the view uses, because P6 has two and they disagree on constrained programmes. The chain is far easier to follow as a time-scaled logic diagram than scattered down the Gantt rows.

4 · Negative float, anywhere

Scan the total float column for minus signs. Negative float is the schedule stating, arithmetically, that some commitment — completion, a section date, an access date — cannot be met as planned. It is not a nuance; it is a delay notification that hasn't been written up yet. If you find it, your next question is which commitment it traces to, and why nobody mentioned it. (A fuller guide to float, including what the negative kind means contractually.)

5 · The constraints

In P6 layouts, constrained dates carry pushpin icons (and an asterisk against the date in most printouts). A constraint overrides logic: the date is decreed, not calculated. A few are legitimate — a permit, a possession, a delivery window. A programme bristling with pins is a different animal: its dates were typed in, not derived, and it cannot tell you the consequence of anything changing. Count the pins; many pins means the document is a drawing of an intention, not a model of a plan.

6 · The baseline bars

The thin ghost bars under the current ones — the plan as originally committed. Two questions: is variance shown at all, and against which baseline? A schedule shown with no baseline has had its history amputated; you can't see drift. A schedule shown against a baseline that's been quietly re-approved three times shows you drift from the latest forgiveness, not from the promise. (Why baseline discipline decides disputes.)

7 · % complete vs remaining duration

The quietest confession on the page. An activity reporting 90% complete with 10 weeks of remaining duration is telling you the percentage is aspiration, not measurement — if nine-tenths of the work were truly done, the last tenth wouldn't need a quarter of a year. Wherever claimed progress and remaining time contradict each other, believe the remaining time: it's what drives every downstream date.

Gantt anatomy: where each of the seven checks lives MarAprMayJunJulAug 1 · data date history ← → forecast Groundworks 6 · ghost bar = baseline dates Steel frame 7 · "90%" — but RD = 10w M&E install 3 · critical bar Lift install 5 · constraint pin Commissioning 4 · TF −15d past the committed date PC milestone 2 · completion milestone — TF −15d Numbers match the seven checks in the article. None of them requires opening P6 — a decent viewer or a well-printed PDF shows all seven.
Fig 1. One stylised Gantt, seven tells: the data date, the completion milestone's float, the critical bar, negative float, a constraint pin, baseline ghost bars, and a progress claim contradicted by its own remaining duration.

Five questions that raise the meeting's IQ

You don't have to out-plan the planner. You have to ask questions whose answers can't be waffled. These five work:

  1. "What moved the critical path since the last update?" A healthy programme has a stable, explicable critical path. A path that jumps between trades each month means logic is being edited, not progress made.
  2. "What's the largest negative float in the file, and what does it trace to?" Either there is none (good), or there's a specific commitment in trouble and now everyone knows it.
  3. "How many activities have no successor?" An open-ended activity can slip forever without moving the end date — the model literally can't feel it. More than a handful and the forecast is structurally incapable of bad news.
  4. "What changed in the logic this period?" Progress updates should change dates, not relationships. Quiet bulk logic edits between updates are how delays get dissolved before reports are printed.
  5. "What does the longest path run through?" If the answer differs from the red bars on the wall, you've just learned the red bars are a float artefact — and so has everyone else in the room.

The columns worth reading — and the ones that aren't

A P6 layout can show ninety columns. Four earn your attention: Total Float (the margin against commitments — and the minus signs), Remaining Duration (the only progress number that drives dates), % Complete (read strictly as a claim, to be checked against RD), and the constraint indicator (the pins). Activity ID conventions, codes, and the various early/late date pairs are planner's plumbing — useful to them, noise to you. One trap worth naming: P6 has several flavours of % complete (duration, physical, units), and they can be wildly different numbers for the same activity. If a report doesn't say which one it's quoting, that's question six.

The "90% complete" confession Work reported done (% complete column) 90% Time still required (remaining duration) 45% 0%50%100% Same activity: 12 weeks spent, "90% done" — yet 10 more weeks of remaining duration (10 of 22 total weeks = 45% of the timeline). The last tenth of the work needs nearly half the time. One of these two numbers is wrong, and it isn't the remaining duration.
Fig 2. Progress claims versus remaining duration for one activity. When the percentage and the remaining time disagree, the remaining time is what actually drives every downstream date.
CheckWhere to find it (P6 / PDF)What bad looks like
1 · Data dateVertical line on the Gantt; date in the title block or schedule reportNot shown; or months older than "current"
2 · Completion floatTF column on the completion milestone rowNegative; or milestone buried/omitted from the printout
3 · Critical pathRed bars; "Critical" filter; longest-path viewRuns through implausible work; changes trade every update
4 · Negative floatSort or scan the TF column for minus signsPresent and unexplained anywhere in the file
5 · ConstraintsPushpin icons; asterisked dates; constraint columnsPins everywhere — dates decreed, not calculated
6 · BaselineGhost bars under current bars; variance columnsNo baseline shown; or compared to a re-approved one
7 · % vs RD% Complete and Remaining Duration columns side by sideHigh % with long RD — progress claimed, time unspent
The quality shortcut. The seven checks tell you what the schedule says. Whether you can trust the file at all — open ends, dangling logic, hidden constraints, broken progress data — is a structural question, and it's mechanical to test: the DCMA 14-point check covers it. Running one takes seconds in a tool built for it (ScheduleInsight does this on any XER or MS Project file, in the browser, with nothing uploaded) — and walking into the meeting knowing the file has 200 open ends changes the conversation considerably.

Key takeaways

Check the file before the meeting

Drop the XER or MS Project file in your browser: data date, float, constraints, baselines and a full structural health check in seconds. Nothing is uploaded — the file never leaves your machine.

← PreviousCritical path vs longest path in P6: why total float lies to you