Skip to content

Project Schedule

At a glance

  • Purpose: Record activities, durations, dependencies, and dates — including the critical path and float — in one place that can be challenged and updated.
  • Use it when: After the WBS and the network. The approved version becomes the schedule baseline against which progress is measured.
  • Owner: The project manager; activity durations are owned by whoever does the work.
  • Related: Module 06 · Lab 08 · Lab 10
  • Spreadsheet version: csv/project-schedule.csv

How to use this template

  1. Complete the activity table first: activity, duration, predecessors. No dates yet.
  2. Run the forward pass (earliest start and finish), then the backward pass (latest start and finish).
  3. Calculate float per activity, and mark the critical path. If every activity has float, you have an arithmetic error somewhere.
  4. Convert day numbers to dates on a working calendar, excluding weekends and public holidays.
  5. State the schedule's basis — the productivity assumption, the resource availability, and the external lead times included. A schedule without its assumptions cannot be defended.
  6. Re-run the passes whenever a duration, dependency, or resource changes. A stale critical path is worse than none.

Field descriptions

Column What goes in it Watch out for
ID Short reference (A, B, C) used in the diagram Renumbering after the diagram is drawn
Activity Deliverable-oriented, sized to be owned by one person Very long activities nobody can track
Duration Working days, at the agreed resource level Days of effort rather than duration
Predecessors Which activities must finish first Missing an external dependency
Dependency class Mandatory / discretionary / external Everything marked mandatory — it hides the options
ES / EF Earliest start and earliest finish from the forward pass Starting at 1 rather than 0 without saying so
LS / LF Latest start and latest finish from the backward pass Starting the backward pass from the wrong finish
Float LF − EF (or LS − ES) Treating float as a personal allowance
Critical Yes / No More than a few activities marked critical without checking
Owner A role, not a name Unassigned activities

Blank template

# Project Schedule — [Project name]

| | |
| --- | --- |
| **Version** | [1.0 — becomes the baseline on approval] |
| **Project start** | [YYYY-MM-DD, and which weekday] |
| **Working pattern** | [e.g. 5 days per week; public holidays 20 Mar and 6 Apr] |
| **Productivity assumption** | [e.g. 80% of paid time is project work] |
| **External lead times included** | [e.g. security review queue of 10 working days] |

## 1. Activities

| ID | Activity | Duration (days) | Predecessors | Dependency class | Owner |
| --- | --- | --- | --- | --- | --- |
| A | [Activity] | [n] | — | — | [Role] |
| B | [Activity] | [n] | A | Mandatory | [Role] |

## 2. Network

```mermaid
flowchart LR
    accTitle: How to show a dependency between two activities
    accDescr {
    Two activities in a schedule: activity A takes 5 days and must finish before activity B, which
    takes 4 days.
    }
    A[A 5d] --> B[B 4d]

3. Schedule calculations

ID Duration ES EF LS LF Float Critical
A 5 0 5 0 5 0 Yes
B 4 5 9 5 9 0 Yes

Total project duration: [n] working days Critical path: [A → B → …] Calendar finish: [YYYY-MM-DD]

4. Milestones

Milestone Planned date Evidence that it is met
[Milestone] [YYYY-MM-DD] [Observable evidence]

5. Basis and assumptions

[The productivity factor, the resource level assumed per activity, any external queue, and what is not included. State which of these would invalidate the schedule if they changed.]

6. Baseline approval

Role Name Date Accepted variance tolerance
Sponsor [e.g. ±3 days on any milestone]
```

Worked example

From Lab 10, on the admission portal — a 10-activity network with invented durations for teaching. The dependency logic is B after A; C, D, and E after B; F after C; G after D; H after G; I after E, F, and H; and J after I:

ID Activity Duration ES EF LF LS Float Critical
A Requirements workshops 5 0 5 5 0 0 Yes
B Data model design 4 5 9 9 5 0 Yes
C Applicant form build 6 9 15 25 19 10 No
D Document upload build 5 9 14 14 9 0 Yes
E Eligibility rules engine 8 9 17 31 23 14 No
F Admin console 6 15 21 31 25 10 No
G Student-record integration 7 14 21 21 14 0 Yes
H Security review (external) 10 21 31 31 21 0 Yes
I System testing 5 31 36 36 31 0 Yes
J UAT and training 4 36 40 40 36 0 Yes

Duration 40 working days. Critical path A → B → D → G → H → I → J. Note that C and E are large activities with 10 and 14 days of float, while H — an external activity the project cannot compress — is critical. That single observation is what the schedule exists to reveal.

Common mistakes

  • Effort recorded as duration. A 1-day effort task with a two-week external queue has a duration of eleven working days.
  • Summing predecessors instead of taking the maximum. At a converging activity, the start is the latest predecessor finish, not the total.
  • Forgetting the working calendar. Weekends and public holidays are the most common source of date errors.
  • No float column. Without float you cannot tell which slips matter.
  • A schedule with no stated basis. Someone will challenge the dates; the assumptions are your defence.
  • Never re-running the passes. When one duration changes, the critical path can move — and a schedule that has not been recalculated is a document, not a control.