Ngày go-live "chắc chắn" chỉ đạt được 8% số lần mô phỏng: phân tích rủi ro tiến độ bằng Monte Carlo
Lịch dự án ERP ghi go-live ở ngày làm việc thứ 120, nhưng ba nhánh công việc cùng hội tụ vào một mốc. Mô phỏng Monte Carlo cho thấy ngày đó chỉ đạt được khoảng 8% số lần lặp. Cách đọc đường cong S, hiểu merge bias và chọn mức dự phòng tiến độ có căn cứ.
Tình huống và số liệu dưới đây là giả định, dùng để minh hoạ.
Một công ty phân phối dược phẩm triển khai hệ thống ERP. Lịch tổng thể do PMO lập theo phương pháp đường găng (critical path method – CPM) cho ra ngày go-live ở ngày làm việc thứ 120 kể từ khi khởi động. Ban giám đốc đã thông báo ngày này cho các chi nhánh.
Trước mốc go-live có ba nhánh công việc chạy song song và cùng hội tụ:
Nhánh A – Chuyển đổi dữ liệu (làm sạch, ánh xạ, chạy thử ba vòng).
Nhánh B – Tích hợp với hệ thống kho và cổng hoá đơn điện tử.
Nhánh C – Đào tạo và kiểm thử chấp nhận người dùng (UAT) tại 6 chi nhánh.
Trưởng mỗi nhánh đều tự tin: "Nhánh của tôi khoảng 60–70% khả năng xong đúng hạn". Không ai thấy lo, vì từng nhánh đều "nhiều khả năng đúng hạn".
PM quyết định chạy phân tích rủi ro tiến độ (schedule risk analysis – SRA) bằng mô phỏng Monte Carlo. Với mỗi hoạt động chính, chị thu ba ước lượng: lạc quan (O), nhiều khả năng nhất (M), bi quan (P). Ví dụ:
Hoạt động
O
M
P
Trung bình tam giác (O+M+P)/3
Trung bình PERT (O+4M+P)/6
Chuyển đổi dữ liệu vòng 1–3
30
40
65
45,0
42,5
Tích hợp cổng hoá đơn
20
25
40
28,3
26,7
UAT tại chi nhánh
15
18
30
21,0
19,5
Cả hai cách tính trung bình đều lớn hơn M, vì phía bi quan kéo dài hơn phía lạc quan: phân phối thời lượng thường lệch phải. Lịch CPM lại dùng M — nghĩa là ngay từ đầu, mỗi hoạt động đã được xếp ở mức "lạc quan hơn trung bình".
Sau 10.000 lần lặp, phần mềm cho ra đường cong S (phân phối tích luỹ) của ngày go-live:
Mức tin cậy
Ngày làm việc
P10
121
P50
131
P80
140
P90
145
Ngày 120 trong lịch chỉ đạt được ở khoảng 8% số lần lặp.
Thứ nhất, như trên, dùng M cho phân phối lệch phải làm mỗi hoạt động ngắn hơn trung bình của chính nó.
Thứ hai, và quan trọng hơn, là merge bias (độ lệch tại điểm hội tụ). GAO Schedule Assessment Guide giải thích: rủi ro tại điểm hội tụ có tính nhân. Nếu ba nhánh độc lập, mỗi nhánh có 60% khả năng xong đúng hạn, xác suất cả ba cùng đúng hạn chỉ là:
0,6 × 0,6 × 0,6 = 0,216 ≈ 22%
Từng nhánh "nhiều khả năng đúng hạn", nhưng mốc hội tụ lại "nhiều khả năng trễ". CPM không thấy điều này, vì CPM chỉ cộng các thời lượng đơn điểm trên đường dài nhất.
Monte Carlo làm gì
Phương pháp Monte Carlo — được Stanisław Ulam và John von Neumann phát triển cuối thập niên 1940 tại Los Alamos — giải bài toán bằng cách lấy mẫu ngẫu nhiên lặp lại nhiều lần. Với lịch dự án, mỗi lần lặp rút ngẫu nhiên một thời lượng cho từng hoạt động (theo phân phối O/M/P), tính lại toàn bộ mạng, ghi lại ngày kết thúc. Hàng nghìn lần lặp cho ra một phân phối ngày kết thúc thay vì một con số duy nhất. NASA Risk Management Handbook cũng mô tả cách lan truyền bất định của các tham số đầu vào qua mô hình bằng lấy mẫu Monte Carlo để thu được phân phối của chỉ số đầu ra.
Vị trí trong các quy trình
Theo PMBOK® Guide ấn bản 6, mô phỏng (simulation) là công cụ của Perform Quantitative Risk Analysis (11.4) và cũng được dùng trong phân tích dữ liệu của Develop Schedule (6.5) dưới dạng what-if. Đầu ra là đánh giá rủi ro tổng thể của dự án (overall project risk) — câu trả lời cho câu hỏi "khả năng đạt mục tiêu tiến độ là bao nhiêu?", điều mà sổ đăng ký rủi ro từng dòng không trả lời được.
Theo PMBOK® Guide ấn bản 7, việc này giao nhau giữa ba lĩnh vực hiệu suất: Planning (ước lượng có phạm vi thay vì một con số), Uncertainty (định lượng mức bất định) và Measurement (dự báo dựa trên dữ liệu).
Cách xử lý
Bước 1: Kiểm tra "sức khoẻ" lịch trước khi mô phỏng
Mô phỏng trên một lịch hỏng chỉ cho ra con số sai một cách chính xác. GAO đặt SRA là thực hành tốt thứ 8, sau khi lịch đã có logic đầy đủ, ít ràng buộc ngày cứng và đường găng hợp lệ. PM kiểm tra: hoạt động "treo" không có kế nhiệm, ràng buộc kiểu Must Finish On, lag bất thường.
Bước 2: Thu thập ước lượng ba điểm và các yếu tố rủi ro
Lấy O/M/P từ người thực hiện, phỏng vấn riêng để tránh bị "neo" theo ý kiến cấp trên.
Bổ sung rủi ro dạng sự kiện (risk driver), ví dụ: "Nhà cung cấp cổng hoá đơn đổi API – xác suất 30%, kéo dài 10–20 ngày".
Khai báo tương quan (correlation) giữa các hoạt động cùng chịu chung một nguyên nhân, ví dụ cùng một đội tích hợp. GAO lưu ý tương quan làm rộng phân phối và đẩy P80 ra xa hơn, dù P50 gần như không đổi.
Bước 3: Chạy mô phỏng và đọc kết quả
Đường cong S: đọc xác suất của ngày đã cam kết và ngày ứng với mức tin cậy mong muốn.
Chỉ số trọng yếu (criticality index): tỷ lệ lần lặp mà một hoạt động nằm trên đường găng. Ví dụ, chuyển đổi dữ liệu nằm trên đường găng ở 55% số lần lặp, dù lịch CPM xếp nó là "không găng".
Phân tích độ nhạy: xếp hạng hoạt động/rủi ro theo mức đóng góp vào độ trễ của P80. GAO mô tả cách làm: lần lượt bỏ từng rủi ro ra, chạy lại, xem P80 dịch bao nhiêu ngày.
Bước 4: Định cỡ dự phòng tiến độ có căn cứ
GAO gợi ý tính dự phòng tiến độ (schedule contingency) bằng khoảng cách giữa ngày ở mức tin cậy mong muốn và ngày tất định:
Dự phòng tại P80 = 140 − 120 = 20 ngày làm việc
Dự phòng đặt thành một hoạt động riêng trước mốc cam kết, do PM nắm giữ và chỉ được dùng qua quy trình kiểm soát thay đổi — để việc tiêu hao được nhìn thấy, thay vì "giấu" vào từng hoạt động.
Bước 5: Ứng phó, chạy lại, rồi mới cam kết
PM đưa ra ba phương án cho sponsor: (1) giữ ngày 120 cho một phạm vi nhỏ hơn (go-live trước 3 chi nhánh); (2) bổ sung một đội chuyển đổi dữ liệu để giảm P của nhánh A, chạy lại mô phỏng; (3) công bố ngày mới tại P80. Sau mỗi ứng phó, mô phỏng được chạy lại vì phân phối đã thay đổi.
Sai lầm thường gặp
Mô phỏng thay cho tư duy: nhập O/M/P "cho có" (ví dụ M ± 10% cho mọi hoạt động) thì kết quả không phản ánh rủi ro thật.
Bỏ qua tương quan: các hoạt động có chung nguyên nhân bị coi là độc lập, làm phân phối hẹp giả tạo và P80 quá lạc quan.
Cam kết ở P50: GAO lưu ý phân phối tiến độ thường lệch phải, nên mốc 50–65% để lại rủi ro trễ đáng kể.
Cộng dự phòng vào từng hoạt động: dự phòng bị "tiêu" hết theo định luật Parkinson, và không ai biết dự án còn bao nhiêu biên.
Chạy một lần rồi cất: SRA cần cập nhật khi tiến độ thực tế và rủi ro thay đổi.
Góc ôn thi PMP
Monte Carlo là kỹ thuật định lượng; nó cho phân phối xác suất của toàn dự án, không phải xếp hạng xác suất – tác động từng rủi ro (đó là phân tích định tính).
Nhớ merge bias: xác suất các đường song song độc lập cùng đúng hạn = tích các xác suất.
Đề hay hỏi "PM nên làm gì khi sponsor muốn một ngày chắc chắn hơn?" → định lượng rủi ro, trình bày ngày kèm mức tin cậy, rồi để người có thẩm quyền quyết định mức chấp nhận rủi ro.
Dự phòng tiến độ (contingency) dành cho rủi ro đã nhận diện, nằm trong đường cơ sở; dự trữ quản lý (management reserve) cho rủi ro chưa biết, nằm ngoài đường cơ sở.
Mô phỏng Monte Carlo cho thấy ngày go-live đã công bố (ngày 120) chỉ đạt khoảng 8%, P50 là ngày 131 và P80 là ngày 140. Sponsor cần một ngày để thông báo lại cho các chi nhánh. Nếu là PM, bạn khuyến nghị gì?