Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Project Management & Agile  Module 4 – Scheduling: networks, critical path and Gantt charts

The critical path method, step by step

Compute early and late dates with the forward and backward passes, find each activity's float and the critical path, and check that the path is valid.

  • Intermediate
  • 10 minutes
  • Examples run with Python 3.14.8
  • By MySmartCoPilot
Free lesson, Pro answers: 10 minutes
Free: the whole lesson. With a pass: the model answers to its 2 interview questions.

What you will learn

  • Compute early and late start and finish dates with the forward and backward passes
  • Calculate total float and free float and identify the critical path
  • Explain why the critical path can move and why near-critical paths matter
  • Check a critical path against GAO's validity criteria and interpret negative float

Before you start

What you’ll learn · Before you start

What you will learn

  • Compute early and late start and finish dates with the forward and backward passes
  • Calculate total float and free float and identify the critical path
  • Explain why the critical path can move and why near-critical paths matter
  • Check a critical path against GAO's validity criteria and interpret negative float

Before you start

On this page

The tech fest’s 14 activities take 76 working days if they are done one after another, yet the fest can be over in 38, because most of them run side by side. Which activities decide those 38 days, and how long may each of the others slip before the date moves? Two passes over the network answer both questions exactly.

You will run the forward and backward passes by hand and check them against a program, compute total and free float, find the critical path and watch it move when one activity grows, and test the path against GAO’s criteria for a valid one.

The forward pass gives every activity its earliest start and finish

The forward pass: The walk through a schedule network from start to finish that gives each activity its early start and early finish; at a merge it takes the latest predecessor. walks the network from the start to the finish. Each activity starts as soon as its links allow, its early start (ES), and finishes its duration later, its early finish (EF). With a finish-to-start link, the successor’s ES is the predecessor’s EF. With several predecessors, an activity waits for the latest of them, which is the step that most hand calculations get wrong.

Days are counted from the start: ES 3 means the activity starts once 3 working days have passed. A, authorise plan and budget, has ES 0 and EF 3. C and E both wait for A, so both have ES 3. The two other link types follow their own ends: I starts 2 days after H starts (ES 11 + 2 = 13), and M’s finish link with I only asks that M finish after day 23. Step through the pass on nine of the fest’s activities; the second half of the figure is the backward pass of the next section:

Interactive · step by step The two passes over nine of the fest's activities Step through the forward pass, then the backward pass. Each box gains its early dates, then its late ones.
The two passes over nine of the fest's activities, step 12 of 12. Showing A · Authorise plan (ES 0 EF 3 · LS 0 LF 3), C · Sponsor packages (ES 3 EF 8 · LS 3 LF 8), E · Design contest (ES 3 EF 11 · LS 14 LF 22), D · Sign sponsors (ES 8 EF 18 · LS 8 LF 18), H · Registration form (ES 11 EF 15 · LS 22 LF 26), F · Robotics arena (ES 18 EF 30 · LS 18 LF 30), I · Publicity (ES 13 EF 23 · LS 24 LF 34), L · Stage set-up (ES 30 EF 32 · LS 30 LF 32), M · Hold the fest (ES 32 EF 34 · LS 32 LF 34). In focus: A · Authorise plan.SS +2FFA · Authorise planES 0 EF 3 · LS 0 LF 3C · Sponsor packagesES 3 EF 8 · LS 3 LF 8E · Design contestES 3 EF 11 · LS 14 LF 22D · Sign sponsorsES 8 EF 18 · LS 8 LF 18H · Registration formES 11 EF 15 · LS 22 LF 26F · Robotics arenaES 18 EF 30 · LS 18 LF 30I · PublicityES 13 EF 23 · LS 24 LF 34L · Stage set-upES 30 EF 32 · LS 30 LF 32M · Hold the festES 32 EF 34 · LS 32 LF 34

The drawing shows the whole scene; its 12 steps are listed below.

Every step as text
  1. Forward pass, A first. The forward pass starts at the beginning. A has nothing before it except the start, so its early start is 0 and its early finish is 0 + 3 = 3.
  2. C and E follow A. C and E both wait for A to finish, so both start early at 3. C, 5 days, finishes at 8; E, 8 days, finishes at 11.
  3. D, then H. D waits for C and runs from 8 to 18. H waits for E and runs from 11 to 15.
  4. A start link with a lag. I may start 2 days after H starts, so its early start is 11 + 2 = 13, and with 10 days it finishes at 23. F waits for D and runs from 18 to 30.
  5. L takes the later finish. L waits for F, done at 30, and for K, done at 10. An activity starts after the latest of its predecessors, so L runs from 30 to 32.
  6. M, where four links meet. L allows M to start at 32, H at 15 and J, not drawn here, at 14, while the finish link with I only needs M to finish after 23. The latest wins, so M runs from 32 to 34, and N brings the finish to 38.
  7. Backward pass, from the end. The backward pass starts at the finish, 38, and runs back. N must be done by 38, so M's late finish is 34 and its late start 34 − 2 = 32, the same as its early start.
  8. L, F, D and C have no slack. Each of these must finish when its successor must start, which is also when it finishes early. Their late dates equal their early dates, so their total float is 0.
  9. I may finish as late as M. The finish link says I must be done by M's late finish, 34, so its late start is 24. Its early start was 13, which gives it 11 days of total float.
  10. H has two successors. I must start by 24, so H must start by 24 − 2 = 22. M must start by 32, so H must finish by 32, which is later. The earlier limit wins, LS 22, and H also has 11 days of float.
  11. E shares the same float. E must finish when H must start, 22, so its late start is 14 and its float 11. E, H and I form a chain that can slip 11 days together without moving the finish.
  12. A must not slip at all. C must start by 3 and E by 14, so A must finish by 3, the earlier of the two. Its late start is 0, the same as its early start, and the chain A, C, D, F, L, M is the critical path.

At M four links meet. L allows a start at day 32, H at 15, J at 14 and the finish link with I at 21, so M starts at 32, the latest, and finishes at 34. The fest’s finish milestone comes after N’s 4 days, at 38. GAO’s schedule guide describes the same calculation as the software’s: the forward pass adds durations to early starts, and the backward pass subtracts them from late finishes.

Taking the earliest predecessor at a merge

Wrong: starting L at day 10, when K is done. Right: L starts at day 30, after F, the later of its two predecessors. At every merge, the successor waits for the latest predecessor it is linked to.

The backward pass and float say how late each activity may run

The backward pass: The walk back from the finish that gives each activity its late finish and late start, the latest dates that keep the finish where it is. starts from the finish, day 38, and walks back. Each activity’s late finish (LF) is the latest it may finish without moving the finish, and its late start (LS) is LF minus its duration. With several successors, an activity takes the earliest limit any of them sets. The difference between the late and the early dates is its total float: How many days an activity can slip before the project's finish moves: its late start minus its early start., the days it can slip before the finish moves. The program below runs both passes over all 16 rows of the network:

Both passes over the fest, float and the critical path Python · cpm.py
"""Forward and backward passes over the tech fest network, with total and free float and the critical path.

Durations are working days. ES and EF are the early start and finish, LS and LF the late ones, all counted in days
from the start: an activity with ES 3 and EF 8 starts after 3 working days and is done after 8. Links: FS
(finish-to-start), SS (start-to-start) and FF (finish-to-finish), with a lag in days. Total float is LS - ES, the
slip an activity can take before the finish moves; free float is the slip it can take before any successor moves
(both as GAO's Schedule Assessment Guide, GAO-16-89G, defines them).
"""

FEST = {
    "S": ("Milestone: start", 0, []),
    "A": ("Authorise plan and budget", 3, [("S", "FS", 0)]),
    "B": ("Book the auditorium", 2, [("A", "FS", 0)]),
    "C": ("Prepare sponsor packages", 5, [("A", "FS", 0)]),
    "D": ("Sign sponsors", 10, [("C", "FS", 0)]),
    "E": ("Design the coding contest", 8, [("A", "FS", 0)]),
    "F": ("Build the robotics arena", 12, [("D", "FS", 0)]),
    "G": ("Line up speakers", 6, [("B", "FS", 0)]),
    "H": ("Build the registration form", 4, [("E", "FS", 0)]),
    "I": ("Run the publicity campaign", 10, [("H", "SS", 2)]),
    "J": ("Print posters", 3, [("G", "FS", 0)]),
    "K": ("Plan crowd control and first aid", 5, [("B", "FS", 0)]),
    "L": ("Set up sound, lights and stage", 2, [("F", "FS", 0), ("K", "FS", 0)]),
    "M": ("Hold the fest", 2, [("L", "FS", 0), ("H", "FS", 0), ("J", "FS", 0), ("I", "FF", 0)]),
    "N": ("Close the accounts and report", 4, [("M", "FS", 0)]),
    "Z": ("Milestone: finish", 0, [("N", "FS", 0)]),
}


def passes(net, finish_by=None):
    """Returns ES, EF, LS, LF, total float and free float. finish_by: {activity: latest finish day}, a constraint."""
    order = list(net)  # the dict is written in an order where every predecessor comes first
    dur = {a: net[a][1] for a in net}
    es, ef = {}, {}
    for a in order:
        start = 0
        for p, kind, lag in net[a][2]:
            if kind == "FS":
                start = max(start, ef[p] + lag)
            elif kind == "SS":
                start = max(start, es[p] + lag)
            elif kind == "FF":
                start = max(start, ef[p] + lag - dur[a])
        es[a], ef[a] = start, start + dur[a]
    end = max(ef.values())
    succs = {a: [(s, kind, lag) for s in net for p, kind, lag in net[s][2] if p == a] for a in net}
    ls, lf = {}, {}
    for a in reversed(order):
        finish = end
        for s, kind, lag in succs[a]:
            if kind == "FS":
                finish = min(finish, ls[s] - lag)
            elif kind == "SS":
                finish = min(finish, ls[s] - lag + dur[a])
            elif kind == "FF":
                finish = min(finish, lf[s] - lag)
        if finish_by and a in finish_by:
            finish = min(finish, finish_by[a])
        lf[a], ls[a] = finish, finish - dur[a]
    total = {a: ls[a] - es[a] for a in net}
    free = {}
    for a in net:
        slack = [end - ef[a]] if not succs[a] else []
        for s, kind, lag in succs[a]:
            if kind == "FS":
                slack.append(es[s] - lag - ef[a])
            elif kind == "SS":
                slack.append(es[s] - lag - es[a])
            elif kind == "FF":
                slack.append(ef[s] - lag - ef[a])
        free[a] = min(slack)
    return es, ef, ls, lf, total, free, end


def critical(net, total):
    low = min(total.values())
    return [a for a in net if total[a] == low]


def valid(net, path):
    """GAO best practice 6, the checks a program can make: one continuous chain of logic from start to finish,
    no lags or leads on it, no milestone carrying a duration."""
    problems = []
    on = set(path)
    for a in path[1:]:
        if not any(p in on for p, _, _ in net[a][2]):
            problems.append(f"{a} has no critical predecessor: the path is broken")
        for p, _, lag in net[a][2]:
            if p in on and lag:
                problems.append(f"the link {p} -> {a} carries a lag of {lag}")
    return problems or ["valid: continuous from start to finish, no lags or leads, driven by logic alone"]


es, ef, ls, lf, total, free, end = passes(FEST)
print(f"{'Id':<3}{'Activity':<34}{'Days':>4}{'ES':>4}{'EF':>4}{'LS':>4}{'LF':>4}{'Total':>7}{'Free':>6}")
for a, (name, days, _) in FEST.items():
    print(f"{a:<3}{name:<34}{days:>4}{es[a]:>4}{ef[a]:>4}{ls[a]:>4}{lf[a]:>4}{total[a]:>7}{free[a]:>6}")
path = critical(FEST, total)
print(f"Critical path: {' '.join(path)}, {end} working days")
print("Check:", "; ".join(valid(FEST, path)))
near = sorted((t, a) for a, t in total.items() if 0 < t <= 15)
print("Near-critical (total float 1 to 15 days):", ", ".join(f"{a} {t}" for t, a in near))

for days in (19, 20):
    slow = dict(FEST)
    slow["E"] = ("Design the coding contest", days, FEST["E"][2])
    *_, total2, _, end2 = passes(slow)
    print(f"If E takes {days} days instead of 8: finish after {end2} days, critical path {' '.join(critical(slow, total2))}")

es3, ef3, ls3, lf3, total3, free3, end3 = passes(FEST, finish_by={"M": 32})
late = [f"{a} {total3[a]}" for a in FEST if total3[a] < 0]
print(f"If the fest must be over by day 32: total float {', '.join(late)}")

Output

Id Activity                          Days  ES  EF  LS  LF  Total  Free
S  Milestone: start                     0   0   0   0   0      0     0
A  Authorise plan and budget            3   0   3   0   3      0     0
B  Book the auditorium                  2   3   5  21  23     18     0
C  Prepare sponsor packages             5   3   8   3   8      0     0
D  Sign sponsors                       10   8  18   8  18      0     0
E  Design the coding contest            8   3  11  14  22     11     0
F  Build the robotics arena            12  18  30  18  30      0     0
G  Line up speakers                     6   5  11  23  29     18     0
H  Build the registration form          4  11  15  22  26     11     0
I  Run the publicity campaign          10  13  23  24  34     11    11
J  Print posters                        3  11  14  29  32     18    18
K  Plan crowd control and first aid     5   5  10  25  30     20    20
L  Set up sound, lights and stage       2  30  32  30  32      0     0
M  Hold the fest                        2  32  34  32  34      0     0
N  Close the accounts and report        4  34  38  34  38      0     0
Z  Milestone: finish                    0  38  38  38  38      0     0
Critical path: S A C D F L M N Z, 38 working days
Check: valid: continuous from start to finish, no lags or leads, driven by logic alone
Near-critical (total float 1 to 15 days): E 11, H 11, I 11
If E takes 19 days instead of 8: finish after 38 days, critical path S A C D E F H I L M N Z
If E takes 20 days instead of 8: finish after 39 days, critical path S A E H I M N Z
If the fest must be over by day 32: total float S -2, A -2, C -2, D -2, F -2, L -2, M -2

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 cpm.py

Read the table one row at a time. K, crowd control and first aid, has ES 5 and LS 25: it may start up to 20 days late. B, the auditorium booking, has 18 days of total float but 0 days of free float: How many days an activity can slip before the early start of any of its successors moves; never more than its total float., the slip it can take before any successor moves. Any delay to B delays G and K at once, although the finish has room. That difference matters to the people who own G and K, and it is why GAO’s guide defines both.

Activity Total float Free float What a 5-day slip does
K · crowd plan 20 20 nothing at all
J · posters 18 18 nothing at all
B · auditorium 18 0 G and K start 5 days later; the finish holds
E · coding contest 11 0 H and I start later; the finish holds
D · sign sponsors 0 0 the fest finishes 5 days later

Checkpoint

Check: The forward pass · Total and free float

  1. Question 1 of 2 In the fest, L waits for F (early finish 30) and for K (early finish 10), both finish-to-start. What is L's early start?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: Day 30

    At a merge, the forward pass takes the largest early finish of the predecessors: L starts at day 30 and finishes at 32.

  2. Question 2 of 2 G, line up speakers, has 18 days of total float and 0 of free float. G takes 4 days longer than planned. What happens?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: J, print posters, starts 4 days later, and the fest's finish does not move

    Free float protects the successors and total float protects the finish. G's slip moves J's start from day 11 to 15, while the finish stays at 38.

The critical path is the chain with no float, and it moves

The activities with the lowest total float, here 0, form the critical path: The continuous chain of activities with the lowest total float, which sets the earliest date the project can finish.: S, A, C, D, F, L, M, N and Z, 38 working days. GAO’s guide defines it as the longest continuous sequence of activities, the one that sets the earliest finish, so every day lost on it is a day lost at the end unless something is done about it. The guide adds that “critical” has this exact meaning: an important activity is not necessarily critical, and a dull one, such as setting up the stage, can be.

The path is not fixed. E, H and I share 11 days of total float, so they are a near-critical path: A chain of activities with a little total float, which becomes the critical path if it slips by more than that float.. The program’s last lines show what a slip on it does:

E, design the coding contest Fest finishes after Critical path
8 days, as planned 38 days S, A, C, D, F, L, M, N, Z
19 days, 11 more 38 days both chains, tied
20 days, 12 more 39 days S, A, E, H, I, M, N, Z

A slip of exactly the chain’s float leaves the finish alone but makes two critical paths. One day more and the events chain sets the finish, while the sponsor chain, which everyone was watching, now has 1 day of float.

Key idea

The critical path is wherever the float is lowest today, so track the near-critical chains too: one slip larger than their float makes them the path that sets the finish.

A valid critical path is driven by logic alone

A path can be the longest and still be wrong. GAO’s checklist for its sixth best practice asks that the critical path run continuously from the status date to the finish milestone, carry no lags or leads, include no level-of-effort or summary activities, and not be made critical by constraints on unimportant activities. The program’s check finds the fest’s path continuous, with no lag on any of its links.

Constraints are the usual trouble. Suppose the college insists that the fest be over by day 32. The last line of the output shows the effect of that constraint: S, A, C, D, F, L and M now have a total float of −2. negative float: Total float below zero, which appears when a required date is earlier than the network allows; its size is the number of days to recover. means the plan already misses the constraint by that many days. It is a warning, not an error: either the work changes, by a shorter path or more people on it, or the date does. With such constraints in a schedule, GAO’s guide asks for the longest path to be shown beside the lowest-float one, because the two can differ.

Exam answers: show the table, then the path

University, NPTEL and certification questions on CPM reward the same layout: a table of ES, EF, LS, LF and float for every activity, then the critical path and its length in one sentence. NPTEL’s Project Management for Managers course from IIT Roorkee gives a week each to PERT and CPM, to probability in networks and to crashing.

Checkpoint

Check: The critical path and near-critical paths · A valid path and negative float

  1. Question 1 of 2 The robotics arena, F, is finished in 9 days instead of 12. Every other duration stays the same. After how many working days does the fest's finish milestone come now?

    Type a number.

    A hint

    F is on the critical path; check that the events chain, with 11 days of float, still finishes in time.

    Show the answer: Question 1 of 2

    Answer: 35 days

    F now runs from 18 to 27, L from 27 to 29, M from 29 to 31 and N from 31 to 35. The events chain needs M to finish after day 23 at the earliest, so it does not take over, and its float falls from 11 to 8 days.

  2. Question 2 of 2 With the constraint "over by day 32", M shows a total float of −2. What does that say?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: The plan as it stands misses the constraint by 2 days, so the work or the date must change

    The fest can be over at day 34 at the earliest, and the constraint says 32. The 2 days must come from a shorter path, more resources on it, or a different date.

Practise: passes, float and the path

The questions bring new networks to work through as well as the fest. Do the passes on paper first, then choose or type your answer:

Practice that adapts to you

Practise this lesson

12 questions about 4 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.

  1. Question 1 of 12 An activity has two finish-to-start predecessors with early finishes of day 7 and day 10. What is its early start?

    Type a number.

    Show the answer: Question 1 of 12

    Answer: 10 days

    It waits for the later of the two, so its early start is day 10.

  2. Question 2 of 12 P takes 4 days. Q (6 days) and R (3 days) follow P. W (5 days) follows Q and R. T (2 days) follows R. U (4 days) follows W and T. All links are finish-to-start. How many working days does the project take?

    Type a number.

    A hint

    Do the forward pass and remember the merges at W and U.

    Show the answer: Question 2 of 12

    Answer: 19 days

    P 0 to 4; Q 4 to 10; R 4 to 7; W starts after the later of Q and R, 10, and ends at 15; T 7 to 9; U starts after the later of W and T, 15, and ends at 19.

  3. Question 3 of 12 X has an early start of day 6. Y may start 3 days after X starts (SS +3) and only after W finishes, at day 8 (FS). What is Y's early start?

    Type a number.

    Show the answer: Question 3 of 12

    Answer: 9 days

    The SS link allows day 6 + 3 = 9 and the FS link day 8. Y takes the later, day 9.

  4. Question 4 of 12 What is total float?

    Choose one answer.

    Show the answer: Question 4 of 12

    Answer: The time an activity can slip before the project's finish moves

    GAO's guide defines total float as the time an activity can slip before its delay affects the end date; free float is the slip before any successor is affected.

  5. Question 5 of 12 In the P, Q, R, W, T, U network (finish at day 19), what is the total float of R?

    Type a number.

    A hint

    R's latest finish is set by the earlier of its successors' late starts.

    Show the answer: Question 5 of 12

    Answer: 3 days

    Backward pass: W must start by 10 and T by 13, so R must finish by 10. R's late start is 7 and its early start 4, so its total float is 3 days.

  6. Question 6 of 12 In the same network, R has 3 days of total float but 0 days of free float. Why?

    Choose one answer.

    Show the answer: Question 6 of 12

    Answer: T starts the moment R finishes, so any slip of R moves T at once, although the finish has room

    Free float looks only at the successors' early starts. T needs R's finish at day 7, so R has no free float, while its total float of 3 comes from the backward pass through W.

  7. Question 7 of 12 Which is the critical path of the P, Q, R, W, T, U network?

    Choose one answer.

    Show the answer: Question 7 of 12

    Answer: P, Q, W, U, 19 days

    The critical path is the continuous chain with zero float, the longest one: P, Q, W, U.

  8. Question 8 of 12 A sponsor says the security audit is "the most critical activity" of a project. In CPM terms, when is that true?

    Choose one answer.

    Show the answer: Question 8 of 12

    Answer: Only if it is on the chain with the lowest float, the one that sets the finish

    Critical means on the path that sets the finish date. Importance and risk are good reasons to watch an activity, but they are different questions.

  9. Question 9 of 12 In the P, Q, R, W, T, U network, T has 6 days of total float. If T takes 7 days longer, 9 days instead of 2, when does the project finish?

    Type a number.

    Show the answer: Question 9 of 12

    Answer: 20 days

    T now runs from 7 to 16, so U starts at 16 instead of 15 and finishes at 20: one day later, since the slip was one day more than T's float. The critical path is now P, R, T, U.

  10. Question 10 of 12 What does negative total float on an activity mean?

    Choose one answer.

    Show the answer: Question 10 of 12

    Answer: Its latest allowed dates are earlier than its earliest possible ones, so a date will be missed unless something changes

    Negative float appears when a constraint date is earlier than the network allows; its size is the number of days to recover.

  11. Question 11 of 12 The P, Q, R, W, T, U project (19 days) must be finished by day 17. What total float do the critical activities show now?

    Type a number.

    Show the answer: Question 11 of 12

    Answer: -2 days

    The latest allowed finish is 17 and the earliest possible is 19, so P, Q, W and U show 17 − 19 = −2 days.

  12. Question 12 of 12 A schedule's critical path includes a 25-day lag between "order servers" and "install servers". What does GAO's checklist for a valid path say?

    Choose one answer.

    Show the answer: Question 12 of 12

    Answer: A valid critical path has no lags or leads, so the wait should become an activity, such as delivery, with an owner

    GAO's checklist asks for a critical path that is continuous, carries no lags or leads and is driven by logic. Delivery is work by an outside party, so it becomes an activity that can be tracked.

Interview questions

Warm-up (fresher to 2–5 years): total float and free float are both slack, so how do they differ?

Total float is how long an activity can slip before the project’s finish moves; free float is how long it can slip before any successor’s early start moves. Free float is never larger than total float. In the tech fest, booking the auditorium has 18 days of total float but 0 of free float: any delay reaches the next two activities at once, although the finish has room. Total float tells the project manager which delays threaten the end date; free float tells the owners of the next activities whether a delay reaches them.

Two harder questions follow, about a manager who wants every activity marked critical and about a schedule full of negative float. Decide what you would check first, then open each first step:

Model answers open with any pass: ₹79 for 1 week ($2.99), one payment that never renews.

  1. Mid to senior

    A programme director asks you to mark every activity of a 120-activity schedule as critical, "so that nobody relaxes". How do you respond, and what do you offer instead?

    Model answer, Pro. Model answers open with any pass; prices are in the notice on this page. First step and follow-ups

  2. Mid to senior

    After a contract milestone is entered as a "finish no later than" date, 40 activities in your schedule show negative float, from −3 to −15 days. Your sponsor asks whether the project is 15 days late. What do you tell them?

    Model answer, Pro. First step and follow-ups

Flashcards · 4 cards

Recall it, then check

Say the answer to yourself before you look: recalling it is what makes it stick.

  1. What does the forward pass compute, and what rule applies at a merge?

    Each activity's early start (ES) and early finish (EF = ES + duration), walking from the start to the finish. At a merge of several predecessors, the successor's ES is the LATEST predecessor's EF, the step most hand calculations get wrong.

  2. What does the backward pass give, and how are total and free float defined?

    Each activity's late finish (LF) and late start (LS = LF - duration), walking back from the finish. Total float = LS − ES: slip before the finish moves. Free float: slip before any successor's early start moves. Free float is never larger than total float.

  3. What is the critical path, and does it stay fixed?

    The longest continuous chain of activities and the one that sets the earliest finish; its activities have the lowest total float (often zero). GAO: "critical" means on this path. It is not fixed: a near-critical chain slipping by more than its float becomes the critical path.

  4. What makes a critical path valid (GAO 6th best practice)?

    It runs continuously from the status date to the finish milestone, carries no lags or leads, includes no level-of-effort or summary activities, and is not made critical by constraints on unimportant work. Negative float means the plan already misses a constraint date.

Key takeaways

  • The forward pass gives each activity its early start and finish, taking the latest predecessor at every merge, and sets the earliest finish of the project.
  • The backward pass gives the late dates from the finish back; total float is late start minus early start, and free float is the slip before any successor moves.
  • The critical path is the continuous chain with the lowest float, and it moves when a near-critical chain slips by more than its float.
  • A valid critical path is driven by logic, with no lags, leads or level-of-effort work on it, and negative float means a constraint date is already missed.

Terms in this lesson

backward pass
The walk back from the finish that gives each activity its late finish and late start, the latest dates that keep the finish where it is.
critical path
The continuous chain of activities with the lowest total float, which sets the earliest date the project can finish.
forward pass
The walk through a schedule network from start to finish that gives each activity its early start and early finish; at a merge it takes the latest predecessor.
free float
How many days an activity can slip before the early start of any of its successors moves; never more than its total float.
near-critical path
A chain of activities with a little total float, which becomes the critical path if it slips by more than that float.
negative float
Total float below zero, which appears when a required date is earlier than the network allows; its size is the number of days to recover.
total float
How many days an activity can slip before the project's finish moves: its late start minus its early start.

References

Related tools

Report a problem with this lesson

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.