Open ends
Last reviewed 9 September 20262,173 words10 min read
What they do to the calculation, and the ones that are allowed
๐ฉ In one line An open end is an activity with no predecessor, or no successor, or both. Exactly two activities in any schedule should have one โ the first and the last. Every other open end is a hole in the network, and it produces float and dates that look real and aren't.
๐ค Who this is for Junior planners whose schedule shows 180 days float on things that obviously don't have it. Anyone about to submit a baseline. Reviewers, because this is the first metric you run and it tells you most of what you need to know about how the rest of the file was built.
First, let's be honest about why this page exists
Open ends aren't a subtle problem. P6 lists them in the schedule log every time you press F9. The DCMA check is a simple count. Any reviewer with a filter finds them in thirty seconds.
And yet baselines get submitted with fifty of them, routinely, from experienced planners. Partly because the schedule log is ugly and nobody reads it. Partly because open ends don't look wrong on the bar chart โ the activity sits where you put it, with a bar and a date, and nothing visually says "this isn't connected to anything." Mostly, I think, because people don't quite believe how much damage a single missing link does.
So let's be concrete about the damage, and then about the two open ends you're allowed.
๐จ The standard โ what "good" looks like
An activity with no predecessor has an open start. An activity with no successor has an open finish. Both are "open ends." The network should be closed: every activity connected, by some path, to both the start milestone and the finish milestone.
- DCMA 14-Point, Metric 1 (Logic) โ no more than 5% of incomplete activities may be missing a predecessor or a successor. In practice, client reviewers apply this as "zero, except the two milestones." 5% on a 2,000-activity schedule is 100 open ends, and nobody accepts that.
- GAO Schedule Assessment Guide, Best Practice 2 โ all activities must be logically linked; "dangling" or open-ended activities undermine the calculation of the critical path and float.
- AACE RP 24R-03 (Developing Activity Logic) โ every activity should have at least one FS or SS predecessor controlling its start, and at least one FS or FF successor controlling its finish.
- SCL Protocol, 2nd ed. โ the programme should be "properly logic-linked" as a condition of being useful for delay analysis. An open-ended network can't reliably show the effect of a delay, which is the whole point.
- P6 โ reports open ends in the schedule log under Activities without predecessors and Activities without successors, every time you schedule.
The two that are allowed:
- The start milestone โ Notice to Proceed, Contract Award, Site Handover, whatever begins the job. No predecessor.
- The finish milestone โ Taking Over, Practical Completion, Final Handover. No successor.
Everything else connects to something. Including LOE activities, procurement, submittals, testing, as-builts, demobilisation. Especially the ones that feel "administrative" โ those are the ones most often left hanging.
Some specs also tolerate open ends on Level of Effort activities, since their dates are derived from what they span. That's reasonable, but even then it's better to tie them to the start and finish milestones so a filter for open ends returns exactly two.
How it actually works
To see what an open end does, remember how P6 calculates: forward pass from the data date gives early dates, backward pass from the finish gives late dates, float is the gap.
An activity with no successor has nothing to push against in the backward pass. So its late finish becomes the project finish date โ or the Must Finish By date, if there is one. Its float is therefore however long it is from its early finish to the end of the project. On a three-year job, an activity in month four with no successor shows about 700 days of float.
That float isn't real. The activity almost certainly does feed something โ the missing link just hasn't been drawn. But P6 doesn't know that, so it reports the activity as having enormous slack, and it will never appear on the critical path no matter how late it runs.
Worse: the float is contagious backwards. Every predecessor of that activity that only feeds it also inherits the fake float. One missing successor link on a testing activity can make the whole commissioning chain feeding it look non-critical.
An activity with no predecessor has nothing holding its start. P6 schedules it at the data date (or at the project start, before progress begins). At baseline that might look fine. After the first update, it's still sitting at the data date โ and it'll sit at the data date every month, sliding forward each time, never showing as late because it never had a planned start relative to anything. The activity "chases the data date." It also never appears on the longest path, because the longest path traces backwards through driving relationships and this activity doesn't have one.
Both together โ an activity with neither predecessor nor successor โ is just floating. It's a note on a bar chart. It has no effect on any other date and no date affects it.
Why the bar chart hides all this
Because P6 still gives every activity a start and a finish and draws a bar. The bar for an open-ended activity looks identical to one that's properly linked. The only visual clue is the float column, and only if you're showing it and know what's normal. This is why the schedule log matters more than the Gantt view for network health.
๐ฅ Where people go wrong
1. Not reading the schedule log. It's right there. Tools โ Schedule โ View Log, or tick "Log to file" in the schedule dialog. Two headings, two counts. If either is more than one, keep working.
2. Leaving procurement and submittals unlinked. Someone builds a lovely construction network, then adds a procurement section โ POs, fabrication, delivery โ and links it to nothing. Or links the deliveries to construction but leaves the submittals hanging. Every submittal should feed the PO it enables. Every delivery should feed the installation it enables. The procurement page (procurement-and-long-lead-items) is largely about this.
3. Assuming the finish milestone "collects everything." It doesn't. It only has predecessors you gave it. If testing on Zone C isn't linked to Substantial Completion, testing on Zone C can be six months late and completion won't move. Every terminal chain โ the last activity in each area, each system, each handover โ should feed a completion milestone.
4. Closing open ends by linking everything to the last milestone. The opposite mistake. The DCMA count says 40 open finishes; someone selects all 40 and links them FS to Project Complete. Count goes to zero. Now those 40 activities have float measured against project completion instead of against whatever they actually feed โ which is usually a handover milestone months earlier. The float is still fake, just less obviously so. Close each open end to the thing it really precedes.
5. Forgetting the ones you add mid-project. Variations, recovery activities, re-sequenced work. Added in a hurry, given a predecessor so they start at the right time, no successor. Month after month they show 200 days float. The example on the monthly-update-checklist page is exactly this.
6. Confusing "has a relationship" with "is closed." An activity with only an FF predecessor has a relationship โ it won't appear in P6's open-ends list โ but its start isn't controlled by anything. An activity with only an SS successor likewise has an uncontrolled finish. P6's log won't catch these. The DCMA count won't catch these. They're the subject of the dangling-activities page, and a proper review looks for both.
โ๏ธ When you're challenged
"The schedule log says 23 activities without successors. Do they all matter?" "Two of them are the finish milestones and they're fine. The other 21 are real gaps โ mostly testing and handover activities on Zones B and D that should feed the phased completion milestones. Until they're linked, float on the whole Zone B commissioning chain is meaningless. Give me two hours."
"Why does this activity have 340 days float?" Nine times out of ten: "Because nothing follows it. Open the Successors tab โ empty. It should feed the MEP rough-in on Level 5. Once it does, it'll show about 8 days." Fix it in front of them if you can. It's the fastest way to teach a PM what float actually is.
"Can we leave the LOE activities open? They don't drive anything." "They don't drive anything, but if I leave them open the client's filter returns eleven open ends instead of two and I'll spend the review meeting explaining which ones are LOEs. Easier to tie them to the start and finish milestones and have the filter return exactly two. Five minutes."
"The subcontractor's programme has 60 open ends. Do we import it as is?" "Not into the master. Import it to a separate project, close the open ends with them โ most are just missing links to our handover milestones โ and then bring it across. If we import 60 open ends we'll have 60 chains with fake float in the master, and every one of them will be a conversation with the client."
๐ Related pages
- Dangling Activities โ the open ends P6's log doesn't catch
- Relationship types explained โ why an FF-only predecessor leaves the start uncontrolled
- Total float โ why open ends manufacture fake float
- Procurement and Long-Lead Items โ the section of most schedules with the most open ends
- DCMA 14-point assessment โ Metric 1 in full
- How to review a schedule โ why this is the first check, not the last
- Change Control in a Live Schedule โ closing the ends on activities you add mid-project
โ๏ธ Worked example
Part of a fit-out schedule. 6-day calendar. Data date 1 June. Project Must Finish By 30 November.
Someone has added three activities for a client variation โ a new server room on Level 2 โ and linked them in sequence but not to anything else.
As built into the file:
| ID | Activity | Dur | Predecessors | Successors | Early finish | Total float |
|---|---|---|---|---|---|---|
| V100 | Server room โ partitions | 5 | โ | V110 | 6 Jun | 150 |
| V110 | Server room โ MEP rough-in | 8 | V100 | V120 | 15 Jun | 150 |
| V120 | Server room โ raised floor & finishes | 6 | V110 | โ | 22 Jun | 150 |
Three things wrong at once:
- V100 has no predecessor, so it starts at the data date. If it isn't statused next month, it'll start at next month's data date. It will never be late.
- V120 has no successor, so its late finish is 30 November. 150 days of float.
- The float has propagated back to V100 and V110. All three look completely relaxed.
In reality the server room can't start until the Level 2 slab screed is done (which finishes 12 June), and it must be complete before the Level 2 ceiling closure (which is due to start 5 July) because the ceiling runs over it.
After closing both ends:
| ID | Activity | Dur | Predecessors | Successors | Early finish | Total float |
|---|---|---|---|---|---|---|
| V100 | Server room โ partitions | 5 | L2 screed (FS) | V110 | 18 Jun | 5 |
| V110 | Server room โ MEP rough-in | 8 | V100 | V120 | 27 Jun | 5 |
| V120 | Server room โ raised floor & finishes | 6 | V110 | L2 ceiling closure (FS) | 4 Jul | 5 |
Float drops from 150 to 5. The variation is now near-critical โ which, given it's squeezed between screed and ceiling in a three-week window, is exactly what everyone on site already knew. And if the screed slips a week, the server room and the ceiling closure both go negative, and the schedule will say so, and the notice can go in.
With the open ends in place, none of that would have been visible. The variation would have sat at 150 days float until the ceiling contractor turned up and found a server room half built.
๐ References
- DCMA, 14-Point Schedule Assessment โ Metric 1 (Logic)
- US GAO, Schedule Assessment Guide (GAO-16-89G) โ Best Practice 2
- AACE International, RP 24R-03, Developing Activity Logic
- SCL, Delay and Disruption Protocol, 2nd ed. โ Guidance Part B ยง1 (programme requirements)
- Oracle, P6 Professional User's Guide โ Schedule Log, "Activities without predecessors/successors"
From the field
Experience from working planners. Unreviewed โ read it as experience, not guidance.
Add what you know about open ends. What worked, what the consultant pushed back on, what you would do differently next time. A paragraph is plenty.
Contributors get their name and one link on the site โ your own templates, course or consultancy. We take nothing and hold nothing.
Add your experience