Một kế hoạch dự án là xương sống của dự án để dự án luôn được kiểm soátđiều khiển hợp lý, các phương pháp phát triển kế hoạch có một tác động to lớn tớiphương pháp quản lý dự án bởi dự á
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
Trang 2Hà nội 5-2005
Lời c ảm ơn
Em xin châ
đề tà
i – Thạ
c s
ĩ Thạc Bình Cườ
ng, Giảng viên
Bộ môn C
ông nghệ Phần mềm, Khoa Công nghệ
Thông tin,
Trườ
ng Đ
ại học Bách Khoa H
à Nội – đã
hế
t lòng giúp đỡ
, hướng
dẫn, chỉ
dạy tận
tình để
đồ
án tốt nghiệ
ô đã tậ
n tâ
m giảng dạy trong suốt thời gia
n em học tậ
p tạ
i khoa
Gia đình, bạ
n học nhữ
ng ngư
ời đã động viên,
em trong quá tr
ình nghiên
cứu
và thự
c hiệ
n đồ án
Nguyễn Sơn Hải
Sinh viên
lớp Công nghệ phầ
n mề
m hông tin T ông nghệ Khoa C
Đại học Bách Khoa Hà
Nội (Tháng 5-2005)
Trang 3Nhận xét của giáo viên
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 4Mục lục
PHẦN I 10
CƠ SỞ LÝ THUYẾT 10
Chương I Kỹ thuật Critical Path 11
I-1- Thuật toán CPM 11
I-2-Tạo ra cấu trúc phân cấp công việc (WBS) 12
I-2-1- Các bước để tạo ra một cấu trúc phân cấp công việc: 13
I-3- Lập dãy các hành động 13
quyết định chuỗi công việc nhằm tạo ra một biểu đồ mạng 13
I-3-1- Các thành phần của lập dãy các hành động 13
I-4- Biểu đồ mạng 15
I-4-1- Khái niệm 15
I-4-2- Công thức hóa một mô hình mạng 15
I-4-3- Các bước để tạo một biểu đồ mạng bằng việc lập dãy các hành động: 17
I-5- Ước lượng thời gian thực hiện nhiệm vụ 17
I-5-1- Các kỹ thuật ước lượng thời gian thực hiện g 1 ỰC HỆ THỐNG dự kiến của chương trình:c năng lập kế hoạchu đồ luồng ệu mức đỉnh ong , trong đó mỗi nút là một module chư 17
I-5-2- Tạo ra ước lượng thời gian thực hiện 18
I-6- Tính toán Critical Path 18
I-6-1- Khái niệm: 18
I-6-2- Tính một quá trình tiến 19
I-6-3- Tính một quá trình lùi 19
I-6-4- Tính thời gian thả nổi 20
I-6-5- Dùng phương pháp Critical Path 21
I-7- Lập lịch tài nguyên 21
I-7-1- Smoothing và levelling Error! Bookmark not defined. I-7-2- Các kỹ thuật lập lịch tài nguyên: 23
I-7-3- Kỹ thuật định vị tài nguyên 23
I-8- Tổng kết về phương pháp Critical Path 24
Chương II Kỹ thuật Pert 25
II-1- Giới thiệu 25
II-2- Tính Pert 25
II-2-1- Xác định ước lượng optimistic và pessimistic 26
II-2-2- Xác định mean đối với mỗi nhiệm vụ 26
II-2-3- Xác định standard deviation đối với mỗi nhiệm vụ 27
II-2-4- Xác định mức tin tưởng mà ta muốn đạt được 27
II-2-5- Ước lượng 28
II-3- Kết luận: 29
Chương III Kỹ thuật Critical Chain 30
III-1- Giới thiệu 30
III-2- Multi-tasking 30
III-3- Student Syndrome 31
III-4- Padded Estimates 31
III-5- Vùng đệm và quản lý vùng đệm 32
Trang 5III-5-1- Vùng đệm cung ứng 32
III-5-2- Vùng đệm dự án 32
III-6- Tác dụng của vùng đệm 33
III-7- Lập lịch động 33
III-8- Giảm công việc 33
III-9- Thực thi đa dự án 33
III-10- Tổng kết về Critical Chain 35
III-10-1- Các quy tắc cơ bản 35
III-10-2- Các giả định cơ bản 36
PHẦN II PHÂN TÍCH HỆ THỐNG 37
Chương I Phân tích hệ thống về mặt xử lý 37
I-1- Biểu đồ phân cấp chức năng 37
I-2- Biểu đồ luồng dữ liệu 38
Chương II Phân tích hệ thống về mặt dữ liệu 43
II-1- Mô hình thực thể liên kết 44
Bước 1: Tạo các kiểu thực thể 45
Bước 2: Xác định các mối liên kết giữa các thực thể 46
Bước 3: Xác định các thuộc tính cho các thực thể: 47
II-2- Biểu đồ chuyển đổi dữ liệu theo mô hình quan hệ 51
PHẦN III THIẾT KẾ HỆ THỐNG 60
Chương I: Thiết kế tổng thể 61
Chương II Thiết kế cơ sở dữ liệu 63
II-1- Thành lập lược đồ logic 63
II-1-2- Điều chỉnh lược đồ 63
II-2- Thành lập lược đồ vật lý 64
Chương III Thiết kế module chương trình 66
III-1 Các lược đồ cấu trúc của chương trình 66
III-1-1Lược đồ tổng quát 66
III-1-2- Lược đồ LCT chi tiết”Cập nhật” 66
III-1-3- Lược đồ LCT chi tiết”Quản lý kế hoạch” 67
III-1-4- Lược đồ LCT chi tiết”báo cáo” 67
III-1-5- Lược đồ LCT chi tiết”Lập kế hoạch” 68
Chương IV: Thiết kế giao diện 70
Chương 4 Thiết kế thuật toán cho chức năng tự động lập lịch dự án 71
IV-1- Cấu trúc tổ chức 71
IV-2- Các mức tài nguyên 71
IV-3- Các giả định 71
IV-4- Yếu tố đa dự án 72
IV-5- Thuật toán 72
IV-5-1- Thuật toán cơ bản 72
IV-5-2- Thuật toán chi tiết 72
PHẦN IV LẬP TRÌNH VÀ HIỆN THỰC HỆ THỐNG 77
Chương 1 Thực thi mô hình 77
I-1- Các lớp chính 77
I-2- Biểu diễn các dự án 77
I-2-1- Lớp dự án 77
Trang 6I-3-2- Lớp nhiệm vụ 78
I-3- Thực thi thuật toán 78
Chương 2 Mô tả một phiên làm việc 84
Kết luận 85
Phụ lục 86
Từ điển thuật ngữ 87
Index 88
Tài liệu tham khảo 89
Trang 7Mở đầu
Ngày nay khi xã hội đã rất phát triển, hầu hết các lĩnh vực trong cuộc sốngđều có những bước tiến cả về quy mô lẫn trình độ chuyên sâu Con người phải đốimặt với những công việc phức tạp và đồ sộ, quy mô các dự án ngày càng được mởrộng Do đó công việc quản lý điều hành trở nên khó khăn hơn bao giờ hết, cũng
vì thế mà quản lý dự án đóng một vai trò to lớn trong sự thành công của dự án.Trong quản lý dự án thì chức năng chủ đạo là lập kế hoạch và theo dõi thực hiện
kế hoạch Khi dự án có một kế hoạch tốt, hợp lý sẽ là nền tảng vững chắc cho việcthực thi và điều khiển dự án Tuy nhiên dự án càng lớn, càng phức tạp thì côngviệc này càng trở nên khó khăn gấp bội, bởi nguồn lực của tổ chức thực hiện dự án
là có hạn, hơn nữa họ còn phải song song tiến hành nhiều dự án khác nhau
Một kế hoạch dự án là xương sống của dự án để dự án luôn được kiểm soátđiều khiển hợp lý, các phương pháp phát triển kế hoạch có một tác động to lớn tớiphương pháp quản lý dự án bởi dự án được quản lý dựa trên ý đồ của kế hoạch đó.Muốn quản lý được các dự án phức tạp thì không chỉ dựa trên kinh nghiệm mà cần
có những kỹ thuật và phương pháp luận nhất định về quản lý dự án để công việcquản lý có chủ định và mục đích hơn Các kỹ thuật phát triển kế hoạch mặc dù đãđược hình thành và phát triển trong một thời gian dài, nhưng cũng có kỹ thuật mớiđược đưa ra gần đây chính vì thế có rất nhiều tranh luận nổ ra về việc đánh giáxem kỹ thuật nào là tốt nhất, tuy nhiên vẫn chưa ngả ngũ Khi vấn đề này chưa thể
có câu trả lời chính xác thì các tổ chức vẫn áp dụng theo cách riêng của mình mà
họ cho là phù hợp
Từ những hoàn cảnh khách quan đó em đã quyết định xây dựng đề tài Đềtài không có tham vọng chỉ ra được kỹ thuật nào có hiệu quả nhất, tuy nhiên đềxuất một hướng đi là cầu nối cho vấn đề nói trên và hợp lý trong thời điểm hiện tại– khi chưa có một lý thuyết tin cậy nào giải quyết được vấn đề đó Đề tài trình bàysong song các kỹ thuật phát triển kế hoạch, đưa ra mô hình thực thi cho những kỹthuật đó để thấy rõ điểm khác biệt trong việc vận dụng chúng Từ đó cùng với một
dự án các kế hoạch, lịch biểu khác nhau sẽ được tạo ra với các kỹ thuật khác nhau,mọi người có thể nhận ra sự hữu ích của từng kỹ thuật trong từng trường hợp cụthể và tính đúng đắn của kỹ thuật được ghi nhận
Tóm lại bố cục của đề tài bao gồm các phần sau:
Trang 8Phần I: Trình bày các phương pháp quản lý dự án trên khía cạnh lập kế hoạch dựán.
Phần II: Phân tích thiết kế hệ thống tự động hóa lập kế hoạch dự án
Phần III: Thiết kế hệ thống tự động hóa lập kế hoạch dự án
Kỹ thuật Pert (X)
Kỹ thuật Critical Chain (X)
Phân tích chức năng (V) Phân tích
dữ liệu (V)
Thiết kế tổng thể (V) Thiết kế cơ
sở dữ liệu (V) Thiết kế module (V) Thiết kế giao diện (V)
Cài đặt thuật toán lập lịch tự động (V)
Mô tả phiên làm việc của
hệ thống (V)
Công cụ
C#.Net (X) SQLServer (X)
Thiết kế thuật toán lập lịch
tự động (X&V)
Ký hiệu:
X: Đọc V: Làm X & V: Đọc và phát triển
Sơ đồ bố cục đồ án
Trang 9PHẦN I
CƠ SỞ LÝ THUYẾT
Xương sống của quản lý dự án là khả năng lập kế hoạch, lập lịch và điềukhiển Lập kế hoạch là điểm then chốt của việc điều hành Nó chỉ ra tập các côngviệc cần thực hiện và thứ tự thực hiện chúng Vấn đề là phải xây dựng một kếhoạch có thể cân bằng các tài nguyên hiện có để cung cấp các điều kiện tối ưu chotất cả những chủ dự án Quy tắc tổ chức dự án có liên quan mật thiết với vấn đềquản lý nhân sự, do đó cần tổ chức nhân lực thành từng nhóm và phân chia tráchnhiệm cho các nhóm nhằm đạt được hiệu quả cao, xây dựng lịch biểu làm việc chocác tài nguyên tham gia dự án một cách hợp lý (tùy theo mục tiêu và tình trạng cụthể của tổ chức) dựa trên kế hoạch đã xây dựng
Cũng cần phải thấy rõ rằng lập lịch và lập kế hoạch là hai khái niệm phânbiệt Mặc dù hai lĩnh vực này có những nét tương đồng, chúng đều dựa trên mộttập các hành động có ràng buộc được thực hiện nhằm đạt được mục đích đề ra, tuynhiên trong khi việc lập lịch cung cấp thông tin về thời gian các tài nguyên cụ thểthực hiện nhiệm vụ thì lập kế hoạch tập trung chủ yếu vào việc chỉ ra thứ tự thựchiện các hành động đó Tuy nhiên trong khuôn khổ đề tài này, hai lĩnh vực cụ thểlập kế hoạch và lập lịch được xem xét trong một tiến trình xuyên suốt là lập kếhoạch dự án, bởi việc lập lịch dự án là một tiến trình đi từ đại thể đến chi tiết, màmức chi tiết ở đây chính là việc sinh ra lịch biểu
Quá trình quản lý dự án là một quá trình tiềm ẩn nhiều rủi ro và khó lường,điều này sẽ tăng lên nhanh chóng đối với các dự án lớn và phức tạp Có hàng loạt
các dự án đã xác định được tập nhiệm vụ phải thực hiện, nhưng một số dự án vẫn
thường bị trễ hoặc vượt quá chi phí, các dự án khác thì không đạt được mục tiêuban đầu đề ra Chính vì thế các phương pháp quản lý dự án đã ra đời nhằm đápứng các yêu cầu đó Các phương pháp quản lý dự án này hướng chủ yếu đến vấn
đề quản lý kế hoạch dự án Như vậy các kỹ thuật lập kế hoạch phục vụ việc quản
Trang 10lý dự án, còn các phương pháp quản lý dự án coi việc quản lý kế hoạch là nòngcốt Có hai kỹ thuật lập kế hoạch chính để quản lý các dự án lớn và phức tạp, đólà: CPM và PERT CPM và PERT là đơn giản và dễ dàng thực hiện với các dự ánđơn và nhỏ Tuy nhiên nó sẽ trở nên khó khăn hơn để quản lý trong một môitrường nhiều dự án Vấn đề tổ chức nhiều dự án không phải là mới, các nghiên cứu
về vấn đề này đã được thực hiện từ những năm 1970, nhưng chỉ tới gần đây sựquan tâm mới được tăng lên một cách rõ rệt
Vào năm 1997, Goldratt đã áp dụng “Lý thuyết ràng buộc” để quản lý dự
án của mình.Ông đã trình bày việc giải quyết vấn đề dự án bị trễ và vượt quá ngânsách trong đó có xét đến giải pháp cho vấn đề lập kế hoạch đa dự án.Ôngđặt tên
kỹ thuật đó là Critical Chain Critical Chain có thể được xem là kỹ thuật lập lịch
dự án quan trọng thứ ba Một số người hoan nghênh nó như là một cải tiến trongviệc quản lý dự án so với năm mươi năm trước đó, trong khi những người khác thìcho rằng nó chỉ đơn thuần là một tập các ý tưởng đáng tin chưa được chứng minh.Chi tiết từng kỹ thuật được trình bày dưới đây trước khi đi vào xây dựng mô hìnhthực thi cho các kỹ thuật
Chương I Kỹ thuật Critical Path
Lập kế hoạch nhờ kỹ thuật Critical Path được phát triển vào những năm
1950 bởi DuPont Kỹ thuật này khá đơn giản Mục đích của kỹ thuật là chỉ ra đượctập các nhiệm vụ quan trọng nhất có ảnh hưởng tới thời gian thực hiện dự án đểtập trung quản lý Một dự án sẽ có rất nhiều nhiệm vụ, các nhiệm vụ này có thểthực hiện song song hay tuần tự, tuy nhiên vẫn có một tập nhiệm vụ xác định chỉ
ra được thời gian thực hiện của dự án, đó là Critical Path Vậy ta có thể định nghĩaCritical Path như sau:
Định nghĩa : Critical Path là chuỗi dài nhất các nhiệm vụ phụ thuộc nhau về mặt
thời gian xác định toàn bộ chiều dài dự án
Bởi vì Critical Path xác định toàn bộ chiều dài của dự án, nên nếu dãynhiệm vụ này có chiều dài ngắn hơn, thời gian thực hiện dự án cũng ngắn hơn.Ngược lại nếu có sự chậm trễ trong việc thực hiện nhiệm vụ thuộc Critical Path sẽdẫn đến dự án kéo dài hơn dự định Chính vì lý do đó mà việc nhận ra và quản lýCritical Path là một điều hết sức quan trọng trong quản lý dự án Nhờ sự quản lýnày, người quản lý dự án có thể nhận ra độ trễ của dự án thông qua độ trễ của cácnhiệm vụ thuộc Critical Path Từ đó họ sẽ nhận ra các nhiệm vụ có mức ưu tiêncao nhất để tập trung quản lý
Trang 11Kỹ thuật Critical Path hướng việc quản lý dự án vào các nhiệm vụ thuộcCritical Path, và dựa vào phương pháp luận quản lý dự án này để phát triển một kếhoạch chi tiết phù hợp với ý đồ quản lý Sau đây là thuật toán chỉ ra các bước tổngquát nhằm quản lý dự án theo kỹ thuật này.
I-1- Thuật toán CPM (Critical Path Method)
Thuật toán CPM gồm 7 bước:
1 Chia nhỏ dự án thành các nhiệm vụ: Lấy toàn bộ dự án và chia nhỏ thành các
nhiệm vụ riêng biệt Nếu là dự án lớn, việc chia nhỏ này có thể sẽ dẫn đến khóquản lý Vì vậy cần nhóm các nhiệm vụ có liên quan với nhau, sau đó khai triển ra,hay nói cách khác là phân cấp các nhiệm vụ thành nhiều mức Đây chính là quátrình tạo ra cấu trúc phân cấp công việc (Work Breakdown Structure – WBS) của
dự án Bước này được trình bày chi tiết trong phần I-2
2 Xác định sự phụ thuộc giữa các nhiệm vụ: Đối với mỗi nhiệm vụ, cần xác định
danh sách các nhiệm vụ tiền nhiệm trực tiếp (nhiệm vụ tiền nhiệm là nhiệm vụ cầnđược hoàn thành trước khi một nhiệm vụ khác có thể được bắt đầu) Bước nàyđược trình bày chi tiết trong phần I-3
3 Vẽ biểu đồ mạng: Dùng các thông tin ở trên, vẽ biểu đồ mạng dự án.(Mặc dù
việc vẽ một cách đầy đủ là có ích,nhưng không phải tất cả các nhiệm vụ là quantrọng và hầu hết việc vẽ tất cả là không thể với các dự án lớn) Bước này đượctrình bày chi tiết trong phần I-4
4 Ước lượng thời gian thực hiện mỗi nhiệm vụ: Tìm ra ước lượng về thời gian
thực hiện đối với mỗi nhiệm vụ, và thêm chúng vào biểu đồ mạng Bước này đượctrình bày chi tiết trong phần I-5
5 Thực hiện việc phân tích mạng: Xác định dãy dài nhất của các nhiệm vụ phụ
thuộc lẫn nhau về mặt thời gian (Critical Path) Việc phân tích này bao gồm cácbước sẽ được nói trong phần I-6
6 Tính toán lịch tài nguyên cho dự án: Sử dụng một trong các kỹ thuật được trình
bày trong phần I-7, xây dựng lịch biểu cho tất cả các tài nguyên tham gia dự án
7 Quản lý và cập nhật biểu đồ CPM : Song song với tiến trình dự án, cần cập nhật
và tính toán lại mạng CPM Dựa vào đó để quản lý dự án
I-2-Tạo ra cấu trúc phân cấp công việc (WBS)
Định nghĩa: Một cấu trúc phân cấp công việc (WBS) là một công cụ và kỹ thuật được dùng để phân tích khối lượng công việc dự án thành các thành phần hay các gói công việc nhỏ hơn và có thể quản lý
Trang 12Người quản lý dự án tạo ra WBS với các thành viên đội dự án WBS cónhiều lợi ích Trước tiên, WBS giúp nhận dạng các đầu ra tạm thời chính trongsuốt quá trình thực hiện dự án Tạo ra một cái nhìn tổng quan về dự án từ cácthành phần nhỏ có thể quản lý và cuối cùng giúp mọi người có một hiểu biếtchung về các đầu ra của dự án.
Một cấu trúc phân cấp công việc bao gồm hai yếu tố Một là mức của côngviệc, bao gồm có ba loại Mức cao nhất thường được dùng là tên dự án hay nhiệm
vụ chính Mức trung gian của công việc là các thành phần con hay các nhiệm vụmức cao, thường được gọi là các “nhiệm vụ tóm lược” “Nhiệm vụ tóm lược”được dùng để dồn các nhiệm vụ cùng dạng phía dưới, giúp ta phân loại các ýtưởng Hai ví dụ của các nhiệm vụ mức tóm lược là phòng ban của một tổ chứchay biên giới địa lý Cuối cùng, các gói công việc là mức thấp nhất của công việc.Ngoài ra trong WBS mỗi công việc được đánh một mã số để nhận dạng một cáchduy nhất Hình 1 chỉ ra ba mức của công việc và mã số nhận dạng chúng
Hệ thống lập kế hoạch dự án
2.0 Lập trình 3.0 Kiểm thử 1.0 Thiết kế
Niệm vụ mức cao hay nhiệm vụ tóm lược
Hình 1: WBS ba mức
I-2-1- Các bước để tạo ra một cấu trúc phân cấp công việc:
1 Xác địng khuôn dạng được dùng để tạo ra WBS Có thể dùng hoặc là cấu trúccây hay kiểu đề cương
2 Xác định xem phân tách công việc đến mức bao nhiêu là phù hợp với dự án
3 Xác định xem các mức của cấu trúc phân cấp công việc sẽ được tổ chức nhưthế nào
4 Ghi nhãn mức một là tên dự án
5 Tại mức hai, phân chia dự án thành tập các đầu ra xuất hiện trong suốt quátrình thực hiện dự án
Trang 136 Đối với mỗi mức sau đó, phân chia mức ở trên thành các thành phần nhỏ hơn.
7 Tạo ra mức thấp nhất của việc phân chia Mức này, được gọi là gói công việc,nên cần đủ nhỏ để dễ dàng phân công công việc cho một người để hoàn thành vàcũng có thể ước lượng chi phí và thời gian cho mức này
8 Tạo ra một mã số nhận dạng công việc duy nhất đối với mỗi thành phần thuộccấu trúc phân cấp công việc Việc đánh số được bắt đầu từ bên trái WBS và đượcthực hiện giống như việc đánh mục lục (ví dụ 1.0, 1.1, 1.1.2…)
I-3- Lập dãy các hành động
Lập dãy các hành động là một tiến trình lập kế hoạch quản lý thời gianđược sử dụng để xác định công việc của dự án sẽ tiến triển như thế nào Nói cáchkhác, từ một tập các nhiệm vụ tách rời, việc lập dãy sẽ tạo ra một dãy các nhiệm
vụ phụ thuộc nhau về mặt thời gian Trong việc lập dãy các hành động ta lấy danhsách các hành động được tạo ra bởi cấu trúc phân cấp công việc, sau đó dùng cáccông cụ và kỹ thuật để quyết định chuỗi công việc nhằm tạo ra một biểu đồ mạng
ở bước tiếp theo
I-3-1- Các thành phần của lập dãy các hành động
Để bắt đầu tiến trình lập dãy, trước hết phải hiểu về các yếu tố nhằm thựchiện nó, bao gồm: danh sách các hành động, sự phụ thuộc, và các phương pháp lậpbiểu đồ
vụ Có ba loại phụ thuộc như sau:
o Các phụ thuộc ủy thác: Là phụ thuộc của một công việc có tính gắn liền vớicác công việc khác Chẳng hạn, ta không thể chạy thử ô tô để kiểm tra lốptrước khi chiếc lốp đó được sản xuất xong
o Các phụ thuộc tự do: Được tạo bởi đội dự án Trên một chiếc lốp mới tạo ra, tamuốn tạo ra một rãnh rộng 1/2-inch Ta cần tạo ra một khuôn mới Đây chính làmột phụ thuộc tự do
o Các phụ thuộc bên ngoài: Đến từ bên ngoài dự án
Các phương pháp lập biểu đồ
Có hai thành phần trong biểu đồ CPM:
Trang 141 Các nút – được biểu diễn bởi vòng tròn hoặc hình vuông.
2 Các mũi tên
Có hai phương pháp khác nhau để biểu diễn sự phụ thuộc trong một tậpnhiệm vụ, đó là “Hành động đặt trên mũi tên” (Activity On Arrow - AOA) và
“Hành động đặt trên nút” (Activity On Node - AON)
AOA biểu diễn các hành động giữa các nút và nằm trên mũi tên
1 Hành động A 2 Hành động B 3
Hình 2: Một ví dụ đơn giản của biểu đồ theo phương pháp AOA
AON biểu diễn các nhiệm vụ trên mỗi nút Sự phụ thuộc giữa hai hay nhiềunhiệm vụ được biểu diễn thông qua mũi tên nối giữa hai nút có các hành động Đốivới đề tài này, ta sử dụng phương pháp AON
Hình 3: Một ví dụ đơn giản của một biểu đồ theo phương pháp AON.
Trong hình vẽ hai nhiệm vụ có liên hệ với nhau được nối bởi một mũi tên.Nhiệm vụ đặt ở phía đầu mũi tên là “nhiệm vụ tiền nhiệm” (predecessor) Nhiệm
vụ tiền nhiệm là nhiệm vụ phải được hoàn thành thì một nhiệm vụ khác mới đượcphép bắt đầu Nhiệm vụ đặt phía cuối mũi tên là “nhiệm vụ kế tiếp” (successor).Nhiệm vụ kế tiếp là nhiệm vụ chỉ được phép thực thi khi các nhiệm vụ khác hoànthành (các nhiệm vụ tiền nhiệm của nó) Trong hình 3, nhiệm vụ C chỉ có thể bắtđầu sau khi A kết thúc và F chỉ có thể bắt đầu khi cả C,D và E kết thúc
Phương pháp AON sử dụng bốn dạng liên kết logic để xác định các phụthuộc giữa các hành động:
o Quan hệ kết thúc để bắt đầu, hành động B không thể bắt đầu cho tới khi hànhđộng A được hoàn thành
Hành động A Hành động B
Hình 4: Quan hệ kết thúc – bắt đầu
o Quan hệ bắt đầu để kết thúc, được minh họa dưới đây, hành động B không thểkết thúc cho tới khi hành động A được bắt đầu
Trang 15I-4-1- Khái niệm: Biểu đồ mạng là một công cụ quản lý giúp hiển thị một cách
đồ họa các nhiệm vụ, lịch biểu, và xác định tổng thời gian một dự án trước khihoàn thành
I-4-2- Công thức hóa việc xây dựng một biểu đồ mạng
Sau đây là các quy tắc để xây dựng một biểu đồ mạng:
o Mạng dự án nên chỉ có một nút bắt đầu: Mặc dù theo logic là có thể để vẽ một
mạng với nhiều hơn một nút bắt đầu, nhưng điều này là không nên vì nó lànguyên nhân của sự hỗn độn Tất cả các hành động có thể bắt đầu từ thời điểmbắt đầu dự án
Trang 16o Mạng dự án nên chỉ có một nút kết thúc: Nút kết thúc chỉ rõ sự hoàn thành của
dự án và một dự án chỉ nên kết thúc một lần! Mặc dù có thể vẽ một mạng vớinhiều hơn một nút kết thúc nhưng điều này cũng sẽ dẫn đến một sự hỗn độn
o Mỗi nút có thời gian thực hiện: Một nút biểu diễn một hành động và nói chung
các hành động có một thời gian để thực hiện Tuy nhiên có mạng không chứabất kỳ thời gian thực hiện nào, mạng này biểu diễn logic của dự án (biểu diễnluồng thứ tự của các hành động)
o Các liên kết không có thời gian thực hiện: Các liên kết biểu diễn các liên hệ
giữa các hành động do đó không có thời gian thực hiện
o Đăt các nhiệm vụ tiền nhiệm lên trước:Các nhiệm vụ tiền nhiệm của một
nhiệm vụ đặt ngay trước nhiệm vụ đó (từ trái qua phải)
o Thời gian di chuyển từ trái sang phải: Thời gian của luồng công việc trong
biểu đồ nên tăng dần từ trái sang phải để dễ theo dõi
o Mạng không chứa vòng lặp: Một vòng lặp là một lỗi và nó không thể xuất hiện
trong biểu đồ Việc tiến trình lặp, có thể xuất hiện trong thực tế, tuy nhiênchúng không thể biểu diễn trực tiếp trong mạng dự án Nếu chúng ta biết số lần
ta mong đợi để lặp một tập hợp các hành động, ta có thể vẽ một dãy các hànhđộng Nếu không biết số lần lặp lại ta không thể tính toán thời gian thực hiệncủa dự án trừ phi ta chấp nhận một chiến lược biến đổi như việc định nghĩa lạidãy như một hành động đơn và ước lượng khi nào thì hoàn thành Hình 8 biểudiễn một tiến trình lặp
Lập trình Kiểm thử Giao sản hẩm
Sửa lỗi Dò lỗi
Hình 8: Biểu đồ mạng có lặp
o Một mạng không nên chứa các nhiệm vụ lửng lơ: Một nhiệm vụ lửng lơ không
phải nhiệm vụ kết thúc nhưng nó không có nhiệm vụ nào bắt buộc phải diễn rasau nó cả Do đó từ biểu đồ mạng trong hình 9 có xuất hiện nhiệm vụ lửng lơ là
“Viết user guide”, do đó ta biến đổi biểu đồ này thành biểu đồ như hình 10
Thiết kế Lập trình Kiểm thử Cài đặt
Viết user guide
Hình 9: Một biểu đồ mạng chứa nhiệm vụ lửng lơ.
Trang 17Thiết kế Lập trình Kiểm thử Cài đặt
Viết user guide
Kết thúc
Hình 10: Biểu đồ mạng có nhiệm vụ lửng lơ đã biến đổi.
o Biểu diễn các hành động có độ trễ: Việc này ám chỉ đến hai hành động A và B
diễn ra song song tuy nhiên có một độ trễ giữa hai hành động này Chính vì độtrễ này mà ta không thể ghép hai nhiệm vụ này làm một.Ở đây ta biểu diễn độtrễ bằng việc ghi thời gian trễ trên liên kết
Xây dựng nguyên mẫu
Kiểm thử nguyên mẫu Xét lại đặc tả
Sửa đổi tài liệu
Hình 11: Biểu diễn độ trễ trong biểu đồ mạng.
o Trong mạng có thể có các hành động có thời gian thực hiện bằng không.
Mỗi khi biết về các thành phần của việc lập dãy các hành động, ta có thể tạo ramột biểu đồ mạng, giống như được chỉ trong hình 12, nhằm biểu diễn sự tiến triểncủa công việc trong một dự án Ta cần tạo ra một nút bắt đầu và kết thúc để tất cảcác nút trên biểu đồ mạng được kết nối
Hành động A
Bắt đầu
Hình 12: Biểu đồ mạng
I-4-3- Các bước để tạo một biểu đồ mạng bằng việc lập dãy các hành động
1 Xác định có hay không WBS cần được phân tích thành các hành động nhỏ hơn,được gọi là một danh sách hành động Những hành động đó nên đủ nhỏ để có thểphân công cho một người
2 Hiểu rõ ràng về các hành động để xác định sự phụ thuộc giữa chúng, quan hệcủa chúng là ủy thác, tự do, hay phụ thuộc ngoài?
3 Xác định phương pháp dùng để lập biểu đồ: AOA (Activity On Arrow) và
AON (Activity On Node)
Trang 184 Hiểu rõ ràng các phụ thuộc để nắm được dạng quan hệ logic giữa các hànhđộng.
5 Tạo ra nút bắt đầu và kết thúc
6 Lập dãy các hành động hay nhiệm vụ có mức thấp nhất giữa các nút Khônglập dãy cho các nhiệm vụ mức cao của cấu trúc phân cấp công việc, tức là, cáchành động mức tóm lược
I-5- Ước lượng thời gian thực hiện nhiệm vụ
Ước lượng thời gian thực hiện nhiệm vụ là một tiến trình lập kế hoạch quản
lý thời gian giúp xác định tổng thời gian để hoàn thành nhiệm vụ Thời gian ở đây
có ý nghĩa là bao nhiêu đơn vị thời gian (ngày, tuần, giờ…) cần để thực hiệnnhiệm vụ Để tạo ra ước lượng thời gian thực hiện nhiệm vụ, đầu vào sẽ là cấu trúcphân cấp công việc, danh sách các hành động và các yêu cầu tài nguyên, sau đóxác định thời gian đã ước lượng được mong đợi đối với mỗi hành động
I-5-1- Các kỹ thuật ước lượng thời gian thực hiện
Có một số các kỹ thuật để ước lượng thời gian thực hiện Kỹ thuật đầu tiên
là sử dụng đánh giá chuyên gia Trong kỹ thuật này, cần phải hỏi những ngườithực hiện các nhiệm vụ để họ cung cấp các ước lượng
Kỹ thuật thứ hai được gọi là ước lượng tương tự, còn được gọi là ước lượng
từ trên xuống (top-down) Trong kỹ thuật này, ta tìm các nhiệm vụ tương tự khácđược thực hiện trước đó và dùng thông tin lịch sử để ước lượng
Kỹ thuật tiếp theo là ước lượng thời gian thực hiện nhiệm vụ một cách địnhlượng Nó sử dụng một đơn vị công việc nhân với năng suất của người lao động
Ví dụ ta có thể ước lượng một dự án lát đường Ta biết rằng một xe tải có thể lát
100 feet trong 2 giờ Độ dài của đường là 300 feet vì thế thời gian thực hiện đốivới việc lát con đường này là 6 giờ
Kỹ thuật cuối cùng được dùng trong việc ước lượng thời gian thực hiện là
dự trữ thời gian Thời gian dự trữ là một đơn vị đo được thêm vào ước lượng đầutiên cho phép đối phó với bất kỳ rủi ro về lịch biểu nào Đơn vị của độ đo có thể làgiờ hay phần trăm Trong ví dụ lát đường của ta, xe tải mà ta dùng có thể có một
số vấn đề, bởi vì vậy ta thêm 2 giờ vào 6 giờ ước lượng ban đầu như là thời gian
dự trữ
I-5-2- Tạo ra ước lượng thời gian thực hiện
Có bảy bước để tạo ra các ước lượng thời gian thực hiện nhiệm vụ
1 Xác định nếu WBS cần phân tích thành các hành động nhỏ hơn, được gọi làdanh sách hành động Các hành động này nên đủ nhỏ để phân công cho mộtngười
2 Hiểu về các yêu cầu tài nguyên đối với mỗi hành động
Trang 193 Xác định dùng phương pháp nào tốt hơn trong: tham khảo chuyên gia, dự trữthời gian, hay ước lượng dựa vào định lượng đối với mỗi nhiệm vụ.
4 Xác định ước lượng thích hợp đối với mỗi nhiệm vụ
5 Phân tích vấn đề rủi ro lịch biểu đối với mỗi nhiệm vụ
6 Xác định dạng thời gian dự trữ nào nên dùng: đơn vị công việc hay phần trăm
7 Thêm thời gian dự trữ vào mỗi nhiệm vụ nếu cần thiết
I-6- Tính toán Critical Path
Như ta đã trình bày ở phần I-1, Critical Path là chuỗi dài nhất các nhiệm vụphụ thuộc nhau về mặt thời gian xác định toàn bộ chiều dài dự án, do đó chứa tậpcác nhiệm vụ không cho phép trễ của dự án Bởi vì nếu một nhiệm vụ nào đó củadãy được phép trễ mà không làm ảnh hưởng đến thời gian hoàn thành dự án, thì cónghĩa là có thể rút ngắn thời gian hoàn thành dự án bằng cách thực hiện sớmnhiệm vụ này Như vậy các nhiệm vụ thuộc Critical Path có độ trễ cho phép bằngkhông Độ trễ cho phép thường được gọi là thời gian thả nổi Như vậy thời gianthả nổi là thời gian mà ta có thể trễ so với thời điểm bắt đầu mà không gây ảnhhưởng ngày kết thúc dự án theo kế hoạch
Critical path là đường đi dài nhất xuyên suốt qua lịch và nó xác định ngàyphân phối cuối cùng trong dự án Khi tạo ra một biểu đồ mạng,ta cũng tạo ra một
critical path cho dự án Việc quản lý critical path là rất quan trọng, bởi vì nếu mộtnhiệm vụ thuộc critical path bị trễ, ngày kết thúc dự án sẽ không được đảm bảo
CPM tính toán một critical path đơn đối với dự án Để thực hiện tính toán này cầnphải thực hiện một quá trình tiến (xuất phát từ điểm bắt đầu dự án), quá trình lùi(xuất phát từ điểm kết thúc dự án), và tính thời gian thả nổi trên toàn thể biểu đồmạng Sau đây là cách tính critical path Biểu đồ mạng trong hình 13 được dùng đểminh họa
Bắt đầu Duration:3 ngàyA
B Duration:5 ngày
C Duration:10 ngày
D Duration:7ngày Kết thúc
Hình 13: Biểu đồ mạngsử dụng để tính Critical Path
I-6-2- Tính một quá trình tiến
Trang 20Để tính critical path đối với biểu đồ mạng, trước tiên ta phải tính một quá trìnhtiến Bắt đầu tại điểm sớm nhất của biểu đồ mạng, một quá trình tiến tính thờiđiểm bắt đầu và kết thúc sớm nhất đối với mỗi nhiệm vụ Sau đây là các bước tínhtoán một quá trình tiến:
o Bắt đầu tại điểm sớm nhất của biểu đồ mạng từ hình 13, hành động A Thờigian sớm nhất hành động A có thể bắt đầu là ngày 0 Vì thế thời điểm bắt đầusớm là ngày 0 Cộng thời gian thực hiện với thời điểm bắt đầu sớm nhất, suy rathời điểm kết thúc sớm là 3 (0 + 3 = 3)
o Tiếp tục làm như vậy thông qua biểu đồ mạng và tính toán thời điểm bắt đầu
và kết thúc sớm đối với mỗi nhiệm vụ
o Khi đến hành động D, dùng giá trị lớn hơn trong hai thời điểm kết thúc sớmcủa các hành động B và C làm thời điểm bắt đầu sớm của hành động D
Bảng 1 miêu tả thời điểm bắt đầu sớm nhất và thời điểm kết thúc sớm nhất của cáchành động trên biểu đồ mạng nói trên
Bảng 1: Thời điểm bắt đầu và kết thúc sớm nhất đối với mỗi hành độngHành động Điểm bắt đầu sớm nhất Điểm kết thúc sớm nhất
Trang 21Tính quá trình lùi bắt đầu từ điểm muộn nhất của biểu đồ mạng; một quá trình lùixác định thời điểm bắt đầu và kết thúc muộn đối với mỗi nhiệm vụ Sau đây là cácbước để tính một quá trình lùi:
o Bắt đầu tại điểm muộn nhất của biểu đồ mạng, quan sát hành động cuối cùng,
ở đây là hành động D Thời gian muộn nhất có thể kết thúc là ngày 20 Ngày
20 là thời điểm kết thúc sớm nhất từ quá trình tiến Vì thế thời gian kết thúcmuộn là 20 Trừ giá trị này cho thời gian thực hiện ta được thời điểm bắt đầumuộn là 13 (20 – 7 = 13)
o Tiếp tục làm như thế qua biểu đồ mạng và tính toán thời điểm bắt đầu và kếtthúc muộn của mỗi nhiệm vụ
o Khi đến hành động A, dùng giá trị nhỏ nhất giữa các thời điểm bắt đầu muộncủa các hành động B và C để suy ra thời điểm kết thúc muộn của hành động A.Bảng 2 minh họa thời điểm bắt đầu và kết thúc muộn của các hành động
Bảng 2: Thời điểm bắt đầu và kết thúc muộn của các hành động
Hành động Thời điểm bắt đầu muộn Thời điểm kết thúc muộn
Trang 22Cuối cùng, ta có thể tính toán thời gian thả nổi bằng việc trừ thời điểm bắt đầumuộn cho thời điểm bắt đầu sớm hay thời điểm kết thúc muộn cho thời điểm kếtthúc sớm.
o Bắt đầu tại điểm sớm nhất của biểu đồ mạng, xem hành động A Thời điểm bắtđầu muộn là không và thời điểm bắt đầu sớm là không vì thế thời gian thả nổi
là 0 – 0 = 0
o Tiếp tục tính toán qua biểu đồ mạng và tính thời gian thả nổi đối với mỗinhiệm vụ
Bảng 3 miêu tả thời gian thả nổi đối với mỗi hành động của biểu đồ mạng
Bảng 3: Thời gian thả nổi đối với mỗi hành động
Trang 23Từ biểu đồ mạng tính được quá trình lùi, quá trình tiến, và thời gian thả nổi, có thểxác định critical path của dự án Sau đây là các bước để tính critical path:
o Xây dựng biểu đồ mạng từ dự án Thực hiện một quá trình tiến Bắt đầu tạiđiểm sớm nhất, ngày 0, xác định thời điểm bắt đầu và kết thúc sớm đối với mỗinhiệm vụ
o Thực hiện một quá trình lùi Bắt đầu tại điểm muộn nhất, xác định thời điểmbắt đầu và kết thúc muộn đối với mỗi nhiệm vụ
o Trừ thời điểm bắt đầu muộn cho thời điểm bắt đầu sớm để xác định thời gianthả nổi
o Xác định nhiệm vụ nào có thời gian thả nổi bằng không
Critical path của biểu đồ mạng ở hình trên là tập các hành động A, C, và D, bởi vìcác nhiệm vụ thuộc critical path có thời gian thả nổi bằng không Hình 14 biểudiễn critical path là đường in nét đậm
Bắt đầu Duration:3 ngàyA
B Duration:5 ngày
C Duration:10 ngày
D Duration:7ngày Kết thúc
Hình 14: Critical path
I-7- Lập lịch tài nguyên
Vấn đề của lập lịch tài nguyên không được xem xét một cách rõ ràng trongphân tích mạng Tuy nhiên vấn đề ràng buộc tài nguyên thường xuyên xuất hiện.Phần thứ hai của kỹ thuật lập lịch dự án là lập lịch tài nguyên Khi làm việc với lậplịch tài nguyên, có hai dạng ràng buộc là: ràng buộc tài nguyên và ràng buộc thờigian Trong việc lập lịch có ràng buộc về thời gian, cần thiết lập một thời hạn Vấn
đề được quan tâm là việc điều khiển tài nguyên lúc nhiều lúc ít sao cho các nhiệm
vụ thỏa mãn được các ràng buộc về các thời hạn đã quy định – việc này còn đượcgọi là “làm nhẵn” Việc lập lịch dựa trên ràng buộc về tài nguyên thì ngược lại.Các nhiệm vụ được phân mức để nó không vượt quá mức của tài nguyên – việcnày được gọi là “phân mức tài nguyên” Chú ý là trong loại ràng buộc này ngày kỳhạn của dự án phải được tháo bỏ
Trang 24Trong hình 16 là lịch tài nguyên ban đầu, hình 17 là lịch được phân mức và hình
18 là lịch đã làm nhẵn
Hình 16 Lịch tài nguyên ban đầu
Hình 17 Lịch được phân mức
Hình 18 Lịch được làm nhẵn
Trang 25I-7-2- Các kỹ thuật lập lịch tài nguyên:
Khi các mục tiêu được thiết lập, có 4 kỹ thuật có thể áp dụng:
1 Kết tập: Đây là kỹ thuật so sánh cơ bản Đầu tiên số các tài nguyên được yêu
cầu mỗi ngày được tính tổng khi tất cả các nhiệm vụ được thiết lập để bắt đầu vàothời điểm bắt đầu sớm nhất của chúng Sau đó, tiến trình này được lặp lại vớinhiệm vụ được thiết lập để bắt đầu tại thời điểm bắt đầu muộn nhất của chúng Sosánh giữa hai giải pháp và chọn cách phù hợp nhất Tiêu chuẩn để xác định độ phùhợp được xác định bởi người lập lịch
2 Tích lũy: Kỹ thuật này được thực hiện trên lịch được tạo ra từ kỹ thuật một Nó
cung cấp một tổng lũy tích của các tài nguyên được đòi hỏi của toàn bộ dự án quatừng ngày Kỹ thuật này có ích chủ yếu đối với việc lập lịch tài nguyên có xét đếnchi phí Người quản lý dự án sẽ sử dụng lịch mà các tài nguyên được đòi hỏi làhợp lý và sẵn dùng
3 Định vị: Lập lịch các nhiệm vụ dựa theo vài quản lý ràng buộc như thời gian, tài
nguyên hoặc chi phí Vấn đề này sẽ được trình bày kỹ ở phần I-7-3
4 Tối ưu toán học: Phương thức này nhắm đến việc phân tích một cách toán học
việc lập lịch tài nguyên để có thể tìm thấy một lịch tối ưu Hầu hết phương phápnày được phân tích theo các thuật toán Branch và Bound Hiện tại, chưa có thuậttoán tối ưu nào cho các trường hợp tổng quát, ở từng trường hợp với những yêucầu cụ thể sẽ có những cách giải quyết khác nhau
I-7-3- Kỹ thuật định vị tài nguyên
Định vị tài nguyên là kỹ thuật phổ biến nhất trong bốn kỹ thuật trên, vì thế ta sẽgiải thích sâu về nó Việc định vị tài nguyên được chia thành hai loại – tuần tự vàsong song
1 Định vị tuần tự
Gồm hai pha:
i Sắp xếp các nhiệm vụ có sẵn theo một thứ tự ưu tiên nào đó
ii Lập lịch các nhiệm vụ dựa theo thứ tự ưu tiên đó
Nhiều hệ thống mô phỏng quản lý tài nguyên dựa trên cách này Người quản lý dự
án sẽ lựa chọn một ràng buộc, lựa chọn một quy tắc ưu tiên và thực hiện việc định
vị tài nguyên
Trong bước 1, việc sắp xếp thứ tự ưu tiên có thể được làm bằng các heuristic.Trong lĩnh vực này đã có các nghiên cứu rộng rãi Một số heuristics được pháthiện là:
1 Ưu tiên nhiệm vụ ngắn nhất: Các nhiệm vụ được xếp thứ tự theo thời gian thực
hiện nhiệm vụ, các nhiệm vụ ngắn nhất sẽ được ưu tiên
2 Ưu tiên các nhiệm vụ cần nhiều tài nguyên nhất.
Trang 263 Ưu tiên các nhiệm vụ có thời gian thả nổi nhỏ nhất.
4 Các nhiệm vụ có nhiều nhất số các nhiệm vụ kế tiếp của nó là nhiệm vụ thuộc
critical path
5 Ưu tiên các nhiệm vụ có nhiều nhiệm vụ kế tiếp nhất.
Trong đó heuristic đã phát hiện được cho là có hiệu quả là MINSLK [minimumslack] (“quy tắc tối thiểu slack”), tất nhiên cũng có nhiều quy tắc tỉ mỉ công phusẵn có, nhưng để đơn giản ta xem quy tắc tối thiểu slack là quy tắc tốt nhất hiệncó
2 Định vị song song
Định vị song song khác với định vị tuần tự ở chỗ các nhiệm vụ có khả năng xuấthiện ở mỗi vòng của tiến trình Các bước của định vị song song là:
i Di chuyển ngày qua ngày từ khi bắt đầu đến khi kết thúc
ii Lựa chọn danh sách nhiệm vụ có thể được tiến hành tại khoảng thời gian
đó
iii Lập lịch cho các hành động quan trọng nhất nếu không đủ tài nguyên
Kỹ thuật này bao gồm các sự kiện có thể phân chia thành các sự kiện nhỏhơn để nó có thể được nghỉ khi chưa kết thúc Mỗi khi lặp, thứ tự ưu tiên, độ quantrọng của các nhiệm vụ có thể được sắp xếp bằng các luật ưu tiên
Kỹ thuật này có thể được mở rộng từ thực thi một dự án đơn lẻ đến đa dự
án Tuy nhiên, có vài khó khăn trong cách làm thế nào để đạt được sự mở rộng đó.Một hướng là xem tất cả các dự án như một dự án lớn Đôi khi điều này là khôngthực tế và có thể dẫn đến nhiều sự lộn xộn Hơn nữa, việc nhận dạng một CPM trởnên khó khăn và lộn xộn trong một môi trường rộng lớn Hướng thứ hai là gán chomỗi dự án một mức ưu tiên dựa theo quy tắc quản lý được quy định trước để sắpxếp chúng Tuy nhiên, như vậy cũng có vấn đề bởi vì tất cả các dự án phải đượcgán một mức ưu tiên khác nhau và rất khó khăn để phân biệt hai dự án có tầm cỡtương tự Vì không có ưu điểm đáng kể của hai hướng, vì thế lựa chọn thế nào làtùy theo từng tổ chức cụ thể
Phương pháp Critical Path đã phát triển được 50 năm và đã được nghiêncứu rộng rãi Thuật toán cơ bản là phân nhỏ các nhiệm vụ, thực hiện việc phân tíchmạng để tìm Critical Path, sau đó sử dụng các luật ưu tiên để thực hiện việc định
vị tài nguyên
Trang 27II-1- Giới thiệu
PERT (Program Evaluation and Review Technique), kĩ thuật đánh giá vàxem xét chương trình, được Hải quân Mĩ phát minh ra năm 1958 khi phát triển tênlửa Polaris – một dự án bao gồm 300 000 hoạt động Pert cũng giống CPM là kỹthuật nhằm đưa ra cách thức quản lý dự án dựa trên một ý đồ nhất định và cũngđược dùng cho tiến trình phát triển lịch biểu Các bước trong thuật toán của kỹthuật này là giống với kỹ thuật CPM (trong chương I), chỉ khác nhau ở bước 4trong cách thức xác định thời gian thực hiện dự án Trong bước 4 của thuật toánCPM, giá trị thời gian thực hiện được ước lượng là giá trị gần đúng trong trườnghợp thông thường , không tính đến các điều kiện hoàn cảnh xuất hiện một cách độtbiến Đây thực chất là thời gian để giải quyết nhiệm vụ chứ không hẳn trùng khớpvới thời gian nhiệm vụ được hoàn thành trong điều kiện thực tế Điều này có thểkhông thực sự chính xác nếu xét ở mức tổng thể với một tập rất lớn các ước lượng.Các sự kiện may mắn hay rủi ro có thể không xuất hiện trong một ước lượng cụthể tuy nhiên trong một tập rất nhiều các ước lượng thì chắc chắn có và điều đó sẽ
có tác động không nhỏ tới dự án nếu các sự kiện này không được tính đến Chính
vì thế mục đích của ước lượng thời gian thực hiện trong kỹ thuật PERT là đưa raước lượng có tính đến các yếu tố rủi ro hay may mắn Cơ sở để làm điều này làdựa vào xác suất thống kê Trong một tập rất lớn các ước lượng,các sự kiện bấtthường được thống kê,và từ đó người ta đưa ra các tham số chuẩn phục vụ choviệc ước lượng Điều này sẽ cung cấp sự tin cậy hơn đối với các ước lượng thờigian thực hiện không chắc chắn và hoàn toàn có thể áp dụng đối với mỗi nhiệm
vụ, các nhiệm vụ có tính rủi ro, hay các nhiệm vụ thuộc critical path
II-2- Tính Pert
Để tính toán PERT ta phải tiến hành ba ước lượng riêng rẽ sau:
Ước lượng lạc quan (Optimistic): Nếu mọi thứ tốt đẹp, mỗi nhiệm vụ sẽ cần bao
nhiêu thời gian
Ước lượng bi quan (Pessimistic): Nếu mọi thứ xấu đi, mỗi nhiệm vụ sẽ cần bao
nhiêu thời gian
Ước lượng phỏng đoán tốt nhất (Most likely): Ước lượng đưa ra ban đầu.
Khi ta biết ba ước lượng đó, ta sẽ tính toán để xác định giá trị trung bình (mean)
Về mặt thống kê, mean biểu diễn giá trị trung bình của tất cả các ước lượng đốivới một nhiệm vụ cụ thể Tiếp theo, xác định độ lệch chuẩn (standard deviation)
Tính toán này sẽ được sử dụng để xác định tổng của thời gian thêm vào có thểđược thêm vào ước lượng nhằm cung cấp một sự tin tưởng hơn
Dùng biểu đồ mạng 19, ta sẽ tính toán PERT đối với mỗi nhiệm vụ theo các bướcsau:
Trang 28Bắt đầu Duration:3 ngàyA
B Duration:5 ngày
C Duration:10 ngày
D Duration:7ngày Kết thúc
Hình 19: Biểu đồ mạng để tính Pert
II-2-1- Xác định ước lượng lạc quan ( optimistic) và bi quan ( pessimistic)
Ước lượng phỏng đoán tốt nhất (most likely) được tạo ra trong phần trước (ở bước
4 của thuật toán CPM) Có thể tham khảo các chuyên gia cung cấp ước lượng
phỏng đoán tốt nhất để xác định ước lượng lạc quan và bi quan Bảng 4 chỉ ra cácước lượng
Bảng 4:Ước lượng lạc quan, bi quan và phỏng đoán tốt nhất
đối với biểu đồ mạng
Mean: Giá trị trung bình
Optimistic: Giá trị ước lượng lạc quan
Pessimistic: Giá trị ước lượng bi quan
MostLikely: Giá trị phỏng đoán tốt nhất
Trang 29Bảng 5 minh họa các tính toán giá trị trung bình đối với biểu đồ mạng trong hình19
Bảng 5: Giá trị trung bình đối với mỗi hành động trong biểu đồ mạng
StandardDeviation (SD): Độ lệch chuẩn
Pessimistic: Giá trị ước lượng bi quan
Optimistic: Giá trị ước lượng lạc quan
Bảng 6 chỉ ra độ lệch chuẩn đối với mỗi nhiệm vụ theo biểu đồ mạng hình 19
Bảng 6: The standard deviation đối với mỗi nhiệm vụ trong biểu đồ mạng
Hành
động
Most Likely
Optimistic Pessimistic Mean SD
Trang 30II-2-4- Xác định mức tin tưởng mà ta muốn đạt được.
Dựa trên phương pháp xác suất thống kê người ta đã đưa ra những tham số chuẩn
để có thể tính toán được các ước lượng cuối cùng dựa trên các mức tin tưởng khácnhau Với mỗi mức tin tưởng khác nhau sẽ có một tham số đầu vào khác nhautham số này được gọi là hệ số chuẩn (standard factor) Công thức để tính toán ướclượng cuối cùng là:
Ước lượng cuối cùng = Mean + Standard factor * Standard deviation
Trong đó:
Mean: Giá trị trung bình
Standard factor: Hệ số chuẩn
Standard deviation: Độ lệch chuẩn
Bảng 7 đưa ra các hệ số chuẩn và công thức đối với mỗi mức tin tưởng
Bảng 7: Các nhân tố chuẩn và công thức đối với mỗi mức tin tưởng
II-2-5- Ước lượng
Dùng 99% mức tin tưởng trong bảng trên, ta có thể hoàn thành việc tính PERTcho biểu đồ mạng ở hình 19 như bảng 8:
Trang 31Bảng 8: Ước lượng mới sử dụng 99% mức tin tưởng
Trang 32Chương III Kỹ thuật Critical Chain
III-1- Giới thiệu
Quản lý dự án nhờ kỹ thuật Critical Chain được phát triển năm 1997 khi Eli M.Goldratt áp dụng lý thuyết về ràng buộc của ông để quản lý dự án.Ông đã giảithích về các động cơ đằng sau kỹ thuật này, gồm có bốn vấn đề chính trong quản
lý dự án:
1 Đa nhiệm vụ (Multi – tasking)
2 Hội chứng sinh viên (Student Syndrome)
3 Cạnh tranh tài nguyên
về thứ tự thực hiện và phụ thuộc tài nguyên (Newbold, 1998)
Định nghĩa này ngụ ý nói rằng kỹ thuật Critical Chain là sự kết hợp của kỹ thuậtCritical Path và tài nguyên khan hiếm để cấu thành nên các ràng buộc cần quản lý
Trang 33Chính vì thế khi xét đến mặt tương tự với các kỹ thuật quản lý dự án truyền thốngCritical Chain còn có thể được gọi là “kỹ thuật Critical Path có ràng buộc tàinguyên”.
Để có thể phân biệt rõ hơn về Critical Chain và Critical Path ta xem xét ví dụ sauđây:
3|6
8|10
CP: ABDE ES|EF
Hình 20: Biểu đồ mạng trong Critical Path
Trong biểu đồ mạng dự án ở trên, theo thuật toán xác định Critical Path trongchương I, dễ dàng xác định được Critical Path của dự án là tập các nhiệm vụ{A,B,D,E}
Tuy nhiên trong kỹ thuật Critical Path không xét đến vấn đề ràng buộc tài nguyên,nếu trong dự án này xét đến vấn đề ràng buộc tài nguyên thì đó là kỹ thuật CriticalChain Chẳng hạn, nếu hai nhiệm vụ B và C cùng chia sẻ một tài nguyên Nhiệm
vụ C phải chờ nhiệm vụ B hoàn thành mới có thể bắt đầu Khi đó ta thêm một phụthuộc tài nguyên (còn gọi là phụ thuộc bù nhìn) từ B đến C Áp dụng thuật toángiống như xác định Critical Path trong chương I cho biểu đồ mạng mới, khi đó ta
sẽ được tập nhiệm vụ xác định chiều dài dự án là {A, B, C, E}, đó chính là CriticalChain
7|10
10|12
CC: ABCE ES|EF
Hình 21: Biểu đồ mạng trong Critical Chain
Như ta đã thấy trong hai biểu đồ, ở kỹ thuật Critical Path nhiệm vụ E có thể bắtđầu vào tuần thứ 8
Trang 34III-2- Đa nhiệm (Multi-tasking).
Trong môi trường nhiều dự án, không có gì là bất thường khi một nhân công đượcphân công vào hai hay ba dự án đồng thời Nhân công này thường được phân chiathời gian của mình bằng việc định ra bao nhiêu phần trăm trên dự án này và baonhiêu phần trăm trên các dự án khác Sẽ là khó khăn cho họ để quyết định dự ánnào có mức ưu tiên cao hơn Điều này sẽ dẫn đến một vấn đề là người quản lý nàogây sức ép lớn hơn thì anh ta sẽ ưu tiên làm việc đó trước Nhân công không chỉphải chịu những đòi hỏi không ngừng mà họ cũng phải chuyển đổi giữa các nhiệm
vụ một cách thường xuyên để thỏa mãn tất cả những người quản lý Điều này sẽgây ra ảnh hưởng không tốt đến thời điểm kết thúc của tất cả các dự án Ví dụ, nếutài nguyên có ba nhiệm vụ để làm với ba dự án khác nhau, nhận thấy rằng thờiđiểm kết thúc của các nhiệm vụ A và B sẽ tăng lên và chỉ có nhiệm vụ C là có haithời điểm kết thúc bằng nhau Điều này sẽ còn có ảnh hưởng xấu hơn khi có chiphí trong việc chuyển đổi công việc
Hình 22: Đa nhiệm.
Hình 23: Đơn nhiệm.
Hơn nữa, trong khi thực hiện đa nhiệm, nhân công có thể cảm thất nản lòng khiphải chuyển đổi công việc một cách liên tục Vì thế, trong Critical Chain, nhâncông chỉ được phép làm việc trên một nhiệm vụ tại một thời điểm - như vậy, họ sẽkhông được phân công vào bất cứ nhiệm vụ nào khác cho tới khi kết thúc côngviệc hiện tại (nhằm tránh bất cứ sự sao lãng nào vì phải suy nghĩ về công việc sắptới)
III-3- Hội chứng sinh viên (Student Syndrome)
Trong cuốn sách của Goldratt về “Critical Chain” các sinh viên trong một lớp họcđược giao một số bài tập về nhà khá phức tạp, tiêu tốn nhiều thời gian để hoànthành Sau khi cân nhắc, giáo sư quyết định cho các sinh viên hai tuần để làm thay
vì một tuần như thông thường Tuy nhiên cho tới thời hạn, ông phát hiện ra rằngchỉ có hai sinh viên nắm được bài tập về nhà và trả lời được các câu hỏi, và hầuhết các sinh viên chỉ bắt đầu làm việc vào giữa tuần thứ hai Khi đó họ nhận rarằng không đủ thời gian để hoàn thành công việc được giao Khi được hỏi tại saolại bắt đầu muộn, các sinh viên trả lời rằng:đơn giản là họ có các việc khác để làm.Vấn đề tương tự xuất hiện trong các dự án Một nhân công được giao một nhiệm
vụ và ấn định một thời hạn, tuy nhiên không hiểu vì lý do gì, nhiệm vụ đó được
Trang 35thực hiện cuối cùng Nguyên nhân của vấn đề này là do họ làm việc theo thời hạn.Nếu thời hạn bị thay đổi và người lao động không được thông báo để thực hiệnnhiệm vụ nhanh nhất có thể, thì có nghĩa là nhiệm vụ sẽ không được làm một cáchsớm nhất Vì vậy giải pháp ở đây là tháo bỏ tất cả các thời hạn khỏi các nhiệm vụ.
III-4- Ước lượng độn (Padded Estimates).
Khi được hỏi để ước lượng về thời gian hoàn thành nhiệm vụ, người lao động sẽđưa ra một ước lượng mà họ có 95% cơ hội hoàn thành (trong trường hợp họ bịmắc phải bất cứ vấn đề nào) Điều này minh họa trong hình 24 với việc ước lượng
C Điều này là bởi vì hầu hết các hệ thống khuyến khích nhân công kết thúc côngviệc đúng tiến độ Vì thế bằng việc cung cấp một ước lượng dài, sẽ có nhiều cơ hộihơn để người lao động kết thúc công việc đúng tiến độ Hơn nữa, ngay cả khingười lao động cung cấp một ước lượng tốt với ít độ an toàn hơn, thì việc cạnhtranh tài nguyên và đa nhiệm cũng thường xuyên được xét đến trong các ướclượng đó Điều này thường dẫn đến hiệu ứng sinh viên Trong khi thời hạn đượcloại trừ bởi vấn đề hội chứng sinh viên, thì nó lại trở nên hiện hữu trong việc ướclượng lịch cho dự án
Vì thế thời gian ước lượng B được dùng thay cho C Đây là thời gian ước lượngvới 50/50 phần trăm khả năng nhiệm vụ được hoàn thành Bên cạnh đó, tráchnhiệm của người quản lý là thêm các ước lượng phần còn lại của các nhiệm vụ.Khi nửa thời gian nhiệm vụ không được hoàn thành đúng hạn, thì phải có cách đểđền bù nhiệm vụ chậm tiến độ đó Để quản lý điều này, có thể sử dụng các vùngđệm
Hình 24: Ước lượng thời gian
Critical Chain giả sử các ước lượng được độn thêm và thời gian C là thời giannhiệm vụ hoàn thành Thời gian B là 50% thời gian và giá trị này được xem là giátrị ước lượng thời gian thực hiện nhiệm vụ
Trang 36gian đã xác định cho chúng, chúng sẽ sử dụng thời gian của vùng đệm từng ít một,hoặc là vùng đệm dự án hoặc vùng đệm cung ứng của nó.
vụ không CC sẽ làm trễ dự án Để bảo vệ Critical Chain, vùng đệm cung ứng được
sử dụng, nó là một nửa thời gian thực hiện của nhánh mà nó đang bảo vệ
Điều này nghĩa là, nếu có sự chệch hướng nào xuất hiện trong nhiệm vụ B hoặc C,thì vùng đệm cung ứngcó thể hóa giải vấn đề đó trước khi nó tác động đến Chain
Do đó những vùng đệm cung ứng phải được đặt tại mỗi nhánh dẫn đến CriticalChain
III-5-2- Vùng đệm dự án
Vùng đệm dự án là vùng đệm dùng để bảo vệ dự án nhằm đảm bảo nó được hoànthành đúng thời hạn Như đã nói trong ước lượng độn, tất cả các ước lượng đượccắt giảm 50% Phần còn lại được đặt tại thời điểm cuối của nhiệm vụ cuối cùng đểhành động như là phần thêm vào cho bản thân dự án Nếu tài nguyên vật liệu phảiđược yêu cầu cho việc hoàn thành một nhiệm vụ, các vùng đệm tài nguyên (cũnggiống như vùng đệm cung ứng) phải được thêm vào trước nhiệm vụ đó Điều này
có nghĩa là dự án còn lại có cùng độ dài với trước đó, tuy nhiên, theo lý thuyết kếttập, bởi vì tất cả sự an toàn được tập trung tại thời điểm kết thúc, sự khác biệt làthấp hơn và vì thế tất cả các vùng đệm có thể được phân đều Nhờ thế, giảm đi ướclượng ngày kết thúc dự án
Hình 25: Vùng đệm cung ứng và vùng đệm dự án
Trang 37III-7- Lập lịch động
Trong CPM, nếu tài nguyên kết thúc sớm, thuận lợi đó sẽ không được truyền chonhiệm vụ kế tiếp Tưởng tượng một hoàn cảnh khi A được giao cho 5 ngày đểhoàn thành nhiệm vụ và B được giao 7 ngày để hoàn thành nhiệm vụ của anh ta.Nếu A kết thúc nhiệm vụ sớm hơn một ngày, thời gian đó sẽ không được truyềncho nhiệm vụ tiếp theo vì B không mong đợi sẽ bắt đầu nhiệm vụ cho tới tận ngàythứ 6 Chú ý rằng thậm chí nếu có thời gian để bắt đầu nhiệm vụ, B vẫn có thểquyết định rằng anh ta có thêm một ngày và dùng nó để làm việc khác Do đó, thờigian có thêm bị lãng phí
Trong Critical Chain, vấn đề này được giải quyết bởi việc lập lịch động Như đãnói trước đó trong Critical Chain không có thời hạn và mọi nhân công được mongđợi là làm việc nhanh nhất có thể Vì thế, nếu một nhiệm vụ kết thúc sớm, thuậnlợi này sẽ được truyền cho nhiệm vụ tiếp theo, để nhiệm vụ này bắt đầu sớm hơn
Vì thế, khi một tài nguyên được phân công cho một nhiệm vụ CC, nó phải bỏ bất
cứ cái gì đang làm và kết thúc nhiệm vụ CC đầu tiên Sau đó họ có thể tiếp tụcthực hiện nhiệm vụ ngay trước đó Điều này được biết như là lập lịch động – tất cảcác nhiệm vụ CC luôn được ưu tiên, mọi người phải thực hiện các nhiệm vụ nàynhanh nhất có thể
III-8- Giảm công việc
Nhắm tới việc loại trừ vấn đề đa nhiệm, CC đưa ra một cách như sau Tất cả cácnhiệm vụ không phải nhiệm vụ tiền nhiệm phải xuất phát muộn đến mức có thể.Điều này sẽ giảm bớt số công việc trong tiến trình (các nhiệm vụ được làm đồng
Trang 38bộ) và giúp cho tài nguyên và người quản lý tài nguyên tập trung vào công việccủa họ.
III-9- Thực thi đa dự án
Việc thực thi đa dự án có thể được làm giống như việc thực thi một dự án đơn lẻnhờ các quy tắc đưa ra dự án và việc thêm vào các vùng đệm năng suất
Trong lý thuyết về ràng buộc (TOC), một tập các tài nguyên, hoặc là một tàinguyên đơn lẻ, hoặcnhiều tài nguyên giống nhau, chỉ ra luồng các công việc mớitrong hệ thống sản xuất (khác với việc theo luồng các nhiệm vụ) Vấn đề đượcquan tâm là hiệu suất tổng thể chứ không phải là hiệu suất nội bộ Nói cách khác,tiến độ của hệ thống phụ thuộc vào tiến độ của tài nguyên chậm nhất Vì thế, thờigian đưa ra công việc được chỉ định bởi tài nguyên được yêu cầu nhiều nhất - tàinguyên khan hiếm Trong quản lý dự án, điều này được hiểu là một phòng ban
khan hiếm Phòng ban này thường là nguyên nhân của hầu hết các sự chậm trễtrong các dự án, bởi nó là tài nguyên được dùng chung ở mức cao xuyên suốt quatoàn bộ dự án Phòng ban khan hiếm sẽ quyết định có bắt đầu một dự án mớikhông Để làm điều đó, một lịch được đưa ra với tất cả các dự án trong tổ chức.Sau đó tất cả các nhiệm vụ của phòng ban khan hiếm được chỉ ra Các dự án đượclập lịch để khan hiếm được tận dụng hoàn toàn và không bị giao phó nhiều hơn sovới khả năng của nó Bằng việc đưa ra các dự án dựa theo tài nguyên khan hiếm,
sẽ giúp cho tổ chức đảm bảo rằng nó không giao phó nhiều tài nguyên hơn mức tàinguyên của nó Điều này cũng có nghĩa là các phòng ban khác có thể không đượcdùng một cách tối đa bởi các phòng ban khan hiếm được ưu tiên trước tiên, chúngphải chờ để khan hiếm làm nhiều việc hơn Tuy nhiên,điều này là không thể tránhkhỏi vì kỹ thuật Critical Chain nhấn mạnh sự cần thiết tập trung vào thông lượng
của toàn bộ hệ thống hơn là tập trung vào thông lượng của hệ thống nội bộ Cuốicùng, để bảo vệ dự án khỏi việc phá vỡ kế hoạch (ngoài việc cần nắm bắt tàinguyên khan hiếm), các vùng đệm năng suất được thêm vào giữa mỗi nhiệm vụ cótài nguyên khan hiếm Điều này được mô tả trong hình 27
Trang 39Hình 27: Vùng đệm năng suất được dùng để quản lý tài nguyên khan hiếm
III-10-1- Các quy tắc cơ bản
1 Không cho phép đa nhiệm Mỗi tài nguyên phải tập trung vào chỉ một nhiệm
vụ
2 Không đưa ra thời hạn Tất cả các tài nguyên phải làm nhiệm vụ của chúngnhanh nhất có thể
Trang 403.Ước lượng thời gian thực hiện bị cắt đi một nửa, thời gian thêm vào được đưavào vùng đệm dự án.
4 Tất cả các xung đột tài nguyên được loại trừ trước khi đưa ra dự án
5 Tất cả các nhánh dẫn đến Critical Chain phải có vùng đệm cung ứng
6 Việc quản lý vùng đệm - các vùng đệm được chia thành ba phần - đỏ, vàng vàxanh lá cây
7 Lập lịch động Các tài nguyên không được lập lịch tới khi nhiệm vụ bắt đầu
8 Quản lý Critical Chain thay vì Critical Path
9 Lập kế hoạch cho tất cả các dự án trong tổ chức được quyết định bởi tài nguyên
khan hiếm của tổ chức
III-10-2- Các giả định cơ bản
1 Một nhân công trong một tổ chức dự án sẽ được giao cho nhiều hơn một nhiệm
vụ tại một thời điểm
2 Nhân công không có các ưu tiên rõ ràng về các nhiệm vụ phải làm
3 Tất cả các ước lượng thời gian thực hiện nhiệm vụ đã được độn hoặcđã xét đếncác nhân tố đa nhiệm và tranh chấp tài nguyên
4 Việc kết tập các vùng đệm là có thể
5 Chỉ có mộthoặchai phòng ban khan hiếm