什么是甘特图?结构、用途与局限
甘特图是把任务画在时间轴上的条形图:一行一个任务,一条横条代表工期。它能回答任务清单回答不了的两个问题——哪些工作在并行,以及某项拖延后什么会跟着后移。
甘特图长什么样
把它想成一张表格:左边是任务名、起止日期、工期和负责人,右边的列变成日历,刻度可为天、周或月。每项任务在对应格子上画一条彩色横条——三周的任务就有三周那么宽。往下读是"要做哪些事",往右读是"时间",两个方向合起来才是一份进度计划。
成熟的图上还有今天线、关键路径高亮和进度填充,把静态计划变成能读状态的报告。今天线越过一条还停在 0% 的横条,不需要任何解释,看图的人自己就读出来了。
六个组成部分
几乎所有甘特图都由同样的六样东西搭起来:
- 任务清单——左侧的行,通常按阶段或工作分解结构(WBS)归组。
- 时间轴(日期坐标)——顶部的日历,刻度可以是天、周或月,它决定了横向比例。
- 任务横条——位置表示什么时候,长度表示多久。
- 里程碑——工期为零的时点,画成菱形,例如一次审批通过、一次开业。因为没有长度,里程碑可以移动,但不能拉长缩短。
- 依赖关系——箭头,表示一项工作必须等另一项结束才能开始。
- 进度——横条内的填充,表示完成百分比,让计划和实际并排出现。
再往上加就是今天线、关键路径高亮和负责人标签,但核心就是这六样。摘要任务(阶段行)不算第七样,它只是把下属任务的起止日期汇总起来的一行。
甘特图用来做什么
凡是多方参与、有先后顺序、还顶着一个交付期的工作,都用得上它。它同时承担六件事:排出进度、明确谁在什么时候负责什么、把依赖关系摆到明面上、跟踪进展让偏差早点暴露、给出一页纸的对外汇报视图,以及揭穿"同一个人同一周被排了三项任务"这种纸面算得通、实际做不完的安排。工程施工、软件研发、市场推广、活动筹备、生产制造、咨询交付和课题研究都是如此。
一个完整的算例:青枫巷咖啡馆改造
定义讲到一定程度就讲不下去了。下面是一个从头到尾算完的小项目——一家社区咖啡馆闭店改造后重新开业——本页后面所有内容都回到它身上。每周五个工作日,2026 年 3 月 2 日(周一)开工。
青枫巷咖啡馆改造。八项任务、两个里程碑,按工作日排,2026 年 3—4 月。
| # | 任务 | 工期 | 前置任务 | 开始 | 结束 |
|---|---|---|---|---|---|
| 1 | 营业执照变更与业主方审批 | 8 天 | — | 3 月 2 日(周一) | 3 月 11 日(周三) |
| 2 | 方案与平面设计 | 6 天 | — | 3 月 2 日(周一) | 3 月 9 日(周一) |
| 3 | 设备订货(供应商交货周期) | 20 天 | 1 | 3 月 12 日(周四) | 4 月 9 日(周四) |
| 4 | 拆除与清运 | 4 天 | 1、2 | 3 月 12 日(周四) | 3 月 17 日(周二) |
| 5 | 水电改造 | 9 天 | 4 | 3 月 18 日(周三) | 3 月 30 日(周一) |
| 6 | 地面与内装施工 | 7 天 | 5 | 3 月 31 日(周二) | 4 月 9 日(周四) |
| 7 | 设备进场安装调试 | 3 天 | 3、6 | 4 月 10 日(周五) | 4 月 14 日(周二) |
| 8 | 消防与食品经营许可验收通过 | 0 天 | 7 | 4 月 15 日(周三) | |
| 9 | 员工培训与试营业 | 5 天 | 8 | 4 月 16 日(周四) | 4 月 22 日(周三) |
| 10 | 正式开业 | 0 天 | 9 | 4 月 23 日(周四) | |
八项任务、两个里程碑,整件事落在 4 月 23 日(周四)。这个日期不是谁挑的,它是从工期和连线里算出来的——这正是画图而不是在文档里敲日期的理由。
还有一件本地才会遇到的事:清明假期是 4 月 4 日至 6 日(周六至周一),4 月 6 日周一不上班。任务 3 和任务 6 都跨过了这一天,于是各自往后顺延一个工作日。gantts.app 的工作日历就是用来登记这类日子的:法定节假日和调休上班日都要标进去,否则一个"三天假"会被算成三个可用工作日,而这份偏差会一路累积到开业那天。
注意这张表说出了任务清单说不出的东西。第 1、2 行都从第一天开始,因为谁也不等谁。第 3 行是二十天的纯等待——钱付出去之后,供应商那边慢慢走,工地上一个人也不占。而第 3 行和第 6 行在同一个周四结束:两条互不相干的链必须在这一刻汇合,设备才进得了场。
怎么读这张图:浮动时间与关键路径
任务连起来以后,图能回答一个清单回答不了的问题:哪些延误是真的要紧的?沿着最长的那条链走——审批、拆除、水电、内装、安装、验收、培训、开业。这就是关键路径,链上每项任务的浮动时间都是零,所以其中任何一处丢掉一天,开业就从 4 月 23 日挪到 4 月 24 日。
设备订货是最值得看的一项:二十天纯交货周期,结束日期恰好和内装施工是同一个周四,因此它的总浮动时间同样是零。也就是说,有两条链各自都能单独把开业日推后——一条是工地上的活,一条是一张采购单。这件事在下单之前弄明白,比下单之后再发现有用得多。
四项任务的总浮动时间
| 任务 | 结束 | 紧后任务开始 | 总浮动时间 | 含义 |
|---|---|---|---|---|
| 方案与平面设计 | 3 月 9 日 | 3 月 12 日 | 2 天 | 可以拖两天,什么都不会动 |
| 设备订货 | 4 月 9 日 | 4 月 10 日 | 0 天 | 关键——到货晚一天,开业晚一天 |
| 地面与内装施工 | 4 月 9 日 | 4 月 10 日 | 0 天 | 关键 |
| 员工培训与试营业 | 4 月 22 日 | 4 月 23 日 | 0 天 | 关键 |
整张表只有一行还有余地。设计师如果要多三天,前两天是白拿的,第三天要拿开业日去换。
关于 gantts.app 怎么算这两个数,有两点必须先讲清。第一,它报的是总浮动时间——一项任务在项目完工日期开始移动之前可以推迟多久——而不是只对紧后任务而言的自由浮动时间,界面上也没有单独的自由浮动列。第二,它的排程是"按摆放位置"计算的:依赖关系只能把任务推得比你摆的位置更晚,永远不会把它往前拉。你把"员工培训"摆到六月去,再连上验收里程碑,它也不会自己退回四月;图会老老实实显示你留下的那段空档,而不是悄悄替你补上。
不同类型项目的样子
咖啡馆改造只是其中一种形状,格式不变,任务随行业换。软件研发走调研、设计、迭代、测试、发版。工程施工把场地准备、基础、施工图审查、分项验收和监理旁站一环扣一环地串起来,几乎每一项都是关键的,最后收在竣工验收。市场推广是几条并行的线,跨部门同时推进。活动筹备则从一个动不了的日期倒着往回排。可以直接从模板库里的软件研发、市场推广或工程施工模板改起,也可以去甘特图示例看十几个算完的例子。
优点与局限
甘特图流行是有道理的,但它不是所有场合的正确工具。
优点:整份进度装进一张图,比一列日期好懂;延误沿依赖链如何传导是看得见的,不用猜;并行横条立刻暴露某段安排过满;外行不用培训也读得懂,适合对业主、对领导汇报;它和关键路径分析天然配套。
局限:任务上百行就又高又难读;没人维护的图比没有图更糟,因为人们还在相信一张早已不成立的画;横条长度是工期不是工时,很容易被误读成投入——咖啡馆那二十天的设备订货几乎不占任何人力。持续性、不可预测的工作用看板更合适。下沉过细也会失效:400 行的计划不是规划,是记账。
这些毛病的解法基本是同一件:用一个会在日期或依赖关系变动时自动重算的工具,而不是一张要手工重画的图。
甘特图、时间轴与看板
三者各干各的活。每张甘特图里都含着一条时间轴,但时间轴不是甘特图。拿咖啡馆改造并排比一下:
| 甘特图 | 时间轴 | 看板 | |
|---|---|---|---|
| 回答的核心问题 | 每项工作什么时候做、按什么顺序? | 有哪几个关键日期? | 现在手上在做什么? |
| 是否表达工期 | 是——横条长度就是工期 | 否——事件是一个点 | 否——卡片没有长度 |
| 是否表达依赖关系 | 是,横条之间画箭头 | 否 | 否 |
| 是否算得出完工日期 | 是,由工期和连线推出 | 否——日期是手工敲进去的 | 否 |
| 咖啡馆改造在其上的样子 | 十行齐全,4 月 23 日是算出来的 | 三个日期:闭店、验收、开业 | "水电改造"停在"进行中"那一列 |
| 什么时候用它 | 有交付期,也有确定的先后顺序 | 只需要展示几个关键节点 | 工作连续流动,没有固定日期 |
与其说是三选一,不如说是三个高度。不少团队就是这么干的:对业主和银行拿甘特图讲进度,工人在场的那两周内部跑看板。
名字的由来
来自美国机械工程师亨利·甘特(Henry L. Gantt,1861—1919),他在 1910 到 1915 年前后让这种画法在工厂生产排程中流行起来,随后又用在战时造船上。严格说他不是第一个:更早二十年,波兰工程师卡罗尔·阿达米茨基已经设计出几乎相同的图,称之为harmonogram,只因主要以波兰语和俄语发表而没能传开。甘特的版本在欧美工业界扩散开来,于是这种图跟了他的姓。
在 gantts.app 里免费做一张
下面就是这份咖啡馆改造在 gantts.app 里的做法,按钮名称与界面上的一致:
- 点✨ 粘贴生成甘特图,把任务清单整段贴进去。括号里的工期、表示连线的
after、以及结尾的!(里程碑)都会被自动识别——例如水电改造 (9d) after 拆除与清运,再写消防与食品经营许可验收通过 !。 - 也可以手工搭:+ 任务加一行工作,◆ 里程碑加一个菱形,▣ 分组加一个阶段。
- 双击某一行打开任务面板,设置前置任务、负责人和进度;如果把里程碑误录成了任务,在类型里改回来即可。
- 先进工作日历,把清明假期 4 月 4 日至 6 日这类法定节假日和随之而来的调休上班日标好。这一步不做,后面所有日期都会偏。
- 点自动排程,把每项任务移到依赖关系允许的最早日期。4 月 23 日这个结束日期就是这一步算出来的。
- 勾上关键路径,两条零浮动的链会以斜纹高亮;点◎ 今天把视图跳回当天。
- 工人进场前点基准存一版,之后的延误就有了对照的基准,而不是和"上周改过的计划"比。
- 用⬇ 导出出 📄 PDF 文档、📊 Excel (.xlsx)、📑 CSV(表格)或📽 PowerPoint (.pptx),或者用📤 分享…拿一个🔗 分享链接。
给业主看的时候,导出前把视图切到仅里程碑:验收和开业两行,对他们来说整个项目就是这两件事。
想看完整流程,读甘特图怎么做,或者用 Excel 怎么做。无需注册、无需下载——一切都在你自己的浏览器里运行和保存。
常见问题
甘特图到底是什么?
一种画在时间轴上的条形图:每行一个任务,横条的位置表示什么时候做、长度表示工期,横条之间的连线表示谁等谁。
甘特图用来做什么?
用于有明确交付期、多方参与、步骤之间存在依赖的项目:工程、产品发布、活动、研究、系统上线。它同时承担排期、分工、跟踪和对外汇报四件事。
甘特图由哪些部分组成?
任务清单、时间轴、任务横条、里程碑菱形、依赖箭头和进度填充六项是核心,多数图还会加一条今天线和高亮的关键路径。
甘特图上的浮动时间是什么?
浮动时间是一项任务在造成损害之前可以拖多久。gantts.app 报的是总浮动时间——完工日期开始移动之前它能吸收的延误——而不是只对紧后任务而言的自由浮动时间,界面上也没有自由浮动列。在咖啡馆改造这个例子里,"方案与平面设计"有 2 天总浮动时间,关键路径上的任务一天也没有。
里程碑可以拉长吗?
不能。里程碑工期为零,画成菱形,代表一个时点而不是一段时间。它可以整体移动,但没有长度可以拖拽。如果你发现自己想把某个里程碑拉宽,那它其实是一项任务,应该改成任务类型。
法定节假日和调休要怎么处理?
在"工作日历"里逐一登记:假期标成非工作日,调休上班的周末标成工作日。以 2026 年清明为例,4 月 4 日至 6 日休假,跨过这三天的任务会自动顺延。不登记的话,一个三天假会被当成三个可用工作日,误差会一路累积到最后一个里程碑。
甘特图和时间轴有什么区别?
时间轴只是一条线上的若干个日期事件,没有工期和依赖关系。甘特图有多条并行的任务横条、依赖箭头、负责人和进度,所以能用来管理工作,而不只是展示关键日期。
甘特图和项目进度计划有什么区别?
进度计划涵盖范围、预算、风险与资源;甘特图是它在时间维度上的呈现,是其中一部分,不是全部。
现在还有必要用甘特图吗?
对有顺序、有期限的项目仍然有必要。对持续运营或范围开放的工作,看板或迭代看板更合适。不少团队两者并用:甘特图对外讲进度,看板对内跑日常。
可以免费做甘特图吗?
可以。gantts.app 在浏览器里免费用,无需注册、无需下载,依赖关系和关键路径自动计算,之后可导出 PDF、PNG、Excel 或 PowerPoint。
延伸阅读
本文也提供英文版本。