Gantt chart đẹp, CPM bài bản — nhưng khi chủ đầu tư gọi hỏi "sao tiến độ chậm?", PM vẫn loay hoay tìm file Excel. Vấn đề không phải ở công cụ. Vấn đề là hầu hết PM Việt Nam vẽ Gantt để trình duyệt, chứ không dùng CPM để điều hành. Bài này thay đổi điều đó.
🗓️ 1. Gantt Chart Là Gì — Và Tại Sao Nó Không Đủ?
Gantt chart do Henry Gantt phát minh từ đầu thế kỷ 20 — một thanh ngang biểu diễn công việc theo thời gian. Đơn giản, trực quan, ai cũng hiểu ngay. Đó là lý do Gantt vẫn tồn tại sau 100 năm trong ngành xây dựng.
Nhưng Gantt thuần túy có một điểm mù nghiêm trọng: nó cho bạn biết công việc kéo dài bao lâu, nhưng không cho biết công việc nào ảnh hưởng đến ngày hoàn thành dự án.
Nhìn vào biểu đồ trên: công việc "Đặt hàng cốt thép" có float 2 tuần (màu xanh lá nhạt). Chậm 1 tuần không sao. Nhưng "Móng → Cột tầng 1–3 → Cột tầng 4–5 → Bàn giao" là đường màu đỏ — chậm 1 ngày ở bất kỳ bước nào là bàn giao chậm 1 ngày.
🔗 2. CPM — Critical Path Method Là Gì?
CPM (Critical Path Method — Phương pháp đường găng) ra đời năm 1957 từ dự án xây dựng nhà máy hóa chất DuPont. Nguyên lý: mạng công việc (Activity Network) + thời gian mỗi công việc = tìm ra chuỗi công việc dài nhất không có thời gian đệm.
Chuỗi đó là đường găng. Thời gian đường găng = thời gian tối thiểu hoàn thành dự án.
Bốn thông số CPM mỗi PM cần thuộc
| Ký hiệu | Tên | Ý nghĩa thực chiến |
|---|---|---|
| ES | Early Start | Sớm nhất công việc có thể bắt đầu |
| EF | Early Finish | Sớm nhất công việc có thể kết thúc |
| LS | Late Start | Trễ nhất được bắt đầu mà không trễ dự án |
| LF | Late Finish | Trễ nhất được kết thúc mà không trễ dự án |
| TF | Total Float | LS − ES = thời gian có thể trễ tối đa. TF = 0 → đây là công việc găng |
| FF | Free Float | Trễ được bao nhiêu ngày mà không ảnh hưởng ES của công việc kế tiếp |
🧮 3. Tính CPM Tay — Ví Dụ Thực Tế Dự Án Nhà Phố
Dự án: nhà phố 4 tầng, Q.3 TP.HCM, hợp đồng xây dựng giá trị 4,2 tỷ VND. PM cần lập CPM cho giai đoạn phần thô (từ ngày cọc đến sàn mái).
Danh sách công việc (Activity List)
| Mã | Công việc | Thời gian (ngày) | Trước đó |
|---|---|---|---|
| A | Cọc khoan nhồi | 8 | — |
| B | Đào đất, đổ bê tông đài cọc | 5 | A |
| C | Đặt hàng thép IPN / cột thép | 3 | A |
| D | Cột + sàn tầng 1 | 7 | B, C |
| E | Cột + sàn tầng 2 | 7 | D |
| F | Cột + sàn tầng 3 | 7 | E |
| G | Cột + sàn tầng 4 + mái | 7 | F |
| H | Lắp điện nước âm tường | 4 | D |
| I | Kiểm tra nghiệm thu kết cấu | 2 | G, H |
Forward Pass — Tính ES và EF
Đi từ đầu đến cuối mạng, tính thời điểm sớm nhất:
- A: ES=0, EF=8
- B: ES=8 (sau A), EF=13
- C: ES=8 (sau A), EF=11
- D: ES=max(13,11)=13 (cần cả B và C xong), EF=20
- E: ES=20, EF=27
- F: ES=27, EF=34
- G: ES=34, EF=41
- H: ES=20, EF=24
- I: ES=max(41,24)=41, EF=43
→ Thời gian dự án: 43 ngày làm việc (~9 tuần).
Backward Pass — Tính LS và LF
Đi ngược từ cuối về đầu, ấn định LF=43 cho công việc cuối (I):
- I: LF=43, LS=41 → TF=0 ✔️ găng
- G: LF=41, LS=34 → TF=0 ✔️ găng
- H: LF=41, LS=37 → TF=17 — không găng, có 17 ngày đệm
- F: LF=34, LS=27 → TF=0 ✔️ găng
- E: LF=27, LS=20 → TF=0 ✔️ găng
- D: LF=20, LS=13 → TF=0 ✔️ găng
- C: LF=13, LS=10 → TF=2 — không găng
- B: LF=13, LS=8 → TF=0 ✔️ găng
- A: LF=8, LS=0 → TF=0 ✔️ găng
📋 4. Tích Hợp CPM Vào Thực Tế Công Trường Việt Nam
Lý thuyết CPM chuẩn — nhưng công trường Việt Nam có những biến số riêng mà sách giáo khoa không đề cập.
4.1 Công việc song song thực tế vs. lý thuyết
CPM giả định mỗi công việc độc lập sau khi predecessor hoàn thành. Thực tế: thợ xây đội A vừa đổ sàn tầng 2 vừa xây tường tầng 1 — Finish-to-Start không đủ diễn đạt; phải dùng lag/lead:
- FS+3: bắt đầu sau khi predecessor kết thúc 3 ngày (bê tông cần đủ cường độ)
- SS+2: bắt đầu 2 ngày sau khi predecessor bắt đầu (trát theo sau đổ bê tông)
- FF-1: kết thúc 1 ngày trước khi predecessor kết thúc (hoàn thiện trước khi nghiệm thu)
4.2 Ngày nghỉ lễ Việt Nam và ngày nghỉ thực tế
| Yếu tố | Tác động CPM | Xử lý |
|---|---|---|
| Tết Nguyên Đán (7–14 ngày) | Đường găng gián đoạn toàn phần | Thêm non-working period, tính lại EF/LF toàn mạng |
| Mùa mưa TP.HCM (tháng 5–11) | Công việc ngoài trời giảm 15–25% năng suất | Inflate duration thêm 1.2× cho A, B tháng mưa |
| Thiếu thợ sau Tết (tuần 1–2) | Float bị ăn dần | Buffer 3–5 ngày vào LS cho công việc đầu tiên |
| Chờ nghiệm thu từ giám sát CĐT | Tạo dependency giả vào CPM | Thêm hoạt động "Chờ nghiệm thu" 1–2 ngày vào mạng |
4.3 Resource Leveling — Cân bằng nhân lực
CPM thuần cho biết ngày nhưng không quan tâm có đủ thợ không. Sau khi tìm đường găng, kiểm tra: nếu 3 công việc song song cùng cần thợ nề — float ở công việc không găng cho phép PM dịch chuyển công việc đó để giảm đỉnh nhân lực mà không kéo dài dự án.
🛠️ 5. Công Cụ — MS Project vs. GEM AI PM Pro vs. Excel
| Tiêu chí | Excel Gantt thủ công | MS Project | GEM AI PM Pro |
|---|---|---|---|
| CPM tự động | ❌ Phải tính tay | ✅ Có | ✅ Có (module Gantt: tính hai chiều, quan hệ FS/SS/FF/SF, lag/lead, Total Float) |
| Highlight đường găng | ❌ Tô màu tay | ✅ Tự động | ✅ Đánh dấu đường găng và hiển thị float |
| Import từ MS Project | ❌ | ✅ Native | ✅ Import file XML xuất từ MS Project |
| EVM (SPI / CPI) | ❌ | ✅ | Có chỉ số CPI theo từng công việc trên Gantt; SPI tính ngoài |
⚡ 6. Những Sai Lầm PM Hay Mắc Khi Dùng CPM
Sai lầm 1: Không cập nhật tiến độ thực tế
CPM chỉ có giá trị khi baseline được cập nhật định kỳ. PM lập CPM ngày D+0, sau đó bỏ trong folder tới khi CĐT hỏi. Lúc đó "cập nhật" bằng cách tô đỏ vài thanh — vô nghĩa về mặt quản lý.
Nguyên tắc: Cập nhật % hoàn thành tối thiểu 2 lần/tuần. Sau mỗi cập nhật, phần mềm tự tính lại đường găng — có thể xuất hiện đường găng mới mà bạn chưa để ý.
Sai lầm 2: Quá nhiều activities
Ví dụ minh họa: một PM làm CPM cho dự án văn phòng 12 tầng với hơn 2.000 activities. Kết quả: không ai nhìn được, không ai cập nhật được, CPM thành giấy tờ hơn là công cụ điều hành.
Quy tắc ngón tay cái: Level 1 (tổng thể) không quá 30–50 activities. Level 2 (từng gói thầu) 50–150 activities. Level 3 (thợ thực hiện) mới chi tiết theo ngày/tổ.
Sai lầm 3: Không phân biệt Hard Logic vs. Soft Logic
- Hard Logic (mandatory dependency): bê tông phải đủ cường độ mới tháo cốp pha — không thể thay đổi bằng cách tăng nhân lực. CPM phải tôn trọng.
- Soft Logic (discretionary dependency): theo kinh nghiệm thường làm A trước B, nhưng kỹ thuật không bắt buộc. Khi bị chậm, đây là nơi PM có thể fast-track bằng cách làm song song.
Sai lầm 4: Dùng CPM một mình không có Risk Register
CPM tính toán với duration xác định. Thực tế là uncertain: cọc khoan nhồi gặp đá → +3 ngày. Mưa to tuần 3 → +2 ngày. Thêm Monte Carlo simulation hoặc đơn giản hơn là thêm contingency buffer 10–15% vào total float của đường găng trong hợp đồng.
📊 7. CPM Và EVM — Bộ Đôi Không Thể Tách
CPM trả lời "khi nào xong?" — EVM trả lời "xong đúng tiến độ thì tốn bao nhiêu tiền?" Kết hợp hai phương pháp cho PM bức tranh hoàn chỉnh:
- Đường găng chậm 5% → SPI < 1.0 → dự báo chậm X tuần
- Float bị tiêu hết → cần thêm ca tăng ca → chi phí tăng → CPI sẽ giảm
- Khi SPI < 0.9 liên tục 2 tuần (ngưỡng nội bộ tham khảo, không phải quy định) → báo cáo CĐT kèm phương án điều chỉnh tiến độ và chi phí phát sinh; việc có được điều chỉnh hay không phụ thuộc thỏa thuận trong hợp đồng (Nghị định 210/2026, Điều 25 khoản 1)
🏗️ 8. Quy Trình CPM 7 Bước Cho PM Xây Dựng
Checklist lập CPM từ đầu
- Phân rã công việc (WBS): từ scope hợp đồng → breakdown theo gói thầu → activities level 2
- Xác định trình tự logic: cho mỗi activity, liệt kê predecessors và loại dependency (FS, SS, FF, SF) + lag
- Ước tính thời gian: tham khảo định mức dự toán xây dựng (Thông tư 38/2026/TT-BXD, là mức hao phí trung bình), điều chỉnh theo năng suất và kinh nghiệm công trường thực tế
- Vẽ mạng công việc: AON (Activity-on-Node) — mỗi ô là một activity, mũi tên là dependency
- Forward & Backward Pass: tính ES, EF, LS, LF, TF cho từng activity
- Xác định đường găng: highlight các activity TF=0; kiểm tra xem đường găng có logic không
- Cập nhật định kỳ: nhập % hoàn thành thực tế 2 lần/tuần → phân tích schedule variance
⏱️ 9. Tóm Tắt 60 Giây
| Khái niệm | Nhớ gì | Ứng dụng ngay |
|---|---|---|
| Đường găng | Chuỗi activities dài nhất, TF = 0 | Đặt đây là "tuyến bảo vệ" — không để chậm dù 1 ngày |
| Total Float | Ngày có thể chậm mà không trễ dự án | Float < 3 ngày → monitor hàng ngày |
| Fast-tracking | Làm song song 2 công việc vốn tuần tự | Dùng khi chậm tiến độ, chấp nhận tăng rủi ro chất lượng |
| Crashing | Thêm nguồn lực vào activities găng để rút ngắn | Tính cost-slope trước: không phải việc nào cũng rẻ khi crash |
| Resource leveling | Dịch chuyển float để giảm đỉnh nhân lực | Làm sau khi có CPM, trước khi confirm tiến độ với NTP |
| Baseline vs. current | Lưu baseline ngày ký hợp đồng, đừng bao giờ xóa | Mọi so sánh tiến độ phải so với baseline, không phải "cảm giác" |
🗂️ Log Audit Bài Viết
Bài này được rà soát hiệu lực văn bản định kỳ. Toàn bộ nội dung phía trên đã áp theo văn bản đang hiệu lực tại thời điểm rà soát gần nhất; bảng dưới ghi lại các lần thay đổi và lý do.
| Ngày | Cờ | Thay đổi | Lý do |
|---|---|---|---|
| 12/10/2026 | ❌ Sửa lỗi | Mô tả công cụ: gỡ "liên kết thẳng BOQ", "S-Curve + EVM tích hợp", "Import .mpp", dòng giá thuê bao và dòng cập nhật mobile; ghi lại đúng khả năng hiện có (CPM hai chiều, FS/SS/FF/SF, lag/lead, Total Float, import XML từ MS Project, CPI theo công việc) và nêu rõ chưa có sơ đồ mạng riêng, chưa tự san tải. | Bản cũ nói nhiều hơn những gì app đang làm; người đọc cần biết đúng phạm vi để chọn công cụ. |
| 12/10/2026 | 🔄 Thay căn cứ | Khung pháp lý tiến độ: "Nghị định 37/2015 Điều 37" (báo cáo khi chậm ≥10% trong 7 ngày) và định mức Thông tư 13/2021 → Nghị định 207/2026 Điều 19, Nghị định 210/2026 Điều 10, 25, định mức dự toán Thông tư 38/2026/TT-BXD. Ví dụ "hợp đồng NĐ37/2015" đổi thành "hợp đồng xây dựng". | Nghị định 37/2015 hết hiệu lực từ 01/07/2026, và Điều 37 cũ không có ngưỡng 10%/7 ngày như bài từng ghi. Nay nghĩa vụ là lập, được chấp thuận và theo dõi tiến độ; hình thức và gia hạn do hợp đồng thỏa thuận. Gantt/CPM/SPI là phương pháp, không phải nghĩa vụ luật. |
| 12/10/2026 | ⚠️ Lưu ý chuyển tiếp | Thêm khối ngắn về dự án khởi công trước 01/07/2026. | Hợp đồng ký trước mốc có thể theo quy định chuyển tiếp (Nghị định 210/2026 Điều 33). |
| 25/04/2026 | 📄 Xuất bản | Đăng bài lần đầu. | — |
Bài viết tổng hợp từ Nghị định 207/2026/NĐ-CP, Nghị định 210/2026/NĐ-CP và Thông tư 38/2026/TT-BXD. Rà soát hiệu lực gần nhất: 12/10/2026.
GEM AI PM Pro — Gantt & CPM Tích Hợp Sẵn
Import file XML từ MS Project, đánh dấu đường găng và float ngay trên Gantt, quan hệ FS/SS/FF/SF kèm lag/lead.
Dùng thử miễn phí 30 ngày →Demo: demo@gemclaudepm.com / Demo2026 · Không cần thẻ tín dụng