HomeGuides › Nine Gantt Chart Mistakes (and How to Fix Them)

Nine Gantt Chart Mistakes (and How to Fix Them)

Most bad Gantt charts fail the same handful of ways, and almost none of them are about the tool. A chart can be neat, colourful, exported every Friday and still be lying about your finish date. Here is each mistake, why it is wrong, what it costs on a real plan, and the review pass that catches them.

· gantts.app

The single most common problem, before and after. The same project, planned twice:
✗ Every task, no structure 40+ rows, no phases, no milestones — unreadable and obsolete within a week. ✓ Phases, milestones, dependencies Discovery Design Sign-off Build Test 10 rows. Readable across a room, and cheap enough to keep current.

A plan that makes most of these mistakes at once

One ordinary project — a website replatform kicking off Monday 2 March 2026 — drawn the way people draw it, then drawn honestly.

As planned. Six rows, all chained finish-to-start, no milestones, no buffer:

  • Discovery — Mon 2 Mar to Fri 13 Mar (10 days)
  • Design — Mon 16 Mar to Fri 27 Mar (10 days)
  • Build — Mon 30 Mar to Fri 24 Apr (20 days, Priya)
  • Content migration — Mon 30 Mar to Fri 17 Apr (15 days, Priya)
  • QA — Mon 27 Apr to Fri 8 May (10 days)
  • Go live — Mon 11 May

What it does not say. The client has five working days to review the design; that review is nowhere on the plan. Priya is booked at 100% on Build and 100% on Content migration for the same three weeks, so the chart quietly assumes 200% of one person. There is no buffer in 50 working days. And because every row sits in one FS chain, every row is critical.

Corrected. Add a Design signed off milestone carrying the review as lag (FS+5d): Build runs Mon 6 Apr to Fri 1 May. Content migration cannot overlap it while Priya owns both, so it runs Mon 4 May to Fri 22 May. QA follows, Mon 25 May to Fri 5 Jun. Five days of buffer put go-live on Fri 12 June.

The consequence. The chart said 11 May. The honest date was 12 June — 24 working days later, found in the first draft instead of in the second week of May. Nothing changed except that three things already true got written down.

And the reporting. On Mon 20 Apr the status report put Build at 60%, because 12 of its 20 days had elapsed. The team had finished 4 of 11 page templates. Real progress: 36%.

1. Over-detailing

The most common failure by a distance. A chart carrying every sub-task is unreadable and unmaintainable — nobody updates sixty rows weekly, so it goes stale in days.

Fix: plan to the level you report at. Anything shorter than your reporting cycle belongs inside a task. Roll the detail into phases and keep the working list where the team already works.

2. No dependencies

A chart of parallel bars with no links is a picture, not a plan. When something slips, nothing moves, because nothing is connected.

Fix: link what genuinely constrains, then drag one bar and watch. If nothing follows it, the plan is not modelling your project.

3. Everything chained finish-to-start

The opposite error, and subtler. Put every task in one long line and every task lands on the critical path — sixty rows all saying "urgent", which is the same as saying nothing. It also becomes impossible to re-plan: every date is pinned by a preference.

A · 3B · 5C · 2D · 4Critical path: A → B → DSlack (C): 3Duration: 12
Only the longest route through the network sets the finish date.

Fix: link only what physically constrains. If B could start today given the people and materials on hand, it does not depend on A. A healthy critical path covers a quarter to a half of your tasks; if it covers all of them you have drawn a queue, not a network.

4. Treating estimates as commitments

Every bar looks equally certain. A three-day task you have done fifty times and one nobody has tried are drawn identically.

Fix: put float where the uncertainty is, and say so. A plan that admits which parts are guesses survives contact with reality, because the guesses were given room to be wrong.

5. No float anywhere

A plan where every task starts the instant its predecessor ends can absorb nothing. The first two-day delay is a two-day project delay.

ABCFree floatTotal float
Float is the room a task has before it starts pushing the finish date.

Fix: buffer where risk concentrates — before hard deadlines, after anything owned by a third party, around approvals. One visible five-day buffer before go-live beats five days smeared invisibly across ten tasks.

6. Ignoring the critical path

If you do not know which tasks drive the end date, you cannot know which delays matter. Teams expedite work carrying three weeks of float while the real constraint slips below.

Fix: turn the critical path on and re-check it after every change. A task with eight days of float becomes critical the moment it slips nine.

7. No owners — and owners booked at 100%

Tasks without a named owner are everyone's job, which reliably means nobody's. One person per task, not a team: only a person can be asked about it.

Less obviously, assigning one person to overlapping tasks at full load is the same error. Priya at 100% and 100% is not ambitious, it is arithmetically impossible — and the chart will not say so, because bars overlap happily.

Fix: check each assignee's load across the whole timeline, not task by task. Someone at 140% for three weeks is a schedule that has already failed.

8. Letting it go stale

A Gantt chart is a live document with an expiry date. Three weeks without an update and people stop trusting it; then they stop reading it.

Fix: update on a fixed cadence — weekly normally, daily in a crunch — and keep the chart small enough that this takes minutes.

9. No milestones

A wall of bars gives the reader nothing to anchor on. Milestones are how someone outside the project finds the decision points.

Fix: mark approvals, deliveries, gates and go-live as zero-duration milestones and hang the downstream work off them. Four to eight is usually right. Above, the missing milestone was not cosmetic: Design signed off was where five days of review had been hiding.

10. Percent complete measured in elapsed days

This produces the most confident wrong reporting of anything here. Derive progress from elapsed duration and a task nobody has started reports 60% on day twelve of twenty — exactly what happened on 20 April above.

Fix: report a share of the work — templates built, drawings issued, test cases passed — not of the calendar. A task with no countable unit of work is too coarse to track.

11. Re-baselining every time you miss the baseline

A baseline records what you promised. Re-saving it whenever variance turns uncomfortable makes it a record of what you most recently did — a number you already had.

Done monthly, it yields a project on plan against its ninth baseline and four months late against its first.

Fix: re-baseline only for an approved scope change or a formal replan, and keep the old ones. The gap between baseline 1 and baseline 5 is often the most honest description of a project you have.

12. Using a Gantt chart for the wrong thing

Gantt charts are for work with sequence, dependencies and dates. They fit continuous flow and a weekly-reprioritised backlog badly.

Fix: Gantt when order and deadlines matter, a board when they do not. Running both is normal — a board for the week, a Gantt for the quarter.

The symptom for each mistake

Easier to spot by symptom than by definition:

What you noticeThe mistakeThe fix
Not updated in three weeksOver-detailingPlan at the level you report at
A task slips, no date movesNo dependenciesLink what constrains; drag a bar to test
Every task is criticalAll chained FSDelete links that express preference
Small delays move the end dateNo floatVisible buffers before deadlines
You expedited the wrong taskCritical path ignoredTurn it on; re-check after changes
Nobody answers when you askNo ownerOne named person per task
One person's tasks slip togetherBooked over 100%Check load across the timeline
"So what happens when?"No milestonesFour to eight gates, with work behind them
90% complete for a monthProgress from elapsed daysReport a share of work
Green weekly, months lateBaseline re-saved on each missRe-baseline only on approved replans
Rewritten every MondayWrong toolUse a board for flow

A twenty-minute review pass

Run this over a chart you already have, in order. Every step is something you can see, not something you have to judge.

  1. Count the rows. More than you will update weekly? Collapse the detail into phase groups first.
  2. Drag the last task of your first phase two weeks right. Whatever fails to move is not linked. Undo, then add those links in the Runs after column.
  3. Tick Critical path. If everything is striped you have over-linked; if nothing is, you have not linked at all.
  4. Set View to Lookahead, window at 3 weeks. If that looks nothing like what people are doing this week, the chart is already stale.
  5. Open 👥 Workload. Anyone over capacity on any day is an impossible promise inside a plausible chart.
  6. Look for diamonds. Every point where someone outside the team approves, delivers or inspects should be a milestone, with the review time in the lag.
  7. Check the row before each hard deadline. If it ends the day the deadline lands, insert a buffer task and label it as one.
  8. Open ◳ Baseline, choose Set baseline from current plan — once, now that the plan is honest — then Show variance columns.
  9. Ask each owner for progress in units of work, not a percentage. Where the answer and the bar disagree, the bar is wrong.
Notice how few of these are charting mistakes. Switching tools fixes almost none of them: a missing dependency, an over-booked person and a quietly re-saved baseline are decisions, and they follow you into whatever software you move to next.

Templates that use this

Frequently asked questions

What is the most common Gantt chart mistake?

Over-detailing. Charts listing every sub-task become unreadable and are abandoned within weeks, because keeping them current costs more than they return.

How many tasks should a Gantt chart have?

Few enough that you will maintain it — for most projects 15–40 rows. Anything shorter than your reporting cycle belongs inside a task.

Should every task be linked finish-to-start?

No. Chaining every task in one line puts everything on the critical path and makes the plan impossible to re-sequence. Link only what physically constrains.

Why does my project slip even though the chart looked fine?

Usually no float, someone assigned above 100% across overlapping tasks, or progress measured as elapsed duration rather than work done.

Is it wrong to re-baseline a project?

Right for an approved scope change or a formal replan. Re-saving it every time it is missed is not: reports stay green while the delivery date moves.

How often should a Gantt chart be updated?

Weekly for most projects, daily during a crunch. The cadence matters less than it being fixed and sustainable.

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