Dangling Activities

Last reviewed 9 September 20261,498 words7 min read

Relationships on both sides, still nothing holding the start (or finish)

🟩 In one line: A dangling activity has a predecessor and a successor, so it passes the open-ends check β€” but the links are the wrong type: an SS on the way in and nothing controlling the finish, or an FF on the way out and nothing controlling the start. The finish (or start) floats free, the activity can stretch to any length without moving anything, and the critical path skips it.

πŸ‘€ Who this is for: Juniors who ran the open-ends filter and think logic is done; mid-level planners cleaning a file before submission; reviewers who know the count of open ends is not the count of logic problems. You should know open-ends and relationship-types-explained.

e / c
First, let's be honest about why this page exists

P6's Schedule Log counts activities without predecessors or successors. It does not count activities whose finish is tied to nothing. So a file with "0 open ends" can have 200 activities whose durations are irrelevant to the end date β€” and nobody knows until a delay on one of them fails to move completion.

Dangling logic is the most common way a programme with perfect DCMA scores lies about its critical path.

🟨 The standard β€” what "good" looks like
SourceWhat it says (paraphrased)
DCMA 14-Point, Metric 1 (Logic)Counts missing predecessors/successors β€” does not catch dangles; the assessment guidance notes that SS/FF pairs should be checked
GAO Schedule Assessment Guide, Best Practice 2Every activity's start and finish should be logically driven; a finish with no successor controlling it is a logic gap
PMI Practice Standard for Scheduling, 3rd ed.Each activity except the first and last should have a predecessor driving its start and a successor driven by its finish
AACE RP 49R-06Dangling finishes distort the longest path; analyst should test SS/FF chains
Typical Gulf client specificationsOften explicit: "activities shall have at least one FS or SS predecessor and at least one FS or FF successor" β€” some also require every activity to have a finish-driving successor

🟒 Rule to remember: every activity needs something that drives its start (FS or SS in) and something its finish drives (FS or FF out). One link on each side isn't enough if both are the same end.

How it actually works

The two dangles.

TypeLinksWhat's wrongEffect
Dangling finishPredecessor SS; successor SS (or none)Nothing depends on this activity finishingDuration can grow to 500 days; end date doesn't move; activity never critical; delay on it invisible
Dangling startPredecessor FF (or none); successor FF or FSNothing controls when it startsEarly start goes to data date or project start; activity appears to start months early; float is meaningless

Where they come from.

PatternExample
SS chains for overlapping tradesBlockwork SS+5 β†’ Plaster SS+5 β†’ Tiles SS+5 β€” every finish dangles until the last
FF chains for "finish together"Testing FF β†’ Commissioning FF β†’ Handover FF β€” every start dangles
Level-of-effort mimicrySupervision or scaffolding as a Task with SS in and SS out
Lazy conversion from a bar chartLinks drawn to make bars align, not to model work

Finding them in P6. No built-in check. Three options:

MethodHow
FilterActivities layout; add columns Predecessors, Successors, Predecessor Details, Successor Details; filter where Successor Details contains "SS" and does not contain "FS" or "FF" β€” approximate
Schedule Log + Longest PathFilter Longest Path = Yes; if it jumps over a trade that obviously drives completion, look for dangles there
Export TASKPREDPer task_id: count of successor rows with pred_type PR_FS or PR_FF. Zero = dangling finish. Count of predecessor rows PR_FS or PR_SS. Zero = dangling start

Third-party checkers (Fuse-type tools, Schedule Analyzer) report "dangling" or "SS/FF only" directly.

Fixing them.

DangleFix
SS in, SS outAdd an FF to the same successor (SS+lag / FF+lag pair) or an FS to the next real dependent activity
FF in, FF outAdd an SS or FS from the real start driver
Genuine LOE (supervision, hoist, scaffold)Change activity type to Level of Effort β€” then SS/FF is correct and the duration is calculated
Overlapping tradesKeep SS for the overlap; add FF to the successor so the successor can't finish before the predecessor

The SS/FF pair rule. If you use SS for overlap, use FF as well. A wall finishes β†’ tiling can't finish before it. Two links, no dangle.

πŸŸ₯ Where people go wrong
  1. Reading "0 open ends" as "logic complete". It means every activity has a link somewhere. Half of them might be dangling. Run the SS/FF test as well.
  1. Chaining trades with SS only because "that's how it overlaps". Overlap is SS+lag going in and FF+lag going out. One without the other is a dangle.
  1. Fixing a dangling finish by linking it to the project finish milestone. Now it has an FS successor and passes every check β€” but the "logic" is meaningless and the milestone has 400 predecessors. Link to the next real dependent activity.
  1. Using Task Dependent for things that should be LOE. Scaffolding, hoist, site supervision: SS from first activity, FF to last, type = LOE. As a Task with SS/SS it dangles; as LOE it's correct.
  1. Ignoring dangling starts because the dates "look fine". Early start is only fine because the data date holds it. Next month, the data date moves and the activity slides with it β€” out of sequence, no driver.
  1. Not re-checking after every re-sequencing. Recovery planning adds SS links to compress. Every one can create a new dangle. Re-run the test before issuing.
βš–οΈ When you're challenged

"Your open ends are zero, so why is the reviewer saying the logic is incomplete?" "Open ends counts activities with no link. He's counting activities with a start link and no finish link β€” 84 of them, mostly in finishes where we used SS chains. Adding FF pairs fixes it without changing dates."

"Why didn't the completion date move when MEP second fix slipped 3 weeks?" "Because the second-fix activities had only SS successors. Their finish wasn't driving anything. That's a dangle, and it's corrected in this update β€” the path now runs through them and completion shows the slip."

"Just add FF to the finish milestone for all of them." "That gives them a successor but not a real one. The milestone would have 200 predecessors and the critical path would be wrong in a different way. Each one links to what actually follows it."

πŸ“„ Related pages
✏️ Worked example

Finishes floor cycle on a residential tower in Doha, one typical floor, baseline as submitted:

ActivityDurationPredecessorSuccessorDangle?
Blockwork L1012 dSlab L11 FSPlaster L10 SS+4Finish dangles
Plaster L1010 dBlockwork SS+4Tiling SS+4Finish dangles
Tiling L1010 dPlaster SS+4Painting SS+4Finish dangles
Painting L108 dTiling SS+4Snagging L10 FSOK

With this logic, Blockwork could take 60 days and Snagging wouldn't move. Corrected:

ActivityPredecessorsSuccessors
Blockwork L10Slab L11 FSPlaster SS+4 and Plaster FF+2
Plaster L10Blockwork SS+4, FF+2Tiling SS+4 and Tiling FF+2
Tiling L10Plaster SS+4, FF+2Painting SS+4 and Painting FF+2
Painting L10Tiling SS+4, FF+2Snagging FS

Same dates on the day of the fix. Different behaviour the first time blockwork slips: now the slip reaches snagging. Across 24 floors, 72 dangles corrected, zero date change at baseline, and the first update showed a real -6 days that the old logic would have hidden.

πŸ“– References
  • DCMA 14-Point Assessment, Metric 1
  • GAO, Schedule Assessment Guide (GAO-16-89G), Best Practice 2
  • PMI, Practice Standard for Scheduling, 3rd ed.
  • AACE RP 49R-06, Identifying the Critical Path
  • Oracle, P6 Professional User Guide β€” Relationships; Activity Types

From the field

Experience from working planners. Unreviewed β€” read it as experience, not guidance.

Add what you know about dangling activities. 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