Float là gì và cách tính Float trong kỳ thi PMP
Trong quá trình thực hiện dự án, luôn có những thay đổi xuất hiện và ảnh hưởng tới dự án, đặc biệt là tới tiến độ. Chúng ta cần phải xác định được những khoảng thời gian linh hoạt về tiến độ khi lập kế hoạch dự án nhằm ứng phó với những thay đổi. Những khoảng linh hoạt này được gọi là Float, là khoảng thời gian mà một hoạt động / một dự án có thể bị trì hoãn mà KHÔNG làm trì hoãn những hoạt động khác, ngày kết thúc dự án, hoặc vi phạm một giới hạn về tiến độ. Một thuật ngữ khác của Float đó là Slack, tuy nhiên hiếm khi thuật ngữ này xuất hiện trong bài thi PMP.
Mục Lục
Các loại Float
-
Total Float
: là khoảng thời gian mà một hoạt động có thể bị trì hoãn mà không làm trì hoãn ngày kết thúc dự án hoặc một milestone, trong khi vẫn tuân thủ mọi ràng buộc về giới hạn tiến độ (ví dụ dự án phải kết thúc trong 3 tháng). Đây là loại Float chính, khi nhắc đến Float thì chúng ta ngầm hiểu ở đây là Total Float.
-
Free Float
: là khoảng thời gian mà một hoạt động có thể bị trì hoãn mà không làm trì hoãn ngày bắt đầu sớm nhất (Early Start – sẽ tìm hiểu ngay dưới đây) của một hoặc nhiều hoạt động kế nhiệm (successor activities) trong khi vẫn tuân thủ mọi ràng buộc về giới hạn tiến độ. Dành cho các hoạt động KHÔNG nằm trên đường tới hạn – Critical Path.
-
Project Float
: là khoảng thời gian mà một dự án có thể bị trì hoãn mà không làm trì hoãn ngày hoàn thành dự án do khách hàng / ban quản lý yêu cầu hoặc ngày mà Project Manager đã cam kết trước đó.
Mối tương quan giữa Critical Path và Float
Như chúng ta cũng đã biết, phương pháp đường tới hạn (Critical Path Method – CPM) là một công cụ quan trọng để giữ cho các dự án đi đúng tiến độ. Khi phân tích Network Diagram của dự án, luôn có tối thiểu một đường tới hạn (Critical Path), đây là chuỗi các hoạt động, mà khi cộng khoảng thời gian (duration) của các hoạt động này lại, sẽ có giá trị lớn nhất so với những đường còn lại. Một điểm quan trọng cần lưu ý về Critical Path là mọi hoạt động đơn lẻ trên đường tới hạn phải hoàn thành đúng thời hạn để dự án có thể kết thúc đúng hạn. Sự chậm trễ trong bất kỳ hoạt động nào trên đường tới hạn cũng sẽ khiến toàn bộ dự án bị trễ theo, đó chính là lý do tại sao gọi đây là Critical Path (đường tới hạn, đường quan trọng).
Chính vì vậy, các hoạt động trên đường Critical Path thường có Float bằng 0. Khi các hoạt động trên đường Critical Path bị trễ hoặc dự án đang bị áp ngày hoàn thành (ví dụ tổng duration của Critical Path là 100 ngày, ngày hoàn thành bị áp xuống là 90 ngày) có thể dẫn đến float bị âm. Điều này cần phải được xác định và giải quyết trước khi dự án bước vào giai đoạn thực hiện, và Project Manager có trách nhiệm đảm bảo dự án có một tiến độ thực tế và có thể đạt được.
(Xem thêm: 10 mẹo hiệu quả đảm bảo quản lý dự án thành công)
Tính Float với Forward Pass và Backward Pass
Con số float sẽ cho chúng ta biết chúng ta có bao nhiêu thời gian linh hoạt cho mỗi hoạt động. Đôi khi, trong lúc làm bài thi PMP, đề thi được trình bày theo cách mà chúng ta có thể đơn giản nhẩm ra được con số Float, nhưng đa số sẽ cần phải tính toán thủ công. Float được tính bằng một trong các công thức sau:
Float = Late start (LS) – Early start (ES)
Float = Late finish (LF) – Early finish (EF)
Free Float = ES of next Activity – EF of current Activity – 1
Trong đó:
-
Early start
: Là thời gian sớm nhất mà một hoạt động có thể bắt đầu. Một hoạt động cuối cùng của một đường trong network diagram sẽ chỉ bắt đầu sớm nếu tất cả các hoạt động trước đó (cùng thuộc một đường) cũng bắt đầu sớm. Nếu ngày bắt đầu sớm nhất của một trong những hoạt động trước đó trong cùng một đường bị dời, sẽ khiến cho ngày bắt đầu sớm nhất của những hoạt động sau đó bị dời theo.
-
Early finish
: Là thời gian sớm nhất mà một hoạt động có thể kết thúc. Đó là ngày mà một hoạt động sẽ kết thúc nếu tất cả các hoạt động trước đó bắt đầu sớm (early start) và không có hoạt động nào bị trì hoãn.
-
Late start
: Là thời gian muộn nhất mà một hoạt động có thể bắt đầu. Nếu một hoạt động nằm trên một đường ngắn hơn nhiều so với Critical Path, thì nó có thể bắt đầu rất muộn mà không làm chậm trễ dự án
–
nhưng những sự chậm trễ này sẽ tăng lên nhanh chóng nếu các hoạt động khác trên đường đó cũng trì hoãn.
-
Late finish
: Là thời gian muộn nhất mà một hoạt động có thể kết thúc. Nếu một hoạt động nằm trên một đường không phải Critical Path, trong khi tất cả các hoạt động khác trên đường đó bắt đầu và kết thúc sớm (early start, early finish), thì hoạt động này có thể kết thúc rất muộn mà không khiến dự án bị trễ.
Ví dụ, theo hình trên:
-
Critical path là Start-A-B-C-Finish và có tổng duration là (6 + 5 + 7) = 18.
-
Một đường khác là Start-D-C-Finish có tổng duration là (2 + 7) = 9. Ngắn hơn rất nhiều so với Critical Path, do đó sẽ thoải mái hơn rất nhiều khi làm những hoạt động trên đường này (trừ C, vì C nằm trên Critical Path).
-
Khi triển khai hoạt động D với early start và early finish thì D có thể kết thúc sớm hơn rất nhiều so với A, B, và C. Điều đó có nghĩa là nguồn lực đang dành cho D sẽ được giải phóng sớm.
-
Thậm chí nếu D có bắt đầu khá trễ đi nữa thì tiến độ dự án vẫn có thể đảm bảo (vì đường có D ngắn hơn nhiều so với Critical Path).
Tính Early start, Early finish, Late start, Late finish như thế nào?
Chúng ta sẽ sử dụng phương pháp Forward pass để tìm ra early start và early finish. Khi đã làm xong, chúng ta tiếp tục sử dụng Backward pass để tìm late start và late finish. Điều này làm cho network diagram trở nên phức tạp hơn một chút, nhưng sẽ cung cấp cho chúng ta nhiều thông tin có giá trị. Một hoạt động có thể được ghi chú các chỉ số ES, EF, LS, LF như sau:
-
Forward Pass, tính từ trái qua phải trên Network Diagram để tìm ra early start và early finish
: Bắt đầu với Critical Path và tiến về phía trước qua mỗi hoạt động trên network diagram phía trên. Có ba bước như sau để tìm ra early start và early finish:
-
1. Ngày bắt đầu của hoạt động đầu tiên (A) là đầu ngày 1, nên ES (early start) của hoạt động đầu tiên là 1. Ngày kết thúc của hoạt động đầu tiên (A) là cuối ngày 6, nghĩa là EF (early finish) của bất kỳ nhiệm vụ nào sẽ bằng ES cộng với duration của nó trừ đi 1. Vì vậy, với hoạt động A
(
đây là hoạt động đầu tiên trên đường
Start-A-B-C-Finish
)
thì
có
ES = 1 và EF = 1 + 6 – 1 = 6.
Sở dĩ có số “-1” trong công thức trên là vì early start tính là đầu ngày, còn early finish tính là cuối ngày; nếu hoạt động A kéo dài 1 ngày thì early start là đầu ngày 1 và early finish là cuối ngày 1, và cả ES cùng EF đều là 1.
-
2. Bây giờ hãy chuyển sang hoạt động tiếp theo trên đường
Start-A-B-C-Finish,
chính là
hoạt động B trong sơ đồ này. Hoạt động B có thể bắt đầu ngay sau khi hoạt động A kết thúc, vậy để tìm ra ES, lấy EF của nhiệm vụ trước đó và cộng 1. Vì vậy, đối với
h
oạt động B, có thể tính ES = 6 + 1 = 7 và EF = 7 + 5 – 1 = 11.
-
3. Hoạt động C có hai hoạt động tiền nhiệm là B và D. Vậy chúng ta sẽ sử dụng EF của B hay D để tính ES cho C? Vì C không thể bắt đầu cho đến khi cả B và D được hoàn thành, vì vậy hãy sử dụng hoạt động nào có EF trễ nhất. Chúng ta cần tìm ra EF của hoạt động D (ES của
D
là 1
vì là hoạt động đầu tiên
, vì vậy EF của nó là 1 + 2 – 1 = 2). Bây giờ chúng ta có thể chuyển đến hoạt động C và tính ES của nó. EF của
h
oạt động D là 2, nhỏ hơn EF của B là 11, vì vậy đối với hoạt động C thì lấy EF của B để tính ES cho C. Do
đó hoạt động C có
ES = 11 + 1 = 12 và EF = 12 + 7 – 1 = 18.
-
Lưu ý, khi một hoạt động có nhiều hơn một hoạt động tiền nhiệm, thì hãy sử dụng hoạt động
tiền nhiệm
có EF lớn nhất để tính toán ES của nó.
-
-
Backward Pass để tìm late
finish và latestart
: Chúng ta có thể sử dụng Backward Pass với cùng một network diagram của ví dụ trên để tìm ra late start và late finish cho mỗi hoạt động.
-
Chúng ta đang tính thời gian trễ nhất mà bất kỳ hoạt động nào có thể bắt đầu và kết thúc, và hoạt động cuối cùng trên Critical Path luôn là hoạt động cuối cùng trong dự án. Thực hiện các bước tính Backward Pass với Critical Path, sau đó quay ngược trở lại đường dài nhất tiếp theo, rồi đến đường dài nhất tiếp theo, v.v., cho đến khi điền LS và LF cho tất cả các hoạt động. Nhưng lưu ý khi điền LF và LS cho các hoạt động trên mỗi đường, hoạt động nào đã điền LS và LF rồi thì không điền nữa.
-
1. Bắt đầu ở cuối đường Critical Path, với hoạt động C có LF (late finish) của hoạt động cuối cùng giống với EF. Tính LS (late start)
của nó
bằng cách lấy LF trừ cho duration và cộng 1, do đó LS = 18 – 7 + 1 = 12.
-
2. Bây giờ chuyển ngược lại hoạt động trước đó trên đường Critical Path
–
trong trường hợp này là hoạt động B. LF của nó là LS của hoạt động C trừ đi 1, vì vậy
hoạt động B có
LF = 12 – 1 = 11. Tính LS của nó theo cách tương tự như bước 1: LS = 11 – 5 + 1 = 7.
-
3. Bây giờ làm tương tự cho hoạt động A. LF của A bằng LS của hoạt động B trừ đi 1, do đó
hoạt động A có
LF = 7 – 1 = 6. Và LS bằng LF trừ duration cộng với 1, do đó LF = 6 – 6 + 1 = 1.
-
4. Bây giờ chúng có thể chuyển sang đường dài nhất tiếp theo, Start-D-C-Finish. Nếu có nhiều đường hơn, chúng ta sẽ chuyển sang đường dài nhất tiếp theo, v.v., điền LF và LS cho bất kỳ hoạt động nào nào chưa được điền.
-
Lưu ý, khi một hoạt động là tiền nhiệm của nhiều hơn một hoạt động khác, hãy sử dụng hoạt động có LS thấp nhất để tính toán LF của nó.
-
Ví dụ bên dưới thể hiện một hoạt đồng có nhiều hơn một hoạt động kế nhiệm – Hoạt động D. Và một hoạt động có nhiều hơn một hoạt động tiền nhiệm – Hoạt động H.
Cách tính Free Float của một hoạt động
Đối với network diagram cho sẵn dưới đây:
Free float của hoạt động G
= Early Start của hoạt động E – Early Finish của hoạt động G – 1
= 6 – 3 – 1
= 2
Total float của hoạt động G
= Late Finish của hoạt động G – Early Finish của hoạt động G
= 18 – 3
= 15
Chúng ta có thể thấy ở đây rằng thời gian Free Float cho hoạt động G là 2 ngày, nghĩa là G có thể bị trễ 2 ngày mà không ảnh hưởng tới ngày bắt đầu sớm nhất (early start) của E. Và total float của G là 15 ngày, nghĩa là G có thể bị trễ 15 ngày trước khi khiến toàn dự án bị trễ.
Công thức tổng quát:
-
Forward pass
:
-
EF = ES + duration – 1
-
ES (successor) = max predecessors’ (EFs+Lags) + 1
-
-
Backward pass
:
-
LF (last activities before finish) = max these EFs
-
LS = LF – duration + 1 = LF – (duration -1)
-
LF (predecessor) = min successors’ (LSs-Lags) – 1
-
-
Free Float = Min successors’ (ESs – Lags) – EF – 1
Trong đó:
- Successor: hoạt động kế nhiệm/hoạt động tiếp theo/hoạt động liền sau
- Predecessor: hoạt động tiền nhiệm/hoạt động liền trước
(Xem thêm: WBS Work Breakdown Structure là gì?)
Tính Float của một hoạt động bằng Critical Path Method
Khi chúng ta đã tìm ra Critical Path, chúng ta có thể làm rất nhiều điều hữu ích với nó. Một trong những điều hữu ích nhất mà chúng ta có thể làm là tính Float cho từng hoạt động. Không khó để tìm ra Float cho bất kỳ hoạt động nào trong Network Diagram. Sử dụng phương pháp này sẽ giúp tính được Float của một hoạt động nhanh hơn phương pháp Forward Pass và Backward Pass.
Đầu tiên, chúng ta viết ra danh sách tất cả các đường trong sơ đồ và bạn xác định đường nào là Critical Path. Float cho mọi hoạt động nằm trên Critical Path là 0. Ví dụ với Network Diagram bên dưới:
1.Có 3 đường trong network diagram này:
-
Start → A → B → C → Finish = 11 (đây là Critical Path vì có duration lớn nhất)
- Start → D → E → Finish = 7
- Start → D → F→ G → Finish = 8
2. Float của những hoạt động nằm trên Critical Path là 0.
3. Tìm đường dài nhất tiếp theo. Lấy duration của Critical Path trừ cho duration của đường này, và kết quả chính là float của từng hoạt động riêng lẻ nằm trên đường này. Bằng việc này chúng ta sẽ biết được mỗi hoạt động nằm trên được có thể bị trễ bao nhiêu trước khi làm trễ tiến độ cả dự án.
4. Làm tương tự cho đường dài nhất tiếp theo, và cứ tiếp tục như vậy cho phần còn lại của network diagram. Cuối cùng, chúng ta sẽ điền vào float cho mọi hoạt động!
5. Lưu ý, khi điền Float cho từng hoạt động, hoạt động nào đã điền rồi thì không điền nữa.
Tính NHANH Float của một hoạt động với “mẹo”
Công thức tổng quát để tính NHANH float của một hoạt động:
Float (A) = Critical path duration – longest path (A)
= LS – ES = LF – EF (also Total Float)
Diễn giải: Float của một hoạt động A bằng tổng duration của Critical Path trừ đi duration của đường dài nhất chứa hoạt động A. Với công thức này, việc tính Float cho một hoạt động sẽ rất nhanh, giúp chúng ta tiết kiệm rất nhiều thời gian khi làm bài thi PMP.
Ví dụ với network diagram:
-
Có 3 đường trong network diagram này:
-
Start → A → B → C → Finish = 11 (đây là Critical Path vì có duration lớn nhất)
- Start → D → E → Finish = 7
- Start → D → F→ G → Finish = 8
-
Áp dụng công thức để tính Float cho A, đường dài nhất chứa A là Start → A → B → C → Finish:
Float (A) = Critical path duration – longest path (A) = 11 – 11 = 0
-
Áp dụng công thức để tính Float cho B, đường dài nhất chứa B là Start → A → B → C → Finish:
Float (B) = Critical path duration – longest path (B) = 11 – 11 = 0
-
Áp dụng công thức để tính Float cho C, đường dài nhất chứa C là Start → A → B → C → Finish:
Float (C) = Critical path duration – longest path (C) = 11 – 11 = 0
-
Áp dụng công thức để tính Float cho D, đường dài nhất chứa D là Start → D → F→ G → Finish = 8:
Float (D) = Critical path duration – longest path (D) = 11 – 8 = 3
-
Áp dụng công thức để tính Float cho E, đường dài nhất chứa E là Start → D → E → Finish = 7:
Float (E) = Critical path duration – longest path (E) = 11 – 7 = 4
-
Áp dụng công thức để tính Float cho F, đường dài nhất chứa F là Start → D → F→ G → Finish = 8:
Float (F) = Critical path duration – longest path (F) = 11 – 8 = 3
-
Áp dụng công thức để tính Float cho G, đường dài nhất chứa G là Start → D → F→ G → Finish = 8:
Float (G) = Critical path duration – longest path (G) = 11 – 8 = 3
Tổng kết
Total float, free float, project float là những khái niệm quan trọng trong quản lý tiến độ dự án. Project manager cần phải tính toán kỹ lưỡng những giá trị này để lên kế hoạch quản lý tiến độ dự án được hợp lý và có thể đạt được. Đối với PMP, float có thể tính bằng nhiều cách, hy vọng những “mẹo” nhỏ đã trình bày ở trên có thể giúp bạn tiết kiệm kha khá thời gian trong lúc làm bài thi.
Tác giả: Trainer Nguyễn Hải Hà, Trainer Nguyễn Sĩ Triều Châu
References: Head First PMP 4, Rita PMP 9, PMStudycircle
Xem thêm:
Free Float và Total Float có giống nhau không?