Activity Networks (AQA A-Level Further Maths): Revision Notes
Activity Networks
Introduction to activity networks
When planning a project, you need to understand how different tasks relate to each other. An activity network is a visual tool that helps you organise and analyse projects by showing which activities must be completed before others can begin. This is essential for working out the shortest possible time to complete a project.
To create a project timetable, you need three key pieces of information:
- A list of all activities involved in the project
- Details of which activities depend on others (their dependencies)
- How long each activity will take (its duration)
Understanding the relationships between tasks is crucial for effective project management. Activity networks provide a clear visual representation that makes these relationships easy to see and analyse.
Precedence tables
A precedence table (also called a dependency table) records all the information about a project in a structured format. This table serves as the foundation for creating your activity network.
Definition: A precedence table shows each activity, its duration, and which activities must be completed before it can start.
The table has three columns:
- Activity: The name or label of each task
- Duration: How long the activity takes
- Depends on (or "Must be preceded by"): Which activities must finish before this one can start
Worked Example: Painting a Bedroom
Consider the activities involved in painting a bedroom:

In this table, activities A and B have no dependencies (shown by "–"), meaning they can start immediately. Activity C depends on A, so you must remove furniture before removing carpets. Activities D and E both depend on A, B, and C, meaning all three must be complete before washing can begin.
Drawing activity networks
Once you have a precedence table, you can draw an activity network to visualise the project structure.
Definition: An activity network is a diagram where each activity is represented by a node (a box), and arrows (arcs) show the order of precedence between activities.
The network flows from left to right, starting with a "Start" node and ending with an "End" node. Arrows show which activities must be completed before others can begin.
Building the network step by step
Let's build the network for the bedroom painting project:
Activities A and B have no dependencies, so they connect directly from the Start node with dashed arrows.

Once the basic structure is established, you add all remaining activities according to their dependencies. Activity C depends on A, so an arrow goes from A to C. Activities D and E depend on A, B, and C, so arrows lead from these activities to D and E.
The complete network shows all ten activities and their relationships:

Exam tip: Make a rough sketch first to plan your layout, then draw a clear, neat diagram using a ruler. This helps avoid crossing arrows and makes the network easier to read.
Activity node structure
Each node in an activity network is divided into three sections that record important timing information.

The three sections contain:
- Earliest start time (left): The earliest time this activity can begin
- Duration (centre): How long the activity takes
- Latest finish time (right): The latest time this activity can finish without delaying the project
The activity name or letter is shown above or beside the node. This three-part structure provides all the essential timing information at a glance.
Forward pass: calculating earliest start times
A forward pass calculates the earliest possible start time for each activity.
Definition: The earliest start time for an activity is the maximum of the earliest finish times of all activities that must be completed before it can start.
To perform a forward pass:
- Start at the beginning of the network
- Work from left to right through the network
- For each activity, find when all preceding activities can finish
- The earliest start time is the maximum of these finish times
Worked Example: Forward Pass
Using the precedence table from earlier:

First, draw the basic activity network.
Now calculate earliest start times:
Activities A, B, and C: These have no dependencies, so they can all start at time 0.
Activity D: D depends on A. Since A starts at 0 and lasts 3 hours, A finishes at 3 hours. Therefore, D can start at 3 hours.
Activity E: E depends on B. Since B starts at 0 and lasts 6 hours, B finishes at 6 hours. However, we must check all paths. Looking at the dependencies, E actually depends on completing the path through B, so E has earliest start time 6 hours.
Activity F: F depends on C. C starts at 0 and lasts 8 hours, so F can start at 8 hours.
Wait, let me recalculate based on the diagram shown:
Looking at the example more carefully:
Activities with earliest start times shown:
- A: 0 (starts immediately)
- B: 0 (starts immediately)
- C: 15 (must wait for A to finish, since A starts at 0 and takes 15 minutes)
- D: 30 (must wait for C to finish, since C starts at 15 and takes 15 minutes)
- E: 30 (must wait for B and C to finish. B finishes at 10, C finishes at 30, so E starts at 30)
The minimum project duration is found by completing the forward pass to the End node.
Key point: The earliest start time for an activity is the maximum of the earliest times by which all preceding activities can be completed.
Complete forward pass example
Here's the complete forward pass for the bedroom painting project:

When I and J both finish, the project is complete. I finishes at minutes, and J finishes at minutes. The project duration is 235 minutes (the maximum of these two).
Key point: The project duration is the earliest time by which all activities can be completed.
Backward pass: calculating latest finish times
A backward pass calculates the latest time each activity can finish without delaying the overall project.
Definition: The latest finish time for an activity is the minimum of the latest start times of all activities that immediately follow it.
To perform a backward pass:
- Start at the end of the network with the project duration
- Work from right to left through the network
- For each activity, find the latest time it must finish to avoid delaying following activities
- The latest finish time is the minimum of these times
Worked Example: Backward Pass
Continuing with our bedroom painting example, we found the project duration is 235 minutes.
Working backwards:
Activities I and J: These are the final activities. I has duration 15 minutes, so to finish by 235, it must start by minutes at the latest. Similarly, J must start by minutes, and since J has duration 15, its latest finish time is 235.
Activity H: H must finish before both I and J can start. Both I and J have latest start time of 220, so H must finish by 220. Since H has duration 20 minutes, H must start by at the latest.
Activities F and G: Both F and G must finish before H and I can start. Working backwards, we find F must finish by 200 and G must finish by 200.
Continuing this process through the entire network:

Key point: The latest finish time for an activity is the minimum of the latest times by which all following activities can start without affecting the project duration.
Complete backward pass example
Here's the complete network with both earliest start times and latest finish times:

Notice that for activity A, the earliest start time is 0 and the latest finish time is 15. This means A must start immediately and finish by 15 minutes to keep the project on schedule.
Complete worked example
Let's work through a complete example from start to finish.
Problem
Draw an activity network and find the minimum project duration, earliest start times, and latest finish times for this project:

Worked Example: Complete Network Analysis
Step 1: Draw the activity network
First, sketch the network showing all activities and dependencies:

Step 2: Perform a forward pass
Calculate earliest start times working left to right:
The diagram shows the earliest start times calculated for each activity. The minimum project duration is 27 hours (shown at the End node).
Step 3: Perform a backward pass
Working right to left from the project duration of 27 hours, calculate latest finish times:
The complete network now shows both earliest start times and latest finish times for each activity.
Another complete example
Consider this project:
| Activity | Duration (days) | Depends on |
|---|---|---|
| A | 2 | – |
| B | 3 | A |
| C | 5 | A |
| D | 8 | B |
| E | 7 | B |
| F | 3 | C |
| G | 4 | D |
| H | 1 | E, F |
| I | 1 | G, H |
Worked Example: Multi-Activity Project
Forward pass results:
The earliest start times are:
- A: 0 days
- B: 2 days (after A finishes)
- C: 2 days (after A finishes)
- D: 5 days (after B finishes at )
- E: 5 days (after B finishes)
- F: 7 days (after C finishes at )
- G: 13 days (after D finishes at )
- H: 12 days (must wait for both E and F; E finishes at 12, F finishes at 10, so H starts at 12)
- I: 17 days (must wait for both G and H; G finishes at 17, H finishes at 13, so I starts at 17)
The minimum project duration is 18 days (I finishes at ).
Backward pass results:
Working backwards from 18 days, the latest finish times are:
- I: 18 days
- H: 17 days (must finish before I starts at 17)
- G: 17 days (must finish before I starts at 17)
- F: 16 days (must finish before H starts, which is )
- E: 16 days (must finish before H starts)
- D: 13 days (must finish before G starts, which is )
- C: 13 days (must finish before F starts, which is )
- B: 5 days (must finish before both D and E start)
- A: 2 days (must finish before B and C start)
Exam tips and common mistakes
Drawing networks:
- Always make a rough sketch first to plan the layout
- Use a ruler to draw neat, straight lines
- Avoid crossing arrows where possible
- Start and End nodes can be included (they're dummy activities with zero duration) but aren't always required
Forward pass:
- Always work from left to right
- At any node, take the maximum earliest finish time from all incoming activities
- The earliest finish time of an activity = earliest start time + duration
- Double-check your arithmetic at each step
Backward pass:
- Always work from right to left
- At any node, take the minimum latest start time from all outgoing activities
- The latest start time of an activity = latest finish time - duration
- Make sure you're working backwards correctly
Common errors:
- Taking minimum instead of maximum during forward pass
- Taking maximum instead of minimum during backward pass
- Forgetting to add/subtract the duration
- Missing a dependency when multiple activities converge
Key Points to Remember:
-
An activity network uses nodes and arcs to show the sequence and dependencies of project activities.
-
A forward pass calculates earliest start times by working left to right through the network. The earliest start time is the maximum of all preceding activity finish times.
-
A backward pass calculates latest finish times by working right to left through the network. The latest finish time is the minimum of all following activity start times.
-
The project duration is found by completing the forward pass and equals the earliest time at which all activities can be completed.
-
Each activity node contains three values: earliest start time (left), duration (centre), and latest finish time (right).