Nếu tiến độ trong file của anh chị tự nhảy ngày mà không hiểu vì sao, gần như chắc chắn nguyên nhân nằm ở ràng buộc công việc MS Project. Đây là nhóm thiết lập ít được để ý nhất nhưng lại có quyền phủ quyết lên toàn bộ phép tính lịch trình của phần mềm — mạnh hơn cả quan hệ trước sau giữa các công việc.
Trong video dưới đây tôi đi qua cách quản lý danh sách công việc và toàn bộ 8 loại ràng buộc trong Microsoft Project 2021. Phần chữ bên dưới tôi tóm lại để anh chị tiện tra cứu khi ngồi trước máy.
Ràng buộc công việc MS Project là gì
Ràng buộc (Task Constraint) là điều kiện anh chị áp lên một công việc để giới hạn ngày phần mềm được phép xếp nó. Mặc định, Microsoft Project cố đẩy mọi việc sớm nhất có thể theo quan hệ phụ thuộc. Khi có ràng buộc, phần mềm buộc phải tôn trọng mốc ngày đã khai — và đó chính là lúc tiến độ “cứng” lại hoặc nhảy lung tung.
Cái bẫy lớn nhất: nếu anh chị gõ trực tiếp một ngày vào cột Start hoặc Finish, Microsoft Project tự động gán ràng buộc cho công việc đó mà không hỏi. Rất nhiều file tiến độ rối là do vô tình tạo ra hàng chục ràng buộc theo cách này. Muốn kiểm tra, hãy chèn cột Constraint Type và Constraint Date để nhìn toàn cảnh.
Trước khi bàn ràng buộc, danh sách công việc phải sạch
Một việc nên làm trước tiên là chuyển toàn bộ công việc sang chế độ Auto Scheduled. Ở chế độ Manually Scheduled, phần mềm không tính lại lịch khi có thay đổi — nghĩa là anh chị đang dùng Microsoft Project như một bảng tính, mất hết giá trị của nó.
Kế đến là cấu trúc: nhóm công việc theo hạng mục bằng Summary Task, đặt các mốc bàn giao thành Milestone, và nối quan hệ phụ thuộc trước sau cho đầy đủ. Khi bộ khung quan hệ đã đúng, số lượng ràng buộc cần dùng sẽ giảm rất nhiều — vì bản thân quan hệ phụ thuộc đã đủ diễn tả logic thi công.
Tám loại ràng buộc công việc và khi nào nên dùng
Nhóm linh hoạt — nên là mặc định
- As Soon As Possible (ASAP): xếp sớm nhất có thể. Đây là mặc định cho dự án lập theo ngày bắt đầu và là trạng thái nên giữ cho phần lớn công việc.
- As Late As Possible (ALAP): xếp muộn nhất có thể. Mặc định khi dự án được lập ngược từ ngày kết thúc.
Nhóm bán linh hoạt — dùng khi có điều kiện thực tế
- Start No Earlier Than (SNET): không được bắt đầu trước một ngày. Hợp lý khi chờ vật tư nhập về hoặc chờ mặt bằng được bàn giao.
- Start No Later Than (SNLT): phải bắt đầu chậm nhất vào một ngày.
- Finish No Earlier Than (FNET): không được kết thúc trước một ngày.
- Finish No Later Than (FNLT): phải xong chậm nhất vào một ngày — hay dùng cho hạng mục có mốc nghiệm thu.
Nhóm cứng — hạn chế tối đa
- Must Start On (MSO): bắt buộc khởi công đúng ngày.
- Must Finish On (MFO): bắt buộc hoàn thành đúng ngày.
Hai loại cuối khóa cứng ngày và làm phần mềm mất khả năng tự điều chỉnh khi có biến động. Tôi chỉ dùng chúng cho những mốc thực sự không thể xê dịch, ví dụ ngày cắt điện đã được phê duyệt hoặc ngày bàn giao ghi trong hợp đồng.
Nguyên tắc tôi áp dụng khi điều hành dự án
Nguyên tắc thứ nhất: ưu tiên diễn tả logic bằng quan hệ phụ thuộc, chỉ dùng ràng buộc khi có một điều kiện bên ngoài thật sự tồn tại. Nguyên tắc thứ hai: thay vì dùng Finish No Later Than để ép ngày, hãy cân nhắc đặt Deadline. Deadline không khóa lịch mà chỉ hiện cảnh báo khi công việc trễ — vừa giữ được tính linh hoạt, vừa không bỏ sót mốc.
Nguyên tắc thứ ba: mỗi lần nhận file tiến độ từ nhà thầu phụ, việc đầu tiên tôi yêu cầu là lọc cột Constraint Type xem có bao nhiêu công việc bị khóa cứng. Con số này nói lên chất lượng của file nhanh hơn bất kỳ báo cáo nào. Lịch làm việc và ràng buộc là hai nền móng — tôi đã viết riêng về phần đầu trong bài lịch làm việc MS Project.
Xem đầy đủ thao tác trong video
Toàn bộ nội dung trên được tôi thao tác trực tiếp trên phần mềm trong video khoảng 10 phút phía trên. Anh chị có thể xem trên kênh YouTube của tôi và đăng ký kênh để theo dõi các bài tiếp theo trong series Microsoft Project.
Nếu anh chị đang xử lý một file tiến độ bị khóa ràng buộc chằng chịt và chưa biết gỡ từ đâu, cứ để lại bình luận — tôi sẽ trả lời và có thể lấy làm ví dụ cho video sau.