Building a schedule
Available onBuilder
A list of tasks with dates typed on them is a wall planner. A schedule with dependencies is something that answers questions — and reschedules itself when the weather closes in.
The difference is predecessors.
Duration
Section titled “Duration”Duration is how long a task takes, in working days.
Use the duration the trade actually takes on site, not the duration you hope for. The schedule is only useful if it is honest, and an optimistic schedule produces call-ups that are wrong every time.
Predecessors
Section titled “Predecessors”Predecessor and Predecessor Task say what has to happen before this task can start.
This is what makes the schedule dynamic. Set the frame to follow the slab, and if the slab slips a week the frame moves with it — and so does everything after the frame.
Lag is waiting time after the predecessor finishes, before this task can start.
It is how you model curing, drying, delivery lead times and inspections:
| Between | Lag | Why |
|---|---|---|
| Slab pour → frame | 3 days | Concrete cure |
| Render → paint | 5 days | Drying |
| Order windows → install | 30 days | Lead time |
| Frame → frame inspection | 1 day | Booking the inspector |
Lag is where most real schedules go wrong. A schedule with no lag has the frame starting the morning after the pour, which nobody does, and the whole programme is optimistic by the sum of the missing waits.
Scheduling
Section titled “Scheduling”Scheduling controls how a task is placed — driven by its predecessors, or fixed to a date.
Most tasks should be driven by predecessors. Fix a task to a date only when it truly is fixed — a council inspection with a booked slot, a crane hired for a specific day, a client walkthrough.
Too many fixed dates and the schedule stops rescheduling itself, which was the point.
Worked example: the Hendricks extension
Section titled “Worked example: the Hendricks extension”| Task | Duration | Predecessor | Lag |
|---|---|---|---|
| Site set-up | 1 d | — | — |
| Excavate | 2 d | Site set-up | — |
| Formwork and reo | 3 d | Excavate | — |
| Slab pour | 1 d | Formwork and reo | — |
| Frame | 6 d | Slab pour | 3 d |
| Frame inspection | 1 d | Frame | 1 d |
| Roof trusses | 2 d | Frame inspection | — |
| Roof tiles | 3 d | Roof trusses | 1 d |
| Windows | 2 d | Roof tiles | — |
| External cladding | 5 d | Windows | — |
| Plumbing rough-in | 3 d | Frame inspection | — |
| Electrical rough-in | 3 d | Frame inspection | — |
| Insulation | 1 d | Plumbing rough-in, Electrical rough-in | — |
| Plasterboard | 5 d | Insulation | — |
Two things worth noticing.
The 3-day lag after the slab pour is the concrete curing. Without it the frame starts the next morning, and the whole programme reads three days optimistic.
Plumbing and electrical both follow frame inspection, and insulation follows both. They run in parallel, and insulation waits for whichever finishes last. That is a dependency you cannot express by typing dates.
Three ways to start
Section titled “Three ways to start”You do not have to type the first schedule out. The toolbar above the chart on the Tasks tab has three starting points, and all three replace whatever schedule the job already has, so they are for starting, not for adding to. Each one asks first.
They live on Tasks only. You will not find them on Bookings or Cash flow, because what those pages hold — resources, lead times, call-up status, actual dates — is exactly what these three throw away.
| Start with | What you get |
|---|---|
| Import Template… | A ready-made programme: tasks, durations and links. The list holds your own template jobs and the ones that come with SmarteBuild |
| Build from Cost Codes | One task per cost code on this job, in cost-code order, each one after the last |
| Building one from scratch | An empty chart you fill in yourself — see below |
Import Template
Section titled “Import Template”Pick a template from the dropdown and its tasks, durations, links and stages are copied in. Nothing personal to that template comes with it: no suppliers, no bookings, no costs, no notes — you set those for this job.
Your own jobs appear here when the costing is ticked as a Template and has a schedule on it, so a programme you have refined on one house can be the starting point for the next.
Build from Cost Codes
Section titled “Build from Cost Codes”This one starts from the estimate rather than from a template, which is the fastest way to get a first programme on a job you have already priced.
- Every cost code on the job becomes one task, named after the cost code.
- They run in cost-code order, each starting when the one before it finishes.
- You say how long each task takes; 3 days is offered.
- Cost codes set to Not Required are left out.
- Each task is linked to its cost code, so the task’s cost is the money in that part of the estimate, and Cash Flow works straight away.
It is a starting point, not a programme: a strict one-after-another chain is never how a job really runs. Go through it afterwards and set the real durations, let the trades that overlap overlap, and add lag for cures and lead times.
Building one from scratch
Section titled “Building one from scratch”- List the tasks in the Tasks view, in rough build order.
- Set durations, honestly.
- Link predecessors down the chain.
- Add lag for cures, drying, lead times and inspections.
- Look at the finish date. If it is wrong, the schedule is telling you something — usually that a duration or a lag is unrealistic.
- Fix only the genuinely fixed dates.
Step five is the point of the exercise. A schedule that produces a finish date you do not believe is more useful than no schedule, because you can go and find the assumption you disagree with.
When something slips
Section titled “When something slips”Change the task that slipped — its actual dates, or its duration — and let everything downstream move.
Resist adjusting later tasks by hand to protect the finish date. That hides the slip, and the schedule stops being a forecast. If the finish date has moved, that is information you and the client both need.
