Lesson 5 of 16 · Level 2: Intermediate
Project Scheduling and Gantt Charts
- ⏱ 12 min read
- ❓ 4 review questions
- ✍️ Exercise with solution
- 📥 Downloadable template
In this lesson
- Turn work packages into a list of activities you can schedule.
- Sequence activities with the four dependency types.
- Estimate durations with three-point (PERT) estimates, and tell effort from duration.
- Build a Gantt chart in Excel with WORKDAY and NETWORKDAYS, including holidays.
- Set milestones and a schedule baseline you can track against.
The Gantt sheet already contains this lesson's bakery schedule. Change a start date or a duration and watch the end dates and the bars update.
- project-management-template.xlsx · Gantt sheet
A project schedule tells everyone what happens when: which activities, in what order, how long each takes and when the project finishes. A Gantt chart is the most common way to show it: one row per activity and a horizontal bar across a calendar. In this lesson you'll build the schedule for the launch tasks of Rosa's bakery in Austin, from the activity list to a finished Gantt chart in Excel, including a federal holiday that quietly pushes a date.
- List activities
- Sequence them
- Estimate durations
- Build the Gantt chart
- Set the baseline
Step 1: from work packages to activities
In the previous lessons the WBS gave you deliverables (nouns). Now you list the activities (verbs) needed to produce each one. "Online menu" becomes "configure menu and prices"; "product images" becomes "photograph 40 products." Keep each activity small enough to have a clear owner and a clear finish: if you can't tell whether it's done, it's too vague.
Rosa's PM listed six activities for the launch stretch of the project, plus the go-live milestone. Planning and closing are scheduled separately, so this lesson focuses on these core launch tasks.
Step 2: sequence the activities
Some activities can't start until others finish; others can run in parallel. A dependency describes that link. There are four types:
Finish-to-start (FS)
B starts after A finishes. By far the most common.
Example: train staff after the menu is configured.Start-to-start (SS)
B can start once A has started.
Example: start writing item descriptions once photography starts.Finish-to-finish (FF)
B can't finish until A finishes.
Example: testing can't finish until development finishes.Start-to-finish (SF)
B can't finish until A starts. Rare.
Example: the old system stays on until the new one starts.You can add a lag (a forced wait, like "paint must dry 2 days before the next coat") or a lead (overlap, like "start testing 3 days before development finishes"). Use both sparingly and write down why they exist.
1. "The staff can't be trained until the online menu is configured." What dependency is this?
Training (the successor) can start only after configuring the menu (the predecessor) finishes. That's finish-to-start, the default link in most scheduling tools.
Step 3: estimate durations
First, don't confuse effort with duration. Effort is the number of work hours. Duration is the number of workdays on the calendar, and it depends on how much time people can actually give. Configuring Rosa's menu takes about 24 hours of effort, but her manager can spend only 4 hours a day on it while running the shop, so the duration is 24 ÷ 4 = 6 workdays.
When an activity is uncertain, ask for three numbers instead of one and combine them with the PERT (beta) formula, which gives extra weight to the most likely case:
PERT estimate = (Optimistic + 4 × Most likely + Pessimistic) ÷ 6
Std. deviation = (Pessimistic − Optimistic) ÷ 6
Product photography: O = 3, M = 4, P = 11 days
PERT = (3 + 16 + 11) ÷ 6 = 30 ÷ 6 = 5 days
SD = (11 − 3) ÷ 6 ≈ 1.3 days
The photographer's "about 4 days" ignores what could go wrong (a reshoot, a sick day, croissants that don't look right under the lights). The PERT estimate of 5 days builds some of that in, and the standard deviation tells you how uncertain the estimate is.
2. A task has an optimistic estimate of 2 days, a most likely estimate of 5 days and a pessimistic estimate of 14 days. What's the PERT estimate?
(2 + 4 × 5 + 14) ÷ 6 = (2 + 20 + 14) ÷ 6 = 36 ÷ 6 = 6 days. A simple average (2 + 5 + 14) ÷ 3 = 7 would give the extreme case too much weight.
Step 4: build the schedule and the Gantt chart
With the activities, links and durations, you calculate each date. The schedule starts Monday, January 4, 2027. Every duration below counts workdays (Monday to Friday) and skips Martin Luther King Jr. Day on Monday, January 18:
| ID | Activity | Predecessor | Workdays | Start | Finish |
|---|---|---|---|---|---|
| A | Select online ordering platform | – | 5 | Mon Jan 4 | Fri Jan 8 |
| B | Configure menu and prices | A | 6 | Mon Jan 11 | Tue Jan 19 |
| C | Product photography | A | 5 | Mon Jan 11 | Fri Jan 15 |
| D | Set delivery zones and driver partner | A | 7 | Mon Jan 11 | Wed Jan 20 |
| E | Staff training | B | 3 | Wed Jan 20 | Fri Jan 22 |
| F | Soft launch (friends and family) | C, D, E | 5 | Mon Jan 25 | Fri Jan 29 |
| G | Go-live (milestone) | F | 0 | Mon Feb 1 | Mon Feb 1 |
Look at activity B: 6 workdays take 9 calendar days, because they span a weekend and the holiday. Forgetting holidays is one of the easiest ways to promise a date you can't hit.
The Excel formulas behind it
Put the holiday dates in a range named Holidays. With the start in column D and the duration in column E:
Finish date: =WORKDAY(D2, E2-1, Holidays)
Check workdays: =NETWORKDAYS(D2, F2, Holidays)
Start of a successor: =WORKDAY(F2, 1, Holidays)
Start after several: =WORKDAY(MAX(F4, F5, F6), 1, Holidays)
Calendar days: =F2-D2+1
For the bars, put one date per column across row 1 (starting in column H) and apply conditional formatting to the grid with this formula, which colors a cell when its date falls between the task's start and finish:
=AND(H$1>=$D2, H$1<=$F2)
WORKDAY counts days after the start date. A 5-day task starting Monday ends Friday, which is 4 workdays after Monday. Using =WORKDAY(D2, E2, Holidays) would end every task one day late. NETWORKDAYS counts both ends, so it returns 5, which is a handy check.
3. A 5-workday task starts on Monday, March 1, 2027, with no holidays that week. Which formula returns the correct finish date, Friday, March 5?
WORKDAY(D2, 4) moves 4 workdays forward from Monday, landing on Friday. WORKDAY(D2, 5) lands on the next Monday, and D2+5 counts calendar days, ending on Saturday.
Step 5: milestones and the baseline
A milestone is a significant point in time with zero duration: "go-live," "permit approved," "contract signed." Milestones make a schedule easy to read for busy stakeholders: the sponsor may never look at activity C, but she'll ask about go-live every week.
Once the sponsor approves the schedule, save a copy of the dates as the baseline. From then on, you compare actual dates to the baseline instead of quietly editing the plan. In Excel, that's simply two extra columns, "Baseline start" and "Baseline finish," pasted as values and never changed without an approved change request.
4. What's the duration of the milestone "Building permit approved"?
The review is an activity with a duration (and often a lot of uncertainty). The approval itself is the milestone, with zero duration, marking the moment the next work can start.
Common scheduling mistakes
Scheduling in calendar days and forgetting weekends and holidays.
Use workdays and a holiday list; let WORKDAY do the counting.
Treating effort hours as duration.
Divide effort by the hours per day people can really give.
Typing dates by hand for every task.
Link each start to its predecessor's finish so changes ripple automatically.
Only asking for the most likely estimate.
For uncertain tasks, ask for three numbers and use PERT.
Editing the schedule every week with no record of the original.
Save a baseline and compare against it.
Practice exercise
You're scheduling three sequential tasks (finish-to-start) for a small office move in Chicago. The team gave you three-point estimates in workdays:
| Task | Optimistic | Most likely | Pessimistic |
|---|---|---|---|
| 1. Pack and label | 2 | 3 | 10 |
| 2. Install network and phones | 4 | 6 | 8 |
| 3. Set up furniture and workstations | 6 | 9 | 18 |
(a) Calculate the PERT estimate for each task. (b) The work starts on Monday, May 10, 2027. Memorial Day (Monday, May 31) is a holiday. When does task 3 finish?
See solution
(a)
Task 1: (2 + 12 + 10) ÷ 6 = 24 ÷ 6 = 4 days
Task 2: (4 + 24 + 8) ÷ 6 = 36 ÷ 6 = 6 days
Task 3: (6 + 36 + 18) ÷ 6 = 60 ÷ 6 = 10 days
Total: 20 workdays
(b) Task 1 runs Mon May 10 – Thu May 13. Task 2 runs Fri May 14 – Fri May 21. Task 3 starts Mon May 24 and needs 10 workdays: 5 that week, then 4 days (Tue Jun 1 – Fri Jun 4) because May 31 is a holiday, and 1 more day. It finishes on Monday, June 7, 2027. In Excel: =WORKDAY("2027-05-10", 20-1, Holidays) returns June 7. Without the holiday it would have been Friday, June 4: one forgotten holiday, one missed promise.
Summary
- Break work packages into activities (verbs) with clear owners and clear finishes.
- Link activities with dependencies; finish-to-start is the default. Document any lags and leads.
- Effort is hours of work; duration is workdays on the calendar. PERT = (O + 4M + P) ÷ 6.
- In Excel, finish = WORKDAY(start, duration − 1, Holidays); color the Gantt bars with conditional formatting.
- Milestones have zero duration. Save a baseline once the schedule is approved.
Next lesson: The Critical Path Method (CPM) and Float. You'll find the chain of activities that controls the finish date and calculate exactly how much each other task can slip.
Create your account in 30 seconds, mark your lessons and download your certificate at the end.