CPM-ready Excel template — phases wired to the SOV, predecessor/successor logic, milestones, float, long-lead procurement. Works as a baseline you can port straight into MS Project or P6.
Call it a CPM schedule, a project timeline, a Gantt — at its core it is the activity network that says what gets built when, in what order, by whom, and which links cannot slip without pushing substantial completion. For a single-family residential build that runs five to eight months, you might get away with a tight bar chart. On a 60-to-120-day commercial TI or a ground-up commercial job at 12 to 24 months, you need a real CPM network — predecessors and successors wired up, durations resource-loaded, the critical path called out, milestones aligned to the AIA G702/G703 schedule of values so the dates you sell the owner match the dates you bill against.
Schedules slip for the same handful of reasons on every job. McKinsey's Reinventing Construction report puts large projects at 20% over schedule on average, with 80% running over budget — and on the ground, the culprits are predictable: long-lead procurement that nobody flagged until install week, a sub that committed crews to two overlapping jobs, weather contingency parked at the end of the schedule instead of against the actual exterior activities, optimistic durations carried over from the estimate. A template that forces you to declare predecessors, lag durations, milestones, and procurement tie-ins up front catches most of those before NTP.
The Excel version below works for residential and light commercial. For larger work, port the same structure into Microsoft Project, Primavera P6, Smartsheet, or Asta Powerproject so you get a real CPM engine, baseline tracking, and resource leveling. Whatever tool you land on, set the baseline before mobilization, update actuals every Friday, and publish a two-week look-ahead every Monday. The schedule is only as good as the discipline behind keeping it current — pull-planning sessions with the trade foremen (Last Planner System) are the cheapest way to make sure the handoffs you put on paper match the ones the people doing the work actually believe in.
Strip any of these out and the schedule stops being a planning tool
Preconstruction, sitework, foundation, framing, dry-in, MEP rough, drywall, MEP trim, finishes, FF&E, punch — mapped so they line up with the AIA G703 line items you bill against
FS (finish-to-start) is the default, but tag SS, FF, and SF relationships where they actually exist — and use lag (e.g., FS+7 for concrete cure) instead of inflating durations
Notice to proceed, permit issued, foundation complete, dry-in, MEP rough inspections, TCO, substantial completion (the date that triggers warranty and final payment), punch sign-off
CPM identifies the longest chain through the network — those activities have zero float. Track total float on the rest so you know which slip is a real problem and which is noise
Crews, lifts, and key subs assigned per activity so you can spot the day your framer is supposed to be on two jobs at once
Pull NOAA historical precip and freeze data for the zip code and add allowances against exterior activities — not a generic buffer at the end
AHJ-required inspections: footing, foundation, framing, rough MEP, insulation, final building, plus fire marshal and health where applicable
Switchgear, rooftop units, glazing, structural steel, custom millwork — track the order date, submittal approval, fabrication, and on-site need date on the same schedule
Residential SFR layout — phases rolled up, sub-activities tied with FS predecessors, milestones called out
| ID | Task | Duration | Start | Finish | Predecessor |
|---|---|---|---|---|---|
| 1 | Phase 1: Sitework & Foundation | 28 days | Mar 15 | Apr 11 | - |
| 1.1 | Site clearing & grading | 5 days | Mar 15 | Mar 19 | - |
| 1.2 | Excavation & footings | 8 days | Mar 20 | Mar 27 | 1.1 |
| 1.3 | Foundation pour & cure | 10 days | Mar 28 | Apr 6 | 1.2 |
| M1 | Foundation inspection | 0 days | Apr 7 | Apr 7 | 1.3 |
| 2 | Phase 2: Framing | 20 days | Apr 8 | Apr 27 | M1 |
| 3 | Phase 3: MEP Rough-In | 15 days | Apr 28 | May 12 | 2 |
| 4 | Phase 4: Insulation & Drywall | 18 days | May 13 | May 30 | 3 |
| 5 | Phase 5: Finishes & Trim | 22 days | Jun 1 | Jun 22 | 4 |
| M2 | Substantial completion | 0 days | Jun 22 | Jun 22 | 5 |
| 6 | Phase 6: Punch List & Closeout | 10 days | Jun 23 | Jul 2 | M2 |
110 calendar days · 5 weather days loaded against exterior activities · Critical path: 1.1 → 1.2 → 1.3 → M1 → 2 → 3 → 4 → 5 → M2
Start with your schedule of values — the AIA G703 line items the owner will pay against — and turn each one into one or more activities. Group them under the standard phases (sitework, foundation, framing, dry-in, MEP rough, drywall, MEP trim, finishes, FF&E, punch). Crew-day durations come from production rates you actually hit, not the optimistic numbers from the estimate.
Pick predecessors and successors for every activity. Default to FS, use SS+lag where one trade trails another through the building (drywall hang to tape, for example), and put real durations on the lags — 28-day concrete cure before slab loading is a lag, not a guess. If two activities have no logical tie, leave them parallel. A schedule with no float anywhere is a schedule someone forced.
Microsoft Project, Primavera P6, and Asta Powerproject all calculate the critical path the same way: forward pass, backward pass, anything with zero total float is critical. Print or filter that chain and stare at it. Anything you can re-sequence, fast-track, or shift off the critical path buys you schedule.
NTP, permit issued, foundation complete, dry-in, rough inspections passed, TCO, substantial completion, final completion. These are the dates your lender, owner, and trades plan around. Substantial completion is the one that starts the warranty clock and lets you bill retention, so defend it.
Assign foremen, crews, and shared equipment. Run a pull-planning session with the trade foremen — Last Planner System works because the people doing the work commit to the handoffs in front of each other. Resource-level the result so your electrician is not on the schedule for 12 hours in one day.
Save the baseline before NTP. From then on, update actuals every Friday: percent complete, actual start, actual finish, remaining duration. Re-run CPM. Send the marked-up two-week look-ahead to every sub on Monday. A schedule you update once a month is a wall decoration.
If every activity is just hard-coded start and finish dates with no predecessors, you do not have a CPM schedule — you have a calendar. When the foundation slips two weeks, nothing downstream moves automatically and the rest of the team has no idea the dry-in milestone is gone.
I have watched a $4M TI sit at MEP rough for six weeks because the switchgear was ordered the day framing started. Switchgear, rooftop units, custom glazing, and structural steel can run 16-30 weeks right now. Put the order/submittal/fab/deliver chain on the schedule with FS ties to the install activity. If the deliver date is later than the install start, you find out at buyout, not at install.
A lump of "weather days" parked before substantial completion does not protect anything. Add weather allowances to the activities they actually affect — exterior framing, roofing, sitework, exterior paint — based on NOAA precipitation and freeze data for the jobsite zip code. Pouring footings in February in Minneapolis without that allowance is how schedules die in week three.
Your drywall sub committed to your job and a hotel down the street starting the same week. Their lead foreman cannot be in two places. If you do not resource-load and confirm capacity in the pull plan, you find out when half the crew shows up and you slip a week.
Estimating production rates and field production rates are not the same number. Cleanup, layout, daily safety, and inspection wait time eat hours the spreadsheet ignores. Use historical actuals from similar work — and if you do not have them, add 10-15% to anything new.
A baseline schedule that does not get updated and pushed out every Monday morning is shelfware. The trades plan their week off the two-week look-ahead, not the master CPM. If you are not publishing it, they are guessing.
The Excel version works until your takeoff, buyout, and schedule have to talk to each other — that is where BuildVision AI fits
A: A starting-point CPM schedule with the phases, milestones, and predecessor/successor logic already wired in — preconstruction through punch — so you are not building the activity network from a blank sheet. You drop in your durations, your crews, and your milestone dates, set the baseline in Microsoft Project, Smartsheet, or Excel, and you have a working schedule. The template enforces the structure (phases tied to the AIA G703 schedule of values, real predecessors, milestones at the points owners and AHJs care about); the durations and dates are yours.
A: The longest chain of logically-tied activities through the network — the one with zero total float. Slip any activity on it by a day, the substantial completion date slips by a day. CPM, formalized by DuPont and Remington Rand in the late 1950s, has been the standard for commercial scheduling ever since and is required on every federal job under FAR 52.236-15. Primavera P6 and MS Project both run the same forward-pass/backward-pass math. The critical path is not a guess — it is calculated.
A: The Gantt chart, named for Henry Gantt around 1910, is the bar-chart view. The construction schedule is everything underneath: activities, durations, predecessors, lags, resource assignments, milestones, baseline vs. current dates, and float values. P6 and MS Project both ship a Gantt view, but you can also look at the same schedule as a logic diagram, a tabular view, or a resource histogram. The Gantt is one window into the schedule, not the schedule itself.
A: Weekly, every Friday afternoon, before the Monday owner meeting. On federal and most institutional work the spec contractually requires it — many AIA A201-based contracts and the federal Construction Schedule spec (UFGS 01 32 01.00 10) call for a monthly schedule update at minimum, but in the field every superintendent I have worked with updates weekly. You record actual starts, actual finishes, percent complete, remaining duration, then re-run CPM. A schedule older than two weeks does not match the jobsite.
A: Total float is how many days an activity can slip before substantial completion slips with it. Free float is how many days it can slip before the next activity has to move. The critical path is the chain where total float equals zero. Most contracts (including the AIA A201) treat float as a shared project resource — neither the GC nor the owner "owns" it — so when a change order eats float, it eats float for everybody. That is why time-impact analysis matters when you submit a delay claim.
A: Two layers. First, baseline contingency: pull NOAA / NWS historical climate data for the jobsite (precip days, freeze days, wind events by month) and add weather allowances against the exterior activities those conditions actually stop — sitework, footings, framing, roofing, exterior paint. Second, contract language: most AIA A201 contracts give you time but not money for "abnormal" weather, defined as conditions worse than the historical average for that month and location. Both your baseline contingency and your delay claims trace back to the same NOAA dataset.
A: Depends on the size of the job. For ground-up commercial, public work, and anything with a 1,000+ activity network, Primavera P6 is still the standard — and most owner specs require it. For mid-size GC work, Microsoft Project handles a few hundred activities fine and reads/writes XER files. Asta Powerproject is common on UK and EU projects. Smartsheet works for residential and light commercial teams that want collaboration without P6 overhead. BuildVision AI sits upstream — it pulls quantities off your drawings and pushes them into the schedule of values and durations that feed your baseline, so the schedule you build matches what you bid.
A: BuildVision AI does not replace P6 or MS Project. It speeds up the front end: takeoff and quote review. When the quantities and the awarded sub scopes drop into the schedule of values cleanly, the durations and the long-lead procurement activities on the baseline schedule line up with what was actually bought — instead of getting reconciled three weeks later in a change order. The CPM scheduling still happens in your scheduling tool of choice; the inputs just arrive faster and more accurate.
BuildVision AI handles the takeoff and quote review so the numbers feeding your baseline schedule actually match what you bought.
14-day free trial · No commitment required