How to track progress in a Gantt chart without fooling yourself
Learn how to track progress in a Gantt chart: set honest percent complete, compare progress with today's date and spot slipping tasks before they hurt.
Knowing how to track progress in a Gantt chart is what turns a nice-looking plan into something you can trust. Drawing the bars is the easy part. The hard part is keeping the progress on each bar honest, week after week, so that a glance at the chart tells you whether the project is on schedule or quietly slipping.
This guide covers what progress means on a Gantt chart, how to set percent complete without wishful thinking, how to read progress against the calendar, and a simple routine you can follow with a small example project.
What progress means on a Gantt chart
Every task bar in a Gantt chart shows two things: when the work is planned (the start and end of the bar) and how much of it is done (the progress, usually a percentage from 0 to 100, drawn as a filled part of the bar).
Those two numbers answer different questions:
- The bar's position answers "when should this happen?"
- The progress answers "how far along is it really?"
Tracking progress means comparing the two. A task that should be half done by today but shows 10% is behind. A task that is planned to finish next week and already shows 90% is ahead. If you are new to reading bars, dates and dependencies, start with how to read a Gantt chart and come back.
The example project
To keep things concrete, imagine a small team building an online ordering page for a local bakery. The plan has four phases over six weeks:
| Task | Duration | Depends on |
|---|---|---|
| Menu and pricing content | 5 days | — |
| Page design | 8 days | — |
| Build ordering form | 10 days | Page design |
| Payment setup | 4 days | Build ordering form |
| Testing with staff | 5 days | Payment setup, Menu and pricing content |
| Launch | milestone | Testing with staff |
It is the end of week three. The team has been busy, and everybody feels the project is "going fine". The Gantt chart is where you check whether that feeling is true.
How to set percent complete honestly
The most common way progress tracking fails is optimism. A task sits at 80% for three weeks because the last 20% turned out to be most of the work. These rules help keep the numbers honest.
Base it on what is finished, not on time spent
Percent complete is not "days worked divided by days planned". If the design was planned for 8 days and the designer has spent 6 days on it, that does not make it 75% done. Ask instead: how much of the agreed output exists and has been accepted?
Use a few fixed steps
Free-form percentages invite guessing. Many teams use a small scale instead:
- 0% — not started
- 25% — started, early work in progress
- 50% — about half the output exists
- 75% — output complete, in review or being fixed
- 100% — done and accepted, nothing left to do
With fixed steps, the difference between 70% and 75% stops being a debate, and moving a task up a step means something concrete happened.
Only 100% when it is really done
"Done except for feedback" is 75%, not 100%. A task at 100% should never come back. If it does, lower the progress again rather than adding a hidden extra task in your head.
Break big tasks down
A 10-day task gives you very little information until it is nearly finished. Splitting it into smaller subtasks (for example "form fields", "order summary", "confirmation email") lets progress move in visible steps. See subtasks in a Gantt chart for how to group them into phases without making the chart hard to read.
Reading progress against today's date
Once progress is honest, compare it with where each bar sits on the calendar. For every task that has started, ask one question: given today's date, how much should be done?
Back to the bakery project at the end of week three:
| Task | Planned by now | Actual progress | Status |
|---|---|---|---|
| Menu and pricing content | 100% | 50% | Behind |
| Page design | 100% | 100% | On track |
| Build ordering form | about 50% | 25% | Behind |
| Payment setup | 0% | 0% | Not started yet |
Two tasks are behind, and they are behind in different ways:
- Menu and pricing content is late, but it only feeds into testing, which is weeks away. There is room to recover without moving the launch.
- Build ordering form is late, and payment setup, testing and the launch all depend on it. This is the one that threatens the date.
That difference is why dependencies matter for progress tracking. A late task with nothing waiting on it is a nuisance. A late task on the chain that leads to your deadline is a problem. If you want to find that chain on purpose, read about the critical path in a Gantt chart.
What to do when a task is behind
Spotting a slip is only useful if you act on it. For each task that is behind, pick one of these:
- Recover within the plan. Add help, cut scope or remove a blocker, and keep the dates. Note what you changed so you can check next week whether it worked.
- Move the dates. If the work will clearly take longer, update the task's duration and let the dependent tasks move with it. A chart that still shows the old dates is no longer a plan.
- Tell people. If the move pushes a milestone, say so now rather than on the day. A short status note is enough, and our guide to writing a project status update shows how.
What you should not do is leave the bar where it is and hope. The chart only helps if it shows reality.
A weekly progress routine
Progress tracking works best as a small habit rather than a big monthly cleanup. Once a week:
- Open the chart and look at every task that is in progress or should have started.
- Update each one's percent complete using your fixed steps.
- Compare progress with today's date and mark what is behind.
- For each late task, decide: recover, move or tell.
- Check the next milestone. Is everything it depends on still on track?
On a small project this takes ten to fifteen minutes. For a fuller version, see how to keep a project plan up to date.
Tracking progress in ProGantt Flow
In ProGantt Flow, every task has a progress value from 0 to 100 that you can update as work moves, alongside its dates, dependencies, milestones and the people assigned to it. Because projects can be shared with editor or viewer access, the people doing the work can update their own tasks, and stakeholders see the same progress as you without asking for a spreadsheet.
If you work with an AI assistant, you can also update progress by asking for it. ProGantt Flow includes an MCP server, so Claude, Cursor, VS Code and other MCP clients can read and update your plan. A prompt like this updates the task in one step:
Mark "Build ordering form" as 25% done and tell me which tasks depend on it.
You can also ask the assistant to list tasks within a progress range, such as everything that is still under 50%. The connector docs explain how to set it up.
Common mistakes to avoid
- Updating progress only before meetings. Numbers updated in a rush are guesses. A fixed weekly slot is more reliable.
- Treating progress as a performance score. If people feel judged by the percentage, they will round up. Progress is information for the plan, not a grade.
- Ignoring tasks that have not started. A task at 0% that should have started on Monday is already late, even though nothing looks wrong on its bar.
- Never moving dates. A plan that is never adjusted stops being believed, and then nobody looks at it.
Summary
To track progress in a Gantt chart, record honest percent complete using a few fixed steps, compare each task's progress with where its bar sits on the calendar, and pay most attention to late tasks that other work depends on. Do it every week, act on each slip, and the chart will keep telling you the truth about your project.