Đánh giá phương pháp BCMP và phương pháp Pert-BCPM trong

Một phần của tài liệu Kỹ thuật lập lịch dự án dựa trên hướng tiếp cận sử dụng mạng bayes và công cụ SMILE (Trang 46)

2. Mục tiêu và nhiệm vụ nghiên cứu

2.3.Đánh giá phương pháp BCMP và phương pháp Pert-BCPM trong

Qua việc tìm hiểu hai phương pháp BCPM và phương pháp Pert – BCPM, em nhận thấy phương pháp BCPM chưa đưa ra được đánh giá mức độ hiệu quả, tỷ lệ thành công của dự án, vì đơn thuần, phương pháp này chỉứng dụng đưa ra đường găng của các công việc khi thực hiện dự án mà đối với định lý Bayes, cần có xác suất xác định.

Để giải quyết vấn đề này, em nhận thấy việc sử dụng phương pháp Pert – BCPM để cho phép một loạt những khoảng thời gian được quy định cho từng hoạt động, phân tích dữ liệu đầu vào, đưa ra được xác suất cho từng giai đoạn, cũng như đưa ra được khoảng thời gian thực hiện cho từng công việc. Từ đó, làmcơ sở cho việc xác định thời gian bắt đầu – kết thúc sớm nhất có thể của từng công việc (CPM). Kết hợp với định lý Bayes để đưa ra tỷ lệ thực hiện dự án. Ngoài ra, việc đánh giá thời gian bắt đầu công việc sớm nhất – thời gian kết thúc công việc sớm nhất theo phương pháp Pert -BCPM còn giúp ngư ời quản trị dự án có thể đi đến quyết định đẩy nhanh tiến độ dự án.

2.4. Kết chương

Chương II đã trình bày được:

Phương pháp Bayesian Critical Path Method (BCPM):

o Biểu diễn hoạt động của dự án:

Chúng ta xây dựng các hoạt động trong dự án, bằng cách sử dụng cấu trúc phân chia các công việc của dự án thành các công việc nhỏ hơn (WBS: Work Break-down Structure). Và các hoạt động sẽ diễn ra liên tục, có 2 loại kiểu biểu diễn: phương pháp AON (Activity On Node) và phương pháp AOA (Activity On Arrow).

o Kết hợp giữa CPM và BNS:

Mỗi hoạt động trong mạng CPM được ứng với 5 nút trong BN, đại diện cho các thông số thời gian của các hoạt động như sau:

 D (Duration): Thời gian thực hiện hoạt động.

 ES (Earliest Start): Thời gian sớm nhất để hoạt động có thể bắt đầu.  EF (Earliest Final): Thời gian sớm nhất để hoạt động có thể kết

thúc.

 LF (Latest Final): Thời gian muộn nhất mà hoạt động phải kết thúc.  LS (Latest Start): Thời gian muộn nhất mà hoạt động phải bắt đầu.

o Các bước giải quyết BCPM:

 Bước 1: Theo chiều xuôi dòng với thời gian bắt đầu sớm (ESi) và thời gian kết thúc sớm (EFi) cho mỗi hoạt động.

 Bước 2: Theo chiều ngược dòng với thời gian kết thúc muộn (LFi) và thời gian bắt đầu muộn (LSi) cho mỗi hoạt động.

 Bước 3: Hình thành bảng lịch trình hoạt động .  Phương pháp Pert – BCPM:

o Thực hiện theo mô hình thác nước:

 Mô hình thác nước (tiếng Anh: waterfall model) lần đầu tiên được ông Winston W. Royce xuất bản vào năm 1970. Nó cũng được gọi là một mô hình vòng đời tuyến tính tuần tự. Nó

rất đơn giản để hiểu và sử dụng. Trong một mô hình thác nước, mỗi giai đoạn phải được hoàn tất trước khi giai đoạn tiếp theo có thể bắt đầu và không có sự chồng chéo trong các giai đoạn.

o Thực hiện theo mô hình Scrum:

 Scrum là một phương pháp nhanh để quản lý dựán, thường là phát triển phần mềm. Quá trình Scrum là rất thích hợp cho các dự án với các thay đổi nhanh chóng hoặc yêu cầu. Phát triển phần mềm Scrum tiến triển thông qua một loạt các bước lặp được gọi là sprint, mà kéo dài từ một đến bốn tuần. Các mô hình Scrum cho mỗi sprint bắt đầu với một cuộc họp lập kế hoạch ngắn và kết thúc với một xem xét. Đây là những vấn đềcơ bản của quản lý dự án Scrum.

o Thuật toán Pert/BCPM - Bayes: Input:

- Tổng số Task cần thực hiện.

- Thông số từng Task (Min, Medium, Max) - Thời gian thực hiện.

- Khối lượng Task cần thực hiện trong Sprint sắp tới Output:

- Xác suất hoàn thành Sprint

- Xác suất hoàn thành khối lượng công việc còn lại - Xác suất hoàn thành dự án

- Đưa ra thời gian ngắn nhất để bắt đầu và kết thúc mỗi công việc theo BCPM.

Đánh giá BCPM và Pert – BCPM trong lập lịch dự án:

Qua việc tìm hiểu hai phương pháp, nhận thấy phương pháp Pert - BCPM sử dụng phân tích dữ liệu đầu vào, đưa ra được xác xuất cho từng giai đoạn, cũng như đưa ra được khoảng thời gian thực hiện cho từng công việc. Từ đó, làm cơ sở cho (adsbygoogle = window.adsbygoogle || []).push({});

việc xác định thời gian bắt đầu – kết thúc sớm nhất có thể của từng công việc. Kết hợp với định lý Bayes để đưa ra tỷ lệ thực hiện dự án. Ngoài ra, việc đánh giá thời gian bắt đầu công việc sớm nhất – thời gian kết thúc công việc sớm nhất theo phương pháp Pert - BCPM còn giúp ngư ời quản trị dự án có thểđi đến quyết định đẩy nhanh tiến độ dự án.

CHƯƠNG 3. THỬ NGHIỆM ÁP DỤNG PHƯƠNG PHÁP Pert - BCPM TRONG LẬP LỊCH DỰ ÁN SỬ DỤNG CÔNG CỤ SMILE&GeNIe 3.1. Đặt vấn đề

- Phải hiểu rõ lập lịch dự án là làm gì?

- Nắm được một số quy tắc và các gợi ý khi lập lịch.

- Có khả năng áp dụng biểu đồ cột, sơ đồ mạng để xây dựng lịch. - Có thể sử dụng một số công cụ hỗ trợ lập lịch.

Trong thế giới của quản lý dự án, việc lập lịch dự án là một công cụ hữu ích để theo dõi và báo cáo tiến độ của dự án. Trong suốt cuộc đời của một dự án, lập lịch khác nhau có thể cần thiết cho các mục đích khác nhau và các bên liên quan.

• Lập lịch dự án dao động từ đơn giản nhất là (hoạt động niêm yết, thời gian biểu), với (biểu đồ thanh hội tụ hoạt động với thời gian) toàn diện hơn, đến (lập lịch dựa trên mạng phức tạp nhất, chẳng hạn như BCPM, nơi hoạt động là quan hệ nhân quả liên kết).

• Lập lịch dự án cũng có thể được đặc trưng bởi mục đích sử dụng của họ. Lịch trình sớm pha (thường được gọi là kế hoạch) có thể hữu ích trong việc xây dựng một chiến lược thực hiện dự án. Ví dụ về các kế hoạch chiến lược bao gồm các dự án khả thi, kế hoạch tối ưu, và kế hoạch đồng thuận.

• Lập lịch dự án sử dụng để đánh giá tiến độ hoàn thành dự án, biết được thời gian sớm nhất và thời gian muộn nhất của từng công việc trong dự án. Từ đó đưa ra được chi phí để hoàn thành dự án và có thể đẩy nhanh được tiến độ của dự án. Trong mọi trường hợp, tiến độ dự án là những công cụ của người quản lý dự án, nhằm tối ưu hóa những nỗ lực của họ để quản lý có hiệu quả dự án.

3.2. Xây dựng mạng Bayes

 Xây dựng mạng Bayes bằng công cụ GeNIE  Giao diện công cụ:

Hình 3.1. Giao diện công cụ GeNIE

 Xây dựng một mô hình mạng bằng GeNIE

Hình 3.3.Mô hình mạng đánh giá tiến độ của dự án

3.3. Mô tả dữ liệu thực nghiệm

3.3.1. Đối vi các d án thc hin theo mô hình thác nước

Dữ liệu cần thiết đểđưa vào xử lý cũng như để thử nghiệm đánh giá kết quả sau khi thực hiện thuật toán cần được thống nhất. Ngoài ra, theo những gì được tìm hiểu, cũng như áp dụng một số mô hình phát triển phần mềm, thì mỗi dự án sẽđược chia ra làm 7 công việc chính.

Đối với mỗi doanh nghiệp áp dụng mô hình thác nư ớc, các giai đoạn có thể khác với 7 giai đoạn chính, nhưng về cơ bản vẫn đảm bảo các giai đoạn trong quá trình phát triển phần mềm. Mỗi giai đoạn lại bao gồm nhiều công việc khác nhau, mà mỗi doanh nghiệp có một quy định riêng, nên sẽ thống nhất theo một mẫu thu thập thông tin tổng quát nhất, đểđánh giá được rộng nhất.

Tên dự án:

Sốlượng module: Số ngày thực hiện: Chi phí dự án:

Chi phí đẩy nhanh tiến độ:

Giai đoạn Thời gian thực hiện (ngày) Dự án 1 Thời gian thực hiện (ngày) Dự án 2 Thời gian thực hiện (ngày) Dự án n Công việc 1 Công việc 2 Công việc 3 Công việc 4 Công việc 5 Công việc 6 Công việc 7

Bảng 3.1. Mẫu thu thập dữ liệu dự án theo mô hình thác nước

Từ các mẫu dữ liệu đã được thu thập, ta tiến hành xử lý. Kết quả nhận được như mẫu:

Giai đoạn Thời gian MIN Thời gian MAX Tỷ lệ %

Công việc 1 Công việc 2 Công việc 3 Công việc 4 Công việc 5 Công việc 6 Công việc 7 Bảng 3.2. Kết quả xử lý dữ liệu thu thập

3.3.2. Đối vi d án thc hin theo mô hình Scrum

Theo Scrum, một dự án sẽ được chia làm nhiều Sprint trong quá trình thực hiện dự án. Sprint là một khung thời gian có thời gian một tháng hoặc ngắn hơn. Sprint có thời gian nhất quán trong suốt quá trình phát triển.Như vậy, từ một kế hoạch dự án ban đầu, ta có thể dự đoán được số lượng Sprint trong quá trình thực hiện dự án cũng như thời gian từng Sprint.

STT Câu hỏi Tổng quan Cụ thể

1 Tên dự án (adsbygoogle = window.adsbygoogle || []).push({});

2 Tổ chức dựán như thế nào 3 Sốlượng Module

4 Các bên tham gia 5 Sốlượng Task 6 Sốlượng function 7 Sốlượng Sprint 8 Thời gian mỗi Sprint 9 Số lượng task mỗi sprint Sprint 1 Sprint 2 ……… ……… Sprint …

10 Mỗi Task diễn ra bao lâu? (Càng cụ thể càng tốt)

11 Thời gian và lịch trình dự án Thời gian dự kiến Thời gian thực

Bảng 3.3. Mẫu thu thập dữ liệu dự án theo mô hình Scrum

3.4. Kết quả thực nghiệm

3.4.1. Chương trình

Hình 3.4. Giao diện chính của chương trình

Hình 3.5. Giao diện chức năng Waterfall

Hình 3.6. Giao diện chức năngđẩy nhanh tiến độ Waterfall

Hình 3.7. Giao diện chức năng Scrum

Hình 3.8. Giao diện chức năng đẩy nhanh tiến độ Scrum

3.4.2. Kết qu thc nghiệm chương trình

Đối với các dự án thực hiện theo Waterfall:

Đội dự án A, sau khi thực hiện xong các dự án, dữ liệu về thời gian thực hiện dự án được lưu trữ lại và xử lý. Bảng 3.4 cho thấy kết quả xử lý mẫu thu thập dữ liệu thực nghiệm:

Giai đoạn Thời gian MIN Thời gian MAX Tỷ lệ % Công việc 1 3 9 12.63 Công việc 2 2 8 10.53 Công việc 3 3 7 10.53 Công việc 4 2 9 11.58 Công việc 5 4 10 14.74 Công việc 6 7 15 23.16 Công việc 7 4 12 16.84 Bảng 3.4. Kết quả xử lý mẫu thu thập dữ liệu thực nghiệm

Đội dự án X, nhận được một đơn hàng có yêu cầu:

o Tên dự án: A

o Sốlượng module: 8

o Thời gian thực hiện: 70 ngày

o Chi phí dự án: 700.000.000

o Chi phí đẩy nhanh: 5.000.000/Ngày Các vấn đềđược đặt ra:

- Tỉ lệ hoàn thành dựán A theo đúng thời gian yêu cầu là bao nhiêu? - Xác định đường găng của dự án?

- Thời gian bắt đầu từng công việc sớm nhất là bao lâu? - Thời gian kết thúc từng công việc sớm nhất là bao lâu?

- Đẩy nhanh tiến độ dự án, Tỉ lệ hoàn thành dự án là bao nhiêu, chi phí như thế nào?

Sử dụng chương trình để giải quyết các vấn đề quan tâm.

Hình 3.9. Kết quả thực nghiệm chức năng Waterfall

• Tỉ lệ hoàn thành dựán A theo đúng thời gian yêu cầu là 92,99%. • Thời gian bắt đầu từng công việc sớm nhất (với công việc 1): 0 ngày. • Thời gian kết thúc từng công việc sớm nhất (với công việc 1): hơn 7

ngày.

Hình 3.10. Kết quả thực nghiệm chức năng đẩy nhanh tiến độ Waterfall (adsbygoogle = window.adsbygoogle || []).push({});

- Đẩy nhanh tiến độ dự án thì tỉ lệ hoàn thành dự án là 24,26%. Như vậy với tỉ lệ hoàn thành dự án quá thấp, chúng ta không nên đẩy nhanh tiến độ dự án (hoặc chúng ta có thể chọn đẩy nhanh ngày khác).

Đối với các dự án thực hiện theo mô hình Scrum

Việc thực hiện dự án theo mô hình Scrum, đ ội dự án cần thu thập dữ liệu về thời gian thực hiện các Task và xác định được thời gian thực hiện Sprint tiếp theo. Mặt khác, việc phát triển phần mềm theo mô hình Scrum còn quan tâm tới khối lượng công việc còn lại nên việc dựđoán được khối lượng công việc khi nhận được bản yêu cầu của khách hàng là cần thiết.

Thực nghiệm:

o Tên dự án: B

o Tổ chức dự án: C

o Module: 6

o Các bên tham gia: 8 bên

o Sốlượng Tasks: 60

o Các công việc Task diễn ra: Min 0,5 ngày, Medium: 2 ngày, Max: 10 ngày

o Thời gian dự kiến: 4,5 tháng = 135 ngày

o Thời gian thực tế: 10 tháng = 300 ngày

o Sốlượng Sprint dự kiến: 12

o Sốlượng Sprint thực tế: 18

- Tỉ lệ hoàn thành dự án theo số liệu dự kiến

- Tỉ lệ hoàn thành dự án theo số liệu thực tế

Hình 3.12. Kết quả thực nghiệm chức năng Scrum thực tế

Hình 3.13. Kết quảđẩy nhanh tiến độ Scrum

3.5. Nhận xét và đánh giá

Qua thử nghiệm áp dụng phương pháp Pert - BCPM trong lập lịch dự án, ta thấy:

o Việc đề xuất ý tưởng kết hợp Pert và BCPM cho ta kết quả có giá trị xác suất thấp hơn, thời gian cần thiết cho một dự án nhiều hơn. Nhưng như vậy sẽđảm bảo sự thành công cho dự án.

lượng của máy tính.

o Phương pháp này đưa ra một giải pháp tốt phục vụ cho việc đưa ra quyết định đẩy nhanh tiến độ dự án mà không gặp phải sai lầm khi ước lượng sai khoảng thời gian tiến hành dự án.

3.6. Kết chương

Chương 3 đã trình bày được:

o Đặt vấn đề phải hiểu rõ lập lịch dự án là làm gì?

o Xây dựng mạng Bayes bằng công cụ GeNIE.

o Mô tả dữ liệu thực nghiệm

 Đối với các dự án thực hiện theo mô hình thác nước:

Dữ liệu cần thiết để đưa vào xử lý cũng như để thử nghiệm đánh giá kết quả sau khi thực hiện thuật toán cần được thống nhất. Ngoài ra, theo những gì đư ợc tìm hiểu, cũng như áp dụng một số mô hình phát triển phần mềm, thì mỗi dự án sẽ được chia ra làm 7 công việc chính. (adsbygoogle = window.adsbygoogle || []).push({});

 Đối với các dự án thực hiện theo mô hình Scrum:

Theo Scrum, một dự án sẽ được chia làm nhiều Sprint trong quá trình thực hiện dự án. Sprint là một khung thời gian có thời gian một tháng hoặc ngắn hơn. Sprint có thời gian nhất quán trong suốt quá trình phát triển. Như vậy, từ một kế hoạch dự án ban đầu, ta có thể dự đoán được số lượng Sprint trong quá trình thực hiện dự án cũng như thời gian từng Sprint.

o Kết quả thực nghiệm:

Chương trình cho ta thấy được tỷ lệ thời gian từng công việc, thời gian bắt đầu, thời gian kết thúc sớm nhất của từng công việc theo phương pháp Pert – BCPM và Bayes.

KẾT LUẬN VÀ KIẾN NGHỊ A. Kết luận:

Qua thời gian làm việc, với sự nỗ lực của bản thân và được sựhướng dẫn tận tình của PGS.TS. Huỳnh Quyết Thắng, tôi đã cơ b ản hoàn thành Luận văn “Kỹ thuật lập lịch Dự án dựa trên hướng tiếp cận sử dụng mạng Bayes và công cụ SMILE” của mình.

Đềtài đã giải quyết được các vấn đề sau:

1. Trình bày các khái niệm, những phương pháp cơ bản giải quyết bài toán lập lịch trong quản lý dự án phần mềm.

2. Đưa ra khái niệm về mạng Bayes và công cụ Smile&GeNIe. Cài đặt và sử dụng công cụ GeNIe.

3. Tìm hiểu và phân tích phương pháp Bayesian Critical Path Method (sự kết hợp giữa BNS và CPM) và phương pháp Pert – BCPM. Qua đó đánh giá về hai phương pháp này trong vấn đề lập lịch dự án.

4. Tìm hiểu về giải thuật kết hợp phương pháp PERT - BCPM và lý thuyết

Một phần của tài liệu Kỹ thuật lập lịch dự án dựa trên hướng tiếp cận sử dụng mạng bayes và công cụ SMILE (Trang 46)