Home › Guides › How to Track Progress on a Gantt Chart

How to Track Progress on a Gantt Chart

A Gantt chart built once and never touched is not a plan, it is a wish. The value of a schedule is not in drawing it, it is in comparing it to reality week after week and acting on the gap. Tracking is the discipline that turns a pretty chart into an early-warning system: it tells you a project is slipping while there is still time to do something, instead of at the deadline when there is not. This guide covers how to track progress properly, the signals that actually mean something, the ones that lie to you, and how to read trouble before it becomes a surprise.

By Uttam Regmi

Tracking turns a static plan into a live picture of where the project really is:
DesignBuildTestLaunchstatus date (today)100%60%20%

Why a plan you do not track is just a guess

Every project plan is a forecast made at the moment you know least about the work. It starts going out of date the day it is approved. Tracking is how you keep it honest: you record what has actually happened, lay it against what you planned, and let the difference tell you whether the finish date is still real.

Teams that skip this do not find out they are late until the deadline arrives, because a plan with no actuals cannot warn anyone. Teams that track well see the slip building for weeks and get to choose how to respond. The chart does not change your luck, it changes how early you know.

Percent complete: the basic signal, and its trap

The most common way to show progress is to fill each bar to the fraction of the task that is done: a task half finished gets a bar shaded halfway. It is simple and it reads at a glance. It also lies more often than any other number on the chart.

The trap is that "percent complete" usually means "percent of time elapsed", not "percent of work done". A task scheduled for ten days, on day five, gets marked 50% because five days have passed, whether or not half the work exists. That is not progress, it is a calendar. The fix is to insist on physical percent complete: what fraction of the actual deliverable is finished, judged by the work, not the clock.

The status date: where you read progress

Every tracking update happens as of a date, the status date, often drawn as a vertical "today" line on the chart. It is the single most useful mark you can add, because it turns the whole picture into a test: any bar whose fill has not reached the status line is behind, and any bar filled past it is ahead.

PlanActualTask ATask B+4dTask C+4d
The status line makes slippage visible: a bar not filled up to the line is behind plan.

Without a status date, "the project is going fine" is an opinion. With one, it is something you can see: the line either cuts through solid, completed bars or it cuts through empty ones, and the difference is your status.

Planned vs actual: the honest comparison

Percent complete tells you how far a task has come; it does not tell you whether that is good enough. For that you need a baseline: a frozen copy of the original plan to compare against. Tracking then becomes a comparison of two things, where the task was supposed to be by now, and where it actually is.

A task can be 60% complete and perfectly on track, or 60% complete and badly behind, and only the baseline tells you which. The gap between planned and actual is called variance, and it is the number that actually deserves a manager's attention.

Spotting slippage early

The point of tracking is to catch a slip while it is small. A few habits make that reliable:

A worked example: elapsed time is not progress

Worked example: the task that looks fine and is not. "Write the report" is planned for 10 days. On day 6, the status update says 60% complete.
  • Read as time elapsed, 6 of 10 days, that is exactly on plan. Green.
  • But ask the writer: only 3 of 10 sections are drafted. Physical progress is 30%, not 60%. The task is four days of work behind, hidden behind a number that tracked the calendar instead of the work.
Same 60% on the chart, two completely different truths. This is why physical percent complete, not time elapsed, is the number worth recording.

Time-based vs physical percent complete

 Time-based %Physical %
Measuresdays elapsedwork actually done
Effort to recordnone, automatica real judgement
Honestyflatters a late tasktells the truth
Use fornothing importantevery task that matters

If your tool fills bars by elapsed time automatically, treat those fills as decoration and override them with a real judgement of the work.

How often to update

Tracking too rarely lets slips hide; tracking too often turns the plan into a full-time job. Match the cadence to the project:

Project paceUpdate cadence
Fast, short tasksdaily or twice weekly
Typical delivery projectweekly
Long, slow-moving workevery two weeks

Whatever you choose, keep it regular. A status date that jumps around irregularly makes trends impossible to read. Each update, work through the same short routine:

  1. Move the status date to today.
  2. For each task in progress, record its physical percent complete, judged by the work done, not the days elapsed.
  3. Compare every bar's fill against the status line and flag anything that has not reached it.
  4. Check the critical path first, then the tasks with the least float.
  5. Read the variance against baseline and decide what, if anything, needs action.

Track the critical path first

Not every slip matters equally. A task with float can run late and hurt nothing; a task on the critical path moves the finish date the moment it slips. When tracking time is short, update the critical path first and in the most detail, that is where a delay is never absorbed.

A · 3B · 5C · 2D · 4Critical path: A → B → DSlack (C): 3Duration: 12
A slip on the critical path moves the finish date; a slip on a task with float may not.

This also focuses your status reports: leading with the critical path answers the only question most stakeholders have, which is whether the end date still holds.

A worked example: the status line reveals a hidden slip

Worked example: reading the chart above. The status date sits partway through Build. Design is filled to 100%, on plan. Build is filled to 60% but the status line is a little past its 60% mark, so Build is slightly behind. Test is 20% complete but the status line has not reached its start, meaning it began early, which is fine.
  • The one number that matters: Build is on the critical path and is behind. Test's early start is on a task with float, so it does not help the finish date.
  • Action: put attention on Build now, while it is days behind, not weeks.
A thirty-second read of one chart, and you know exactly where to push.

Reporting progress up

Once you are tracking, reporting almost writes itself. For a stakeholder update, lead with three things the chart already shows: is the finish date still on track, what is the biggest risk, and what you need from them. Summarise to phases and milestones rather than showing every tracked task, and if you keep a baseline, show planned against actual so a slip is visible rather than explained away. The detailed tracked chart stays your working tool; the summary is what goes on the slide. There is more on this in the guide on presenting a Gantt chart to stakeholders.

The short version

A Gantt chart earns its keep only when you track it. Record physical percent complete, not time elapsed; add a status date so slippage is visible; compare against a baseline so you know whether progress is good enough; and update on a regular cadence, watching the critical path most closely. Do that and the chart stops being a decoration and becomes what it was meant to be, an early warning that buys you time to act. Track your own plan free in the gantts.app editor.

Record what is truly done, not what the calendar says. A status date plus a baseline turns a Gantt chart into an early-warning system: you see a slip building while there is still time to fix it, not at the deadline when there is not.

Templates that use this

Frequently asked questions

How do you track progress on a Gantt chart?

Fill each task bar to its percent complete, add a status date (a vertical "today" line), and compare progress against a baseline of the original plan. Bars not filled up to the status line are behind; the gap between planned and actual is the variance worth acting on.

What is a status date on a Gantt chart?

The status date is the point in time an update reflects, usually drawn as a vertical line on the chart. It lets you read progress at a glance: any bar not filled up to the line is behind schedule, and any filled past it is ahead.

What does percent complete mean on a Gantt chart?

It is the fraction of a task that is finished, shown by how far its bar is shaded. The honest version is physical percent complete (how much of the work is actually done). Beware tools that fill bars by time elapsed, which flatters a late task.

Why is my task 90% complete for weeks?

A task stuck at 90% is the classic sign of trouble: the easy part is done and the hard remainder was underestimated. Track physical progress rather than time elapsed, and treat a percent complete that stops moving as a warning to investigate.

How often should I update a Gantt chart?

Match the cadence to the project: daily or twice weekly for fast work, weekly for a typical delivery project, every two weeks for slow-moving work. Keep it regular so trends stay readable, and always update the critical path in the most detail.

Written by Uttam Regmi, founder of Synth88 Labs. An auditor by profession and a builder by passion, he creates privacy-first web and mobile apps from Dubai, UAE, gantts.app among them. More about the maker · LinkedIn · Medium · GitHub

Try it on your own plan

gantts.app is a free Gantt chart maker that runs in your browser. No account, no download, no watermark on exports.

Open the free editor