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 NĐ37/2015, 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ó (Gantt module) |
| Highlight đường găng | ❌ Tô màu tay | ✅ Tự động | ✅ Tự động |
| Import từ MS Project | ❌ | ✅ Native | ✅ Import .mpp (S21–S22) |
| Kết nối BOQ / chi phí | ❌ File riêng | Hạn chế | ✅ Liên kết thẳng BOQ |
| Cập nhật thực tế mobile | ❌ | ❌ | ✅ L0 screen công nhân |
| EVM (SPI / CPI) | ❌ | ✅ | ✅ S-Curve + EVM tích hợp |
| Chi phí hàng tháng | Gần 0 | ~1.2–1.8 tr/tháng/user | ~200k–500k/tháng/project |
⚡ 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
Một PM tại Hà Nội từng 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 → báo cáo CĐT theo NĐ37/2015 Điều 37: lập phương án điều chỉnh tiến độ kèm chi phí phát sinh
🏗️ 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: dùng định mức TT13/2021 làm cơ sở, điều chỉnh theo 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" |
GEM AI PM Pro — Gantt & CPM Tích Hợp Sẵn
Import MS Project, tự động highlight đường găng, liên kết thẳng BOQ và chi phí. PM không cần Excel riêng — mọi thứ trong một màn hình.
Dùng thử miễn phí 30 ngày →Demo: demo@gemaipm.com / Demo2026 · Không cần thẻ tín dụng