Critical Path

Identifying the critical path is the difference between a level 9–10 project plan and a screenshot of a Gantt chart — it is the one concept the C1-3 interview tests hardest on planning.

Start with a Gantt chart

A Gantt chart shows tasks as horizontal bars on a timeline. The length of each bar = the task's duration. The position of each bar encodes dependencies: a successor task's bar can't start until its predecessor's bar ends. Your GitHub Projects Roadmap View is a Gantt chart — it just doesn't label the critical path for you. See Roadmap View vs Gantt Chart for how they compare.

The critical path — the bottleneck

Think of the critical path as the bottleneck chain: the longest sequence of dependent tasks from the very start of your project to the very end. It sets the minimum possible finish date. If any task on this chain slips by a day, the whole project finishes a day late — there is no buffer anywhere along it.

Finding it by eyeball

Here's a 15-day project with 10 tasks (A–J) and an explicit predecessor table:

Activity Predecessor Duration
A — 2
B — 3
C — 1
D A 2
E B, C 4
F D 1
G D, E 3
H F, G 5
I G 3
J E 2
gantt
    title Project Schedule
    dateFormat YYYY-MM-DD
    axisFormat %d
    tickInterval 1day

    section Tasks
    A :a, 2024-01-01, 2d
    B :b, 2024-01-01, 3d
    C :c, 2024-01-01, 1d
    D :d, after a, 2d
    E :e, after b c, 4d
    F :f, after d, 1d
    G :g, after d e, 3d
    H :h, after f g, 5d
    I :i, after g, 3d
    J :j, after e, 2d

[!info] How to read the axis Each number on the axis is a working day. The project starts at the beginning of day 01 and finishes at the end of day 15. A bar labelled "days 01–03" means the task runs for the whole of days 1, 2, and 3 — a 3-day duration.

Trace the chain where bars touch end-to-end with no gap:

  • B (days 01–03) — 3 days
  • E (days 04–07) — 4 days, starts the instant B finishes
  • G (days 08–10) — 3 days, starts the instant E finishes
  • H (days 11–15) — 5 days, starts the instant G finishes

Critical path: B → E → G → H (total 3 + 4 + 3 + 5 = 15 days).

Why the other tasks aren't on it

These tasks have slack — they can slip without delaying the project end date:

  • A runs days 01–02, and its successor D starts on day 03. No slack between A and D. But D finishes on day 04, while G (D's successor) doesn't start until day 08. So the A → D chain has 3 days of slack.
  • C finishes on day 01, but E doesn't start until day 04. C has 2 days of slack.
  • F finishes on day 05, but H doesn't start until day 11. F has 5 days of slack.
  • I finishes on day 13, but the project ends on day 15. I has 2 days of slack.
  • J finishes on day 09, but the project ends on day 15. J has 6 days of slack — the most of any task.

The rule

Look for the chain where there's zero breathing room between the end of one bar and the start of the next. That's your critical path.

A useful shortcut: the critical path always runs through whichever predecessor finishes last at each merge point.

  • At E's merge, B (ends day 03) finishes after C (ends day 01), so B is on the critical path, not C.
  • At G's merge, E (ends day 07) finishes after D (ends day 04), so E wins.
  • At H's merge, G (ends day 10) finishes after F (ends day 05), so G wins.

Follow the "last to finish" predecessor backwards from the end and you've traced the critical path.

Why it matters at validation

The C1-3 interview rubric requires level 9–10 students to document dependencies and the critical path (C012-Roadmap-vs-Gantt.md). A Roadmap View screenshot with no annotations cannot evidence this — you must add dependency arrows, highlight the critical path, and label slack on non-critical tasks before your interview.

"Trace your critical path" is a Tier 4 interview question. The expected response is to point to your annotated plan and explain: which tasks form the chain, why each dependency exists, what the minimum project duration is, and which tasks have slack. Saying "I think these tasks are the most important ones" is not an answer — the critical path is defined by dependency chains and duration, not importance (C013-Milestones-and-Dependencies.md).

Common mistake: confusing "important tasks" with "critical path tasks." Some important tasks have slack and are not on the critical path. Some critical path tasks are routine — they are critical because of where they sit in the dependency chain, not because they are difficult.

Go deeper — the maths

If you want to calculate critical path the formal way (EST, LST, EFT, LFT, float), watch this:

See also


← Back to VCE Software Development Hub