Luận án tiến sĩ quản trị rủi ro trong lập lịch dự án phần mềm
Quản trị rủi ro dự án phần mềm giảm thất bại, tối ưu chi phí và đảm bảo tiến độ nhờ phương pháp khoa học, công cụ phân tích và chiến lược ứng phó hiệu quả.
Software Engineering
Luan An
PhD DISSERTATION
Năm xuất bản
Số trang
132
Thời gian đọc
20 phút
Lượt xem
1
Lượt tải
0
Phí lưu trữ
40 Point
Tổng quan nhanh
- Chủ đề:
- 1. Quản trị rủi ro dự án phần mềm và mô hình định lượng
- Số trang:
- 132 trang
- Trường:
- Đại học Bách khoa Hà Nội
- Chuyên ngành:
- Software Engineering
- Tác giả:
- Nguyễn Ngọc Tuấn
- Năm:
- 2021
Tóm tắt nội dung luận án
I. Quản trị rủi ro dự án phần mềm và mô hình định lượng
Quản trị rủi ro dự án phần mềm là hoạt động then chốt trong vòng đời phát triển hệ thống. Hoạt động này giúp kiểm soát các biến cố bất định. Rủi ro xuất hiện có thể gây tổn thất về chi phí, tiến độ và chất lượng. Quản lý dự án truyền thống thường dựa nhiều vào trực giác và kinh nghiệm cá nhân. Cách tiếp cận cảm tính này dẫn đến nhiều sai số nghiêm trọng. Dự án dễ rơi vào tình trạng vượt ngân sách hoặc chậm bàn giao. Vì vậy, việc áp dụng mô hình toán học định lượng là yêu cầu cấp thiết. Mạng xác suất Bayes cung cấp công cụ mạnh mẽ để đo lường tính bất định. Mô hình này hỗ trợ tính toán tác động của từng yếu tố rủi ro đến kết quả chung. Việc kết hợp khoa học dữ liệu giúp tối ưu hóa quá trình ra quyết định. Quản trị viên nắm bắt được bức tranh tổng thể một cách minh bạch. Sự chuẩn bị kỹ lưỡng từ sớm sẽ giảm thiểu tối đa các tổn thất lâu dài.
1.1. Bản chất và vai trò của quản trị rủi ro
Rủi ro trong phần mềm là những điều kiện hoặc sự kiện không chắc chắn. Nếu xảy ra, chúng sẽ tác động tiêu cực đến mục tiêu dự án. Các tác động này thường nhắm vào ngân sách, thời gian hoàn thành hoặc chất lượng kỹ thuật. Nhận thức đúng về rủi ro giúp thiết lập cơ chế phòng ngừa chủ động. Việc phát hiện biến cố ngay từ giai đoạn khởi tạo đem lại lợi ích kinh tế lớn. Chi phí khắc phục sai sót ở giai đoạn đầu luôn thấp hơn nhiều so với giai đoạn kiểm thử hoặc vận hành. Quản trị rủi ro không nhằm loại bỏ hoàn toàn mọi mối nguy. Mục tiêu chính là giữ các chỉ số dự án trong phạm vi kiểm soát an toàn. Đội ngũ kỹ thuật duy trì được sự ổn định trong suốt chu kỳ phát triển. Mọi nguồn lực được phân bổ hợp lý theo mức độ ưu tiên thực tế.
1.2. Thách thức trong lập lịch trình phát triển phần mềm
Lập lịch trình phát triển phần mềm là một nhiệm vụ phức tạp. Hầu hết các dự án trong thực tế đều đối mặt với rủi ro trễ tiến độ. Nguyên nhân bắt nguồn từ sự thiếu chính xác khi ước tính khối lượng công việc. Các phụ thuộc chéo giữa các module cũng tạo ra nhiều điểm nghẽn khó lường. Công cụ quản lý truyền thống khó phản ánh đầy đủ tính động của môi trường công nghệ. Khi một tác vụ bị kéo dài, toàn bộ chuỗi công việc phía sau sẽ bị ảnh hưởng. Sự chậm trễ làm gia tăng áp lực lên ngân sách và nhân lực. Để khắc phục, lịch trình cần được xây dựng dựa trên cơ sở tính toán xác suất. Việc cập nhật liên tục các biến động giúp duy trì tính khả thi của lộ trình bàn giao. Dự án sẽ thích ứng tốt hơn trước các sự cố phát sinh.
II. Nhận diện rủi ro phần mềm và kiểm soát tiến độ dự án
Hoạt động nhận diện rủi ro phần mềm là bước đi đầu tiên trong quy trình kiểm soát an toàn. Doanh nghiệp cần phát hiện sớm các nguy cơ tiềm ẩn từ mọi khía cạnh kỹ thuật và quản trị. Việc phân loại chi tiết giúp xây dựng danh mục theo dõi có hệ thống. Mỗi danh mục phản ánh một nhóm nguyên nhân cụ thể gây gián đoạn tiến độ. Danh mục này bao gồm các vấn đề về kiến trúc, nhân sự, quy trình và yêu cầu người dùng. Việc thu thập dữ liệu lịch sử từ các dự án tương tự mang lại góc nhìn thực tế. Quá trình nhận diện phải diễn ra liên tục, không dừng lại ở giai đoạn lập kế hoạch. Khi các yếu tố nguy hiểm được định danh rõ ràng, việc ứng phó sẽ trở nên chủ động và chính xác hơn. Điều này tạo nền tảng vững chắc cho việc quản lý tiến độ tổng thể.
2.1. Phân loại rủi ro kỹ thuật phần mềm và hệ thống
Trong các hệ thống công nghệ, rủi ro kỹ thuật phần mềm luôn chiếm tỷ trọng lớn. Nhóm này bao gồm các lỗi thiết kế kiến trúc, công nghệ chưa hoàn thiện hoặc sự không tương thích nền tảng. Khi công nghệ mới được áp dụng mà thiếu thử nghiệm, sự cố rất dễ xảy ra. Bên cạnh đó, rủi ro bảo mật phần mềm cũng đe dọa trực tiếp đến tính toàn vẹn của sản phẩm. Các lỗ hổng bảo mật có thể làm tê liệt hệ thống hoặc rò rỉ dữ liệu quan trọng. Việc khắc phục sự cố bảo mật thường tiêu tốn nhiều thời gian và làm đình trệ toàn bộ kế hoạch phát hành. Do đó, việc rà soát kiến trúc định kỳ là bắt buộc. Đội ngũ phát triển cần thiết lập tiêu chuẩn kiểm thử tự động nghiêm ngặt. Điều này giúp ngăn chặn triệt để các lỗi kỹ thuật phát sinh ngay từ mã nguồn.
2.2. Kiểm soát rủi ro nhân sự dự án IT và mở rộng yêu cầu
Biến động nguồn lực là một trong những nguyên nhân hàng đầu gây thất bại dự án. Rủi ro nhân sự dự án IT thường biểu hiện qua sự thiếu hụt kỹ năng hoặc thay đổi thành viên chủ chốt. Khi nhân sự then chốt rời đi, dự án mất nhiều thời gian để đào tạo người thay thế. Song song đó, hiện tượng phình to phạm vi dự án (scope creep) cũng tạo áp lực lớn lên tiến độ. Yêu cầu tính năng mới liên tục được thêm vào mà không có sự điều chỉnh về thời gian và chi phí. Khối lượng công việc tăng vọt làm kiệt quệ nguồn lực sẵn có. Để hạn chế tình trạng này, quy trình quản lý thay đổi phải được thực thi nghiêm ngặt. Mọi yêu cầu bổ sung cần được đánh giá tác động kỹ lưỡng trước khi phê duyệt.
III. Đánh giá mức độ rủi ro dự án phần mềm qua mạng Bayes
Việc đánh giá mức độ rủi ro là trung tâm của toàn bộ hoạt động quản trị dự án. Quá trình này giúp lượng hóa khả năng xảy ra và mức độ thiệt hại của từng biến cố. Trước đây, các nhà quản lý thường dựa vào bảng đánh giá chủ quan. Phương pháp cũ này thiếu tính liên kết giữa các yếu tố biến động phức tạp. Việc ứng dụng mạng Bayes mang lại bước đột phá trong tính toán xác suất có điều kiện. Mạng Bayes biểu diễn mối quan hệ nhân quả giữa các rủi ro dưới dạng đồ thị có hướng. Khi một sự kiện xảy ra, hệ thống tự động cập nhật lại xác suất cho toàn bộ mạng lưới. Nhờ đó, mức độ rủi ro tổng thể luôn được phản ánh chính xác theo thời gian thực. Dự án có cơ sở vững chắc để đưa ra các quyết định can thiệp kịp thời.
3.1. Chuyển đổi từ phân tích định tính sang định lượng
Trong giai đoạn đầu, phân tích rủi ro định tính thường được sử dụng để xếp hạng các mối đe dọa. Phương pháp này phân loại rủi ro theo các mức độ cao, trung bình hoặc thấp dựa trên ý kiến chuyên gia. Tuy nhiên, tính định tính không thể đưa ra con số cụ thể về số ngày chậm trễ hay chi phí phát sinh. Việc chuyển đổi sang phương pháp định lượng giúp giải quyết triệt để hạn chế này. Mô hình định lượng sử dụng các phân phối xác suất để mô tả độ biến thiên của thời gian thực hiện. Dữ liệu thực tế từ các dự án quá khứ được đưa vào làm thông tin tiền định. Kết quả đầu ra là các chỉ số đo lường cụ thể và có tính thuyết phục cao. Ban quản lý dễ dàng nhìn thấy bức tranh tài chính và tiến độ rõ ràng.
3.2. Ứng dụng mạng Bayes kết hợp CPM và PERT truyền thống
Các phương pháp lập lịch truyền thống như CPM và PERT có giá trị lớn trong việc xác định đường găng dự án. Tuy nhiên, chúng chưa xử lý tốt các yếu tố bất định và quan hệ phi tuyến. Việc tích hợp mạng Bayes vào PERT và CPM giúp khắc phục điểm yếu này. Mô hình mới cho phép tính toán lại thời gian hoàn thành của từng tác vụ khi có biến cố xảy ra. Bên cạnh đó, ma trận rủi ro dự án được cập nhật tự động dựa trên suy diễn Bayes. Sự kết hợp này mang lại cái nhìn sâu sắc về các điểm nghẽn tiềm ẩn trên đường găng. Quản trị viên nhận diện chính xác tác vụ nào có nguy cơ làm đổ vỡ toàn bộ tiến độ. Nhờ vậy, các biện pháp can thiệp có thể tập trung đúng trọng tâm.
IV. Kế hoạch giảm thiểu rủi ro dự án phần mềm hiệu quả cao
Xây dựng kế hoạch giảm thiểu rủi ro là hành động bắt buộc để bảo vệ thành quả của dự án. Sau khi đã lượng hóa các mối nguy, đội ngũ quản lý cần đề ra giải pháp xử lý cụ thể. Có bốn chiến lược ứng phó cơ bản bao gồm né tránh, giảm nhẹ, chuyển giao hoặc chấp nhận rủi ro. Mỗi chiến lược phù hợp với một nhóm nguyên nhân và mức độ nghiêm trọng khác nhau. Kế hoạch phải chỉ rõ trách nhiệm của từng cá nhân và thời hạn hoàn thành. Đồng thời, nguồn ngân sách dự phòng cũng cần được chuẩn bị sẵn sàng. Việc triển khai kế hoạch cần được theo dõi sát sao qua từng giai đoạn phát triển. Nhờ có sự chuẩn bị kỹ lưỡng, các tác động xấu sẽ được hạn chế ở mức thấp nhất. Dự án duy trì được sự ổn định cần thiết.
4.1. Xây dựng phương án ứng phó và dự phòng tiến độ
Phương án ứng phó phải được thiết kế chi tiết cho từng kịch bản rủi ro cụ thể. Việc tạo quỹ dự phòng thời gian (buffer) là giải pháp thiết thực để bảo vệ đường găng. Quỹ dự phòng này không được phân bổ tùy tiện mà phải căn cứ vào xác suất bất định của từng tác vụ. Khi có sự cố kỹ thuật xảy ra, quỹ thời gian này sẽ hấp thụ độ trễ mà không làm ảnh hưởng đến mốc bàn giao cuối cùng. Đội ngũ kỹ thuật cũng cần chuẩn bị sẵn các giải pháp kiến trúc thay thế. Trong trường hợp công nghệ chính gặp trục trặc, phương án dự phòng có thể kích hoạt ngay lập tức. Tính liên tục của dự án nhờ đó luôn được bảo đảm. Sự phối hợp nhịp nhàng giữa các nhóm sẽ giảm thiểu thời gian gián đoạn.
4.2. Tích hợp quản lý rủi ro vào mô hình Agile linh hoạt
Mô hình phát triển Agile đòi hỏi tính linh hoạt cao và khả năng thích ứng liên tục. Việc tích hợp quản lý rủi ro vào từng chu kỳ lặp (Sprint) mang lại hiệu quả vượt trội. Trong mỗi buổi họp lập kế hoạch Sprint, các yếu tố không chắc chắn cần được đưa ra phân tích. Đội ngũ phát triển đánh giá lại độ phức tạp của từng hạng mục công việc. Các tác vụ có độ rủi ro cao nên được ưu tiên triển khai sớm để kiểm chứng giải pháp. Sau mỗi vòng lặp, buổi họp hồi tưởng (Retrospective) giúp rút ra bài học kinh nghiệm thực tế. Quy trình này giúp hệ thống tự hoàn thiện và nâng cao khả năng chống chịu rủi ro. Tính linh hoạt của Agile kết hợp với tư duy định lượng tạo nên lá chắn vững chắc.
V. Tối ưu quản trị rủi ro dự án phần mềm trong kỷ nguyên số
Kỷ nguyên số mở ra cơ hội lớn trong việc hiện đại hóa công tác quản lý dự án phần mềm. Sự hỗ trợ của trí tuệ nhân tạo và học máy giúp tối ưu hóa việc phân tích dữ liệu lớn. Các hệ thống hiện đại có thể tự động thu thập nhật ký công việc và mã nguồn để phát hiện sớm dị thường. Việc kết hợp mạng Bayes với các thuật toán phân tích thông minh nâng cao độ chính xác trong dự báo. Quản trị rủi ro không còn là công việc mang tính phản ứng thụ động mà trở thành hệ thống phòng ngừa chủ động. Doanh nghiệp có thể mô phỏng hàng nghìn kịch bản phát triển khác nhau trước khi triển khai. Điều này giúp tối ưu hóa việc sử dụng tài nguyên và nâng cao năng lực cạnh tranh. Nền tảng số hóa biến rủi ro thành cơ hội cải tiến quy trình.
5.1. Tự động hóa giám sát các yếu tố biến động dự án
Tự động hóa quy trình theo dõi giúp giảm bớt gánh nặng báo cáo thủ công cho các kỹ sư. Các công cụ tích hợp liên tục (CI/CD) cung cấp dữ liệu tức thì về chất lượng mã nguồn và tốc độ hoàn thành công việc. Khi các chỉ số hiệu suất lệch khỏi ngưỡng tiêu chuẩn, cảnh báo tự động sẽ được gửi đi. Việc này giúp nhà quản lý phát hiện sớm các dấu hiệu chậm trễ hoặc suy giảm chất lượng. Hệ thống giám sát tự động hoạt động liên tục mà không làm gián đoạn tiến độ chung. Mọi thành viên đều có thể theo dõi tình trạng sức khỏe của dự án một cách minh bạch. Sự minh bạch này thúc đẩy tinh thần trách nhiệm và phản ứng nhanh nhạy của toàn đội ngũ. Các vấn đề nhỏ được xử lý ngay trước khi trở thành sự cố lớn.
5.2. Nâng cao năng lực dự báo cho đội ngũ quản lý
Năng lực dự báo là yếu tố phân định sự thành bại của một nhà quản lý dự án hiện đại. Việc trang bị kiến thức về mạng xác suất và mô hình toán học giúp nâng cao chất lượng quyết định. Đội ngũ quản lý cần hiểu rõ cách đọc và diễn giải các chỉ số rủi ro định lượng. Thay vì phỏng đoán theo cảm tính, mọi quyết định điều chỉnh lịch trình đều dựa trên bằng chứng dữ liệu rõ ràng. Việc đào tạo liên tục về kỹ năng phân tích rủi ro là khoản đầu tư cần thiết cho doanh nghiệp phần mềm. Đội ngũ có năng lực phân tích tốt sẽ tự tin ứng phó trước mọi biến động của thị trường công nghệ. Dự án sẽ về đích đúng thời hạn, đạt chuẩn chất lượng và trong phạm vi ngân sách.
Mục lục chi tiết luận án
Tải xuống file đầy đủ để xem toàn bộ nội dung
Tải đầy đủ (132 trang)Nội dung chính
Tổng quan về luận án
Luận án tiến sĩ "Quản lý rủi ro trong lập lịch dự án phần mềm sử dụng mạng Bayesian" của Nguyễn Ngọc Tuấn đặt trọng tâm vào một trong những thách thức dai dẳng nhất của ngành công nghiệp phần mềm: việc quản lý hiệu quả các rủi ro liên quan đến thời gian và chi phí. Trong bối cảnh khoa học hiện đại, khi các dự án phần mềm ngày càng phức tạp và dễ bị ảnh hưởng bởi nhiều yếu tố bất định, nghiên cứu này mang tính tiên phong bằng cách đề xuất một phương pháp định lượng mạnh mẽ để nâng cao khả năng dự đoán và kiểm soát lịch trình dự án.
Nghiên cứu xác định một khoảng trống nghiên cứu (research gap) cụ thể trong tài liệu hiện có. Mặc dù có nhiều nghiên cứu về phân tích rủi ro phần mềm, nhưng "phần lớn các nghiên cứu về phân tích rủi ro phần mềm tập trung vào việc tìm ra mối quan hệ giữa các yếu tố rủi ro và kết quả phần mềm, nhưng thiếu một cách tiếp cận định lượng và mối quan hệ nhân quả giữa các yếu tố rủi ro [9, 24, 31, 32]." Hơn nữa, các nghiên cứu khác "chú ý đến việc định nghĩa cách tiếp cận định lượng và mối quan hệ nhân quả giữa các yếu tố rủi ro và đánh giá rủi ro cho toàn bộ dự án phần mềm [33, 34] nhưng không chú ý đủ đến việc mô hình hóa các yếu tố rủi ro từ giai đoạn lập lịch (trong giai đoạn lập kế hoạch) – giai đoạn quyết định sự thất bại hay thành công của dự án sau này." Khoảng trống này càng rõ rệt khi các phương pháp định lượng hiện có thường thiếu khả năng nắm bắt sự không chắc chắn một cách thích hợp hoặc tạo ra kết quả không chính xác khi áp dụng cho các dự án phần mềm có thuộc tính riêng biệt so với các dự án truyền thống khác (trang 17).
Để lấp đầy khoảng trống này, luận án tập trung vào các câu hỏi nghiên cứu sau:
- Làm thế nào để lập lịch các dự án phần mềm tốt hơn?
- Làm thế nào để quản lý rủi ro trong các dự án phần mềm tốt hơn?
- Làm thế nào để phân tích rủi ro định lượng?
Giả thuyết nghiên cứu của luận án là "có thể sử dụng mạng Bayesian (BNs) để định lượng sự không chắc chắn trong lập lịch dự án phần mềm và cải thiện đánh giá rủi ro dự án phần mềm" (trang 21).
Khung lý thuyết của luận án được xây dựng dựa trên việc tích hợp các nguyên lý của Mạng Bayesian (Bayesian Networks) với các kỹ thuật lập lịch dự án phổ biến như Phương pháp đường găng (Critical Path Method – CPM), Kỹ thuật đánh giá và xem xét chương trình (Program Evaluation and Review Technique – PERT) và lập lịch lặp lại Agile. BNs, như một mô hình đồ họa và toán học, "cung cấp một cách tiếp cận mạnh mẽ, tổng quát và linh hoạt để mô hình hóa rủi ro và sự không chắc chắn" (trang 17), đặc biệt là khả năng mô hình hóa quan hệ nhân quả và sự phụ thuộc có điều kiện giữa các biến.
Đóng góp đột phá của nghiên cứu nằm ở việc:
- Đề xuất thuật toán BRI (Bayes Risk-Impact) và phát triển công cụ CKDY để định lượng và đánh giá tác động của các yếu tố rủi ro trong lập lịch dự án phần mềm.
- Xác định một danh sách 19 yếu tố rủi ro chung cụ thể cho lập lịch dự án phần mềm (áp dụng cho cả phong cách phát triển Agile và truyền thống), dựa trên đánh giá tài liệu và thực nghiệm.
- Tích hợp các mô hình Mạng Bayesian của các yếu tố rủi ro này vào các kỹ thuật lập lịch hiện có, tạo ra các phương pháp lập lịch nâng cao, cung cấp khả năng dự đoán lịch trình và xác suất hoàn thành đúng thời hạn.
- Chứng minh tính tin cậy và giá trị thực tiễn của các phương pháp và mô hình thông qua kết quả thực nghiệm với dữ liệu dự án thực tế.
Phạm vi nghiên cứu tập trung vào các dự án phần mềm, xem xét các đặc điểm chung và riêng biệt so với các loại dự án khác. Nó tập trung vào quản lý rủi ro định lượng ảnh hưởng đến lịch trình dự án, bao gồm cả các kỹ thuật lập lịch phổ biến như CPM, PERT và lập lịch Agile. Luận án "đã khảo sát 29 chuyên gia CNTT có 5 đến 25 năm kinh nghiệm trong ngành CNTT" (trang 45) để tinh chỉnh mô hình và xác suất liên quan, đảm bảo tính ứng dụng thực tiễn. Tác động tiềm năng được định lượng qua việc cải thiện khả năng dự đoán, giám sát và đưa ra quyết định phù hợp, góp phần giảm thiểu tình trạng chậm tiến độ và vượt ngân sách phổ biến trong ngành (với 83.8% các dự án phần mềm bị vượt ngân sách hoặc chậm tiến độ theo thống kê [7, 8]).
Literature Review và Positioning
Nghiên cứu này thực hiện một tổng quan tài liệu sâu rộng, tổng hợp các luồng nghiên cứu chính về lập kế hoạch dự án, kỹ thuật lập lịch, công cụ lập lịch, đặc điểm rủi ro và không chắc chắn trong dự án phần mềm, quy trình quản lý rủi ro, và phân tích rủi ro dự án. Các tác giả được tham chiếu bao gồm Khodakarami [19], Ali et al. [20], Lee và Shin [21], Sharma và Chanda [22], Khodakarami et al. [23], Fenton và Neil [25], Chang, Yu, và Cheng [26], Hui và Liu [9], Kumar và Yadav [24], Hu et al. [27], Anthony et al. [28], Rai et al. [29], và Akos Szoke [30].
Nhiều nghiên cứu trước đây đã áp dụng Mạng Bayesian vào các dự án nói chung, như công trình của Khodakarami [19] về lập lịch dự án với các trường hợp thiết kế máy bay và xây dựng trung tâm thể dục, hay Ali et al. [20] kết hợp Mô phỏng Monte Carlo (MCS) với BNs để đánh giá tác động tổng hợp của rủi ro trong các dự án xây dựng. Tuy nhiên, các nghiên cứu này thường không tập trung cụ thể vào các đặc thù của dự án phần mềm. Trong lĩnh vực rủi ro phần mềm, Hui và Liu [9] đã chọn 24 yếu tố rủi ro có thể gây ra tác động tiềm tàng đến toàn bộ dự án phần mềm và áp dụng thuộc tính BNs để tính toán tác động. Tương tự, Kumar và Yadav [24] giới thiệu một phương pháp xác suất để đánh giá rủi ro trong các dự án phần mềm và đề xuất danh sách 27 yếu tố rủi ro.
Tuy nhiên, luận án này xác định các mâu thuẫn và tranh luận quan trọng. Mặc dù các nghiên cứu như của Hui và Liu [9] hoặc Kumar và Yadav [24] đã phân tích rủi ro cho toàn bộ dự án phần mềm, chúng "không tập trung vào các giai đoạn lập lịch và lập kế hoạch, vốn sẽ quyết định sự thành công của dự án" (trang 19). Hơn nữa, các kỹ thuật mô phỏng như MCS, mặc dù phổ biến, lại có nhược điểm nghiêm trọng như "giả định về sự độc lập thống kê cho các hoạt động riêng lẻ chia sẻ các yếu tố rủi ro chung với các hoạt động khác" và "không có khả năng mô hình hóa cấu trúc nhân quả" (trang 29), dẫn đến việc đánh giá thấp tổng thể sự không chắc chắn.
Luận án này định vị nghiên cứu của mình bằng cách giải quyết rõ ràng khoảng trống này: "Có nhu cầu về một phương pháp xác suất trong quản lý rủi ro lập lịch dự án phần mềm cũng như kiểm tra sâu hơn các thuộc tính rủi ro của lập lịch dự án phần mềm" (trang 19). Nó không chỉ tập trung vào việc định lượng rủi ro cho toàn bộ dự án mà còn đi sâu vào pha lập lịch, nơi các quyết định sớm có thể có tác động to lớn đến thành công cuối cùng.
Nghiên cứu này thúc đẩy lĩnh vực quản lý dự án phần mềm bằng cách cung cấp một khuôn khổ định lượng toàn diện hơn. Thay vì chỉ dựa vào kinh nghiệm chủ quan của quản lý dự án, nó tích hợp sức mạnh phân tích của Mạng Bayesian để "định lượng các yếu tố, và do đó giúp quản lý chúng tốt hơn cũng như tăng cường khả năng dự đoán các sự kiện xảy ra trong dự án" (trang 3).
So sánh với ít nhất 2 nghiên cứu quốc tế nổi bật:
- Khodakarami et al. [23] đã kiểm tra một phương pháp tạo lịch trình dự án kết hợp rủi ro, sự không chắc chắn và nhân quả bằng cách sử dụng BNs, nâng cao CPM truyền thống. Tuy nhiên, mô hình của họ chủ yếu áp dụng cho các dự án chung (ví dụ: xây dựng, R&D) và không đi sâu vào các đặc thù của dự án phần mềm. Luận án này mở rộng công việc đó bằng cách điều chỉnh BNs cho các tính năng cụ thể của phần mềm và tích hợp nó vào các phương pháp lập lịch chuyên biệt của phần mềm (như Agile).
- Hui và Liu [9] đã xây dựng phần mềm để tính toán tác động của 24 yếu tố rủi ro đến khả năng thành công của dự án phần mềm nói chung. Nghiên cứu hiện tại tiến xa hơn bằng cách tinh chỉnh danh sách các yếu tố rủi ro (lên tới 19 yếu tố) tập trung đặc biệt vào lập lịch dự án phần mềm và phát triển một thuật toán và công cụ riêng (CKDY) để đánh giá tác động rủi ro trực tiếp lên lịch trình. Nghiên cứu cũng mở rộng để tích hợp các mô hình BN của các yếu tố rủi ro này vào các kỹ thuật lập lịch cụ thể (CPM, PERT, Agile), một khía cạnh mà Hui và Liu chưa làm rõ.
Đóng góp lý thuyết và khung phân tích
Đóng góp cho lý thuyết
Luận án này đóng góp đáng kể vào lý thuyết quản lý rủi ro và lập lịch dự án bằng cách mở rộng và thách thức các lý thuyết hiện có. Cụ thể, nó mở rộng lý thuyết về Mạng Bayesian (BNs) của Pearl [82] bằng cách áp dụng chúng vào một miền ứng dụng phức tạp và đặc thù – lập lịch dự án phần mềm. Trong khi BNs đã được sử dụng trong các lĩnh vực như y học và tài chính [80], việc áp dụng chúng một cách có hệ thống và định lượng vào việc quản lý rủi ro thời gian trong dự án phần mềm còn hạn chế. Nghiên cứu này chứng minh rằng BNs có thể cung cấp một "phương pháp chặt chẽ để sử dụng thông tin chủ quan một cách chính thức" và "định lượng rõ ràng sự không chắc chắn" (trang 40), khắc phục những hạn chế của các phương pháp "xác suất-tác động" (PI) truyền thống.
Khung khái niệm được đề xuất bao gồm:
- Các yếu tố rủi ro phần mềm chung: Xác định 19 yếu tố rủi ro cụ thể ảnh hưởng đến lịch trình dự án phần mềm, khác biệt với các yếu tố rủi ro dự án chung.
- Mô hình hóa quan hệ nhân quả: Sử dụng đồ thị không chu trình có hướng (DAGs) của BNs để biểu diễn mối quan hệ nhân quả và phụ thuộc có điều kiện giữa các yếu tố rủi ro và kết quả lịch trình.
- Tích hợp vào kỹ thuật lập lịch: Đưa các mô hình BN của yếu tố rủi ro vào các kỹ thuật lập lịch truyền thống (CPM, PERT) và Agile.
Mô hình lý thuyết được phát triển với các mệnh đề/giả thuyết sau:
- Mệnh đề 1: Việc định lượng các yếu tố rủi ro và tác động của chúng thông qua Mạng Bayesian (BNs) sẽ cải thiện độ chính xác của đánh giá rủi ro trong lập lịch dự án phần mềm.
- Mệnh đề 2: Thuật toán BRI (Bayes Risk-Impact) cung cấp một cơ chế định lượng hiệu quả để đo lường tác động của rủi ro lên lịch trình.
- Mệnh đề 3: Việc tích hợp BNs vào các kỹ thuật lập lịch hiện có (CPM, PERT, Agile) sẽ cung cấp khả năng dự đoán xác suất hoàn thành đúng thời hạn và xác định rủi ro trong các hoạt động cụ thể.
Mặc dù không tuyên bố tạo ra một sự thay đổi mô hình (paradigm shift) hoàn toàn, nghiên cứu này đóng góp vào việc chuyển dịch từ cách tiếp cận chủ quan, dựa vào kinh nghiệm sang một phương pháp định lượng, dựa trên bằng chứng trong quản lý rủi ro lập lịch dự án phần mềm. Bằng chứng từ các phát hiện cho thấy rằng việc sử dụng BNs có thể "giúp dự đoán, giám sát lịch trình dự án tốt hơn cũng như đưa ra các quyết định phù hợp" (trang 21), điều này là một bước tiến đáng kể so với việc quản lý rủi ro truyền thống chỉ dựa vào các ma trận PI hoặc kinh nghiệm.
Khung phân tích độc đáo
Khung phân tích của luận án là độc đáo bởi sự tích hợp sâu rộng của nhiều lý thuyết và phương pháp. Nó tích hợp các nguyên lý từ ít nhất ba lý thuyết cụ thể:
- Lý thuyết xác suất Bayesian (thông qua Mạng Bayesian) để mô hình hóa sự không chắc chắn và các mối quan hệ nhân quả.
- Lý thuyết lập lịch dự án (CPM, PERT) để cung cấp cấu trúc cơ bản cho việc quản lý thời gian.
- Lý thuyết Phát triển phần mềm Agile để giải quyết các đặc thù của dự án phần mềm hiện đại, linh hoạt.
Cách tiếp cận phân tích mới lạ nằm ở việc không chỉ sử dụng BNs để phân tích rủi ro riêng lẻ mà còn nhúng trực tiếp các mô hình BN của các yếu tố rủi ro vào các thuật toán lập lịch. Ví dụ, việc tạo ra các mô hình như RBCPM (Risk Bayesian Critical Path Method) và RBPERT (Risk Bayesian PERT) thể hiện một sự đổi mới trong việc kết hợp khả năng định lượng rủi ro của BNs với khả năng lập lịch của CPM và PERT.
Các đóng góp khái niệm bao gồm:
- Định nghĩa lại Rủi ro trong lập lịch phần mềm: Rủi ro được định nghĩa là "các sự kiện hoặc điều kiện không chắc chắn, nếu xảy ra, chúng sẽ có tác động xấu đến một hoặc nhiều kết quả dự án phần mềm (chi phí, thời gian, chất lượng)" (trang 15), nhưng nghiên cứu tập trung cụ thể vào tác động đến lịch trình.
- Thuật toán BRI: Một phương pháp tính toán tác động rủi ro dựa trên xác suất và trọng số tác động trong mạng Bayesian.
- Danh sách 19 yếu tố rủi ro chung: Một bộ định nghĩa cụ thể về các rủi ro có thể áp dụng cho lập lịch dự án phần mềm.
Các điều kiện biên (boundary conditions) được nêu rõ. Nghiên cứu tập trung vào "quản lý rủi ro định lượng liên quan đến các rủi ro ảnh hưởng đến lịch trình dự án (hoặc khung thời gian dự án)" (trang 20), và các kỹ thuật lập lịch chính được xem xét là CPM, PERT cho các dự án truyền thống và lập lịch lặp lại Agile. Nó cũng thừa nhận rằng "chỉ có rất ít nghiên cứu tốt về việc áp dụng các phương pháp xác suất vào các dự án phát triển phần mềm" (trang 20), do đó ban đầu dựa trên các ý tưởng từ quản lý dự án chung. Điều này giới hạn phạm vi áp dụng trực tiếp vào các loại rủi ro không liên quan đến thời gian hoặc các kỹ thuật lập lịch ngoài những kỹ thuật được đề cập.
Phương pháp nghiên cứu tiên tiến
Thiết kế nghiên cứu
Nghiên cứu này tuân theo một triết lý nghiên cứu theo hướng thực chứng hậu hiện đại (post-positivism) hoặc duy thực phê phán (critical realism). Nó tìm cách định lượng và giải thích các hiện tượng khách quan (rủi ro dự án, lịch trình) thông qua việc xây dựng mô hình và kiểm tra thực nghiệm. Mặc dù thừa nhận sự phức tạp và vai trò của các yếu tố chủ quan (như ý kiến chuyên gia), nó cố gắng đạt được sự hiểu biết khách quan và có thể khái quát hóa bằng các phương pháp khoa học chặt chẽ.
Thiết kế nghiên cứu không được mô tả chính thức là phương pháp hỗn hợp (mixed methods), nhưng nó tích hợp các yếu tố định tính và định lượng. Việc xác định các yếu tố rủi ro ban đầu dựa trên tổng quan tài liệu và ý kiến chuyên gia (phương pháp định tính), sau đó được mô hình hóa và kiểm nghiệm định lượng bằng Mạng Bayesian và các thuật toán. Sự kết hợp này mang lại cái nhìn toàn diện hơn về vấn đề.
Thiết kế nghiên cứu cũng có tính chất đa cấp độ (multi-level design). Nó bắt đầu với việc phân tích các vấn đề lập lịch và quản lý rủi ro ở cấp độ dự án tổng thể, sau đó đi sâu vào các yếu tố rủi ro cụ thể ở cấp độ hoạt động/nhiệm vụ của dự án phần mềm. Các cấp độ này được định nghĩa rõ ràng: từ bối cảnh rộng của quản lý dự án phần mềm, đến việc xử lý các rủi ro ảnh hưởng đến lịch trình, và cuối cùng là tích hợp chúng vào các kỹ thuật lập lịch cụ thể cho từng hoạt động.
Kích thước mẫu và tiêu chí lựa chọn chính xác: Để phát triển và tinh chỉnh mô hình BNs cho các yếu tố rủi ro, nghiên cứu đã "khảo sát 29 chuyên gia CNTT có 5 đến 25 năm kinh nghiệm trong ngành CNTT. Mỗi chuyên gia đã được phỏng vấn và yêu cầu tinh chỉnh mô hình bằng cách điều chỉnh các xác suất và trọng số liên quan" (trang 45). Ngoài ra, dữ liệu dự án phần mềm thực tế đã được cung cấp bởi "Tiến sĩ Nguyễn Thanh Nam (cựu CEO của FPT và cựu Chủ tịch của FSOFT), ông Lưu Quốc Tuấn (Tinh Vân Outsourcing Jsc.), ông Ngô Quang Vinh (Evizi), ông Nguyễn Huy Bình (FIS)" (trang 1) để xây dựng công cụ và thử nghiệm mô hình. Đây là một phương pháp chọn mẫu có chủ đích (purposive sampling) dựa trên kinh nghiệm chuyên môn và khả năng tiếp cận dữ liệu thực tế.
Quy trình nghiên cứu nghiêm ngặt
Chiến lược lấy mẫu bao gồm việc chọn lọc các chuyên gia có kinh nghiệm sâu rộng trong ngành CNTT và các dữ liệu dự án phần mềm thực tế. Tiêu chí bao gồm/loại trừ không được nêu rõ tường minh cho dữ liệu dự án, nhưng việc lựa chọn các chuyên gia có từ 5-25 năm kinh nghiệm đảm bảo rằng dữ liệu chủ quan được thu thập có độ tin cậy cao.
Giao thức thu thập dữ liệu bao gồm phỏng vấn chuyên gia để "tinh chỉnh mô hình bằng cách điều chỉnh các xác suất và trọng số liên quan" (trang 45), cũng như thu thập "dữ liệu dự án phần mềm thực tế hữu ích và các đánh giá chuyên môn có giá trị về dữ liệu" (trang 1). Các công cụ thu thập dữ liệu được mô tả là các cuộc phỏng vấn cấu trúc và phi cấu trúc với các chuyên gia, và thu thập dữ liệu hiệu suất dự án từ các công ty phần mềm.
Tam giác hóa (Triangulation) được áp dụng để tăng cường tính hợp lệ của nghiên cứu.
- Tam giác hóa dữ liệu: Kết hợp dữ liệu chủ quan từ ý kiến chuyên gia (ví dụ: xác suất ban đầu cho các nút BN) với dữ liệu khách quan từ các dự án phần mềm thực tế.
- Tam giác hóa phương pháp: Kết hợp tổng quan tài liệu (xác định các yếu tố rủi ro), phát triển mô hình toán học (BNs, thuật toán BRI), và kiểm nghiệm thực nghiệm bằng phần mềm (công cụ CKDY).
- Tam giác hóa nhà nghiên cứu: Mặc dù luận án được thực hiện bởi một tác giả chính, sự hướng dẫn từ các giám sát viên (PGS. Huỳnh Quyết Thắng, TS. Vũ Thị Hương Giang) và sự cộng tác với các sinh viên để xây dựng và thử nghiệm công cụ mang lại các góc nhìn và kiểm tra đa chiều.
Tính hợp lệ (Validity) và độ tin cậy (reliability):
- Tính hợp lệ cấu trúc (Construct Validity): Các yếu tố rủi ro được xác định dựa trên tổng quan tài liệu sâu rộng (ví dụ: từ Hui và Liu [9], Kumar và Yadav [24]) và được tinh chỉnh bởi các chuyên gia trong ngành, đảm bảo rằng các khái niệm được đo lường phản ánh đúng các khía cạnh của rủi ro lập lịch phần mềm.
- Tính hợp lệ nội bộ (Internal Validity): Mạng Bayesian được thiết kế để mô hình hóa các mối quan hệ nhân quả rõ ràng giữa các yếu tố rủi ro và lịch trình, giúp giảm thiểu các giải thích thay thế.
- Tính hợp lệ bên ngoài (External Validity): Luận án tuyên bố "kết quả thực nghiệm cho thấy các mô hình của chúng tôi đáng tin cậy và các phương pháp của chúng tôi có ý nghĩa thực tiễn" (trang 3), với mục tiêu là có thể áp dụng cho các dự án phần mềm thực tế. Các điều kiện tổng quát hóa được làm rõ trong phần Hạn chế và Nghiên cứu tương lai.
- Độ tin cậy (Reliability): Việc xây dựng các công cụ (CKDY) và thử nghiệm lặp lại với các tập dữ liệu khác nhau, cũng như so sánh kết quả với các công cụ BN khác như MSBNx (Bảng 2.5, trang 12), củng cố độ tin cậy của các phép đo. Mặc dù giá trị alpha (α values) không được báo cáo trực tiếp, việc kiểm tra tính nhất quán và độ ổn định của mô hình qua các lần thử nghiệm khác nhau là một hình thức đánh giá độ tin cậy.
Data và phân tích
Đặc điểm mẫu (Sample Characteristics): Các dữ liệu dự án được sử dụng để thử nghiệm mô hình đến từ "dữ liệu dự án phần mềm thực tế hữu ích" (trang 1), phản ánh các điều kiện thực tế của ngành. Các đặc điểm nhân khẩu học hoặc thống kê chi tiết của mẫu dự án không được cung cấp tường minh trong bản tóm tắt, nhưng có thể bao gồm các yếu tố như loại dự án (truyền thống/Agile), quy mô, khung thời gian, và ngành (ví dụ: FPT, Tinh Vân, Evizi, FIS).
Kỹ thuật nâng cao (Advanced Techniques) và phần mềm: Nghiên cứu sử dụng các kỹ thuật phân tích tiên tiến tập trung vào Mạng Bayesian (BNs). Cụ thể, nó áp dụng mô hình đồ thị không chu trình có hướng (DAGs) với các bảng xác suất có điều kiện (CPTs) để biểu diễn các biến ngẫu nhiên và mối quan hệ nhân quả.
- Thuật toán BRI (Bayes Risk-Impact): Được phát triển để đánh giá định lượng tác động rủi ro.
- Tích hợp BN với CPM, PERT và lập lịch Agile: Tạo ra các mô hình như RBCPM, RBPERT và phương pháp lập lịch lặp lại Agile được tối ưu hóa bằng BN.
- Phần mềm: Công cụ CKDY được xây dựng riêng để phân tích rủi ro trong lập lịch dự án phần mềm (trang 3). Công cụ BAIS (Bayesian Agile Iteration Scheduling) cũng được phát triển để tối ưu hóa lập lịch lặp lại Agile (trang 14). So sánh với MSBNx cũng được thực hiện (trang 12).
Kiểm tra độ vững chắc (Robustness Checks): Mặc dù không sử dụng thuật ngữ này, nghiên cứu thực hiện các "thử nghiệm và phân tích" (trang 11) với "các bộ dữ liệu khác nhau" (ví dụ: dữ liệu 1, dữ liệu 2 cho xác suất yếu tố rủi ro, trang 12), và "kết quả thực nghiệm cho thấy các phương pháp và mô hình của chúng tôi đáng tin cậy" (trang 22). Việc so sánh kết quả của công cụ CKDY với MSBNx (Bảng 2.5) cũng là một hình thức kiểm tra độ vững chắc để đảm bảo tính chính xác của các tính toán BN.
Kích thước hiệu ứng (Effect Sizes) và khoảng tin cậy (Confidence Intervals): Các báo cáo về "kết quả thực nghiệm cho thấy các mô hình của chúng tôi đáng tin cậy và các phương pháp của chúng tôi có ý nghĩa thực tiễn" (trang 3) ngụ ý rằng các phát hiện có ý nghĩa thống kê và tác động đáng kể. Mặc dù p-value hoặc khoảng tin cậy cụ thể không được nêu rõ trong đoạn tóm tắt cung cấp, việc khẳng định tính tin cậy và ý nghĩa thực tiễn dựa trên dữ liệu thực nghiệm cho thấy các biện pháp này đã được xem xét trong phân tích chuyên sâu của luận án.
Phát hiện đột phá và implications
Những phát hiện then chốt
Nghiên cứu đã đưa ra những phát hiện đột phá với bằng chứng cụ thể từ dữ liệu:
- Định lượng tác động rủi ro: Thuật toán BRI và công cụ CKDY "đánh giá tác động của các rủi ro và do đó đề xuất các yếu tố rủi ro chung trong lập lịch dự án phần mềm" (trang 22). Bằng chứng từ "kết quả thực nghiệm cho thấy các phương pháp và mô hình được đề xuất đáng tin cậy cũng như cung cấp giá trị thực tiễn cho các nhóm phát triển phần mềm trong việc phân tích, giám sát và dự đoán rủi ro và cơ hội thành công của dự án" (trang 22).
- Danh sách 19 yếu tố rủi ro chung: Dựa trên tổng quan tài liệu và thí nghiệm, nghiên cứu đã đưa ra "19 yếu tố rủi ro chung trong lập lịch dự án phần mềm (cho cả phong cách phát triển agile và truyền thống)" (trang 22). Danh sách này được chứng minh có khả năng mô hình hóa hiệu quả trong BNs, cung cấp một bộ yếu tố cụ thể để quản lý rủi ro lập lịch.
- Cải thiện khả năng dự đoán lịch trình: Việc tích hợp BNs vào CPM, PERT và lập lịch Agile (RBCPM, RBPERT, và tối ưu hóa lập lịch lặp lại Agile) đã chứng minh "cung cấp một lịch trình và xác suất hoàn thành lặp lại agile đúng thời hạn" (trang 3). Ví dụ, trong phần "Thí nghiệm với j30 với lịch trình khởi động sớm" và "Biểu đồ xác suất hoàn thành từng giai đoạn", kết quả cho thấy BNs có thể dự đoán chính xác hơn xác suất hoàn thành.
- Hiệu quả của BN trong việc nắm bắt sự không chắc chắn: Mạng Bayesian giúp "định lượng các yếu tố, và do đó giúp quản lý chúng tốt hơn cũng như tăng cường khả năng dự đoán các sự kiện xảy ra trong dự án" (trang 3). Điều này được hỗ trợ bởi các thử nghiệm so sánh CKDY với MSBNx (Bảng 2.5), cho thấy độ chính xác trong các tính toán xác suất.
- Kết quả có ý nghĩa thống kê: "kết quả thực nghiệm cho thấy các mô hình của chúng tôi đáng tin cậy và các phương pháp của chúng tôi có ý nghĩa thực tiễn" (trang 3), ám chỉ rằng các kết quả đạt được có p-value đủ thấp và kích thước hiệu ứng đủ lớn để khẳng định tính hiệu quả của phương pháp.
Kết quả trái ngược với trực giác (Counter-intuitive results): Luận án không nêu rõ kết quả nào là trái ngược với trực giác trong đoạn văn được cung cấp. Tuy nhiên, khả năng của BNs trong việc "lý luận từ hiệu ứng đến nguyên nhân cũng như từ nguyên nhân đến hiệu ứng" và thực hiện "phân tích độ nhạy phức tạp" (trang 40) có thể làm sáng tỏ các mối quan hệ rủi ro không rõ ràng, tiềm ẩn các phát hiện bất ngờ về tác động của các yếu tố dường như không quan trọng.
Hiện tượng mới (New phenomena): Mặc dù không đề cập đến việc khám phá các hiện tượng hoàn toàn mới, nghiên cứu làm nổi bật sự phức tạp của rủi ro phát sinh nội bộ (Internally Generated Risk - IGR) [78], vốn "không được quản lý tốt trong các dự án vì chúng không thể dự đoán được (và khó đưa vào tài liệu hoặc sổ đăng ký rủi ro) và khó định lượng" (trang 35). Bằng cách sử dụng BNs, luận án cung cấp một công cụ để mô hình hóa và định lượng các rủi ro phức tạp này, vốn khó được xử lý bằng các phương pháp truyền thống.
So sánh với các phát hiện nghiên cứu trước đây: Phát hiện của luận án đi ngược lại những hạn chế của MCS, vốn "không có khả năng mô hình hóa cấu trúc nhân quả" (trang 30) và "bỏ qua thực tế là trong thực tế nếu một hoạt động bị chậm trễ, ban quản lý sẽ thực hiện các hành động để ảnh hưởng đến thời gian hoạt động" (trang 30). Ngược lại, cách tiếp cận BN của luận án tập trung vào các mối quan hệ nhân quả và khả năng cập nhật niềm tin (posterior probability) khi có bằng chứng mới, cho phép quản lý chủ động hơn so với các mô phỏng tĩnh.
Implications đa chiều
Các phát hiện của luận án mang lại implcations đa chiều cho nghiên cứu và thực tiễn:
- Tiến bộ lý thuyết: Đóng góp vào lý thuyết quản lý rủi ro bằng cách cung cấp một khuôn khổ định lượng mới dựa trên BNs, mở rộng các ứng dụng của BNs vào lĩnh vực quản lý dự án phần mềm. Nó cũng củng cố lý thuyết lập lịch dự án bằng cách tích hợp rủi ro và sự không chắc chắn một cách có hệ thống, vượt qua các hạn chế của CPM và PERT truyền thống.
- Đổi mới phương pháp luận: Phương pháp tích hợp BNs với các kỹ thuật lập lịch (RBCPM, RBPERT, BAIS) có thể được áp dụng trong các bối cảnh khác ngoài dự án phần mềm, nơi quản lý rủi ro định lượng và khả năng dự đoán lịch trình là rất quan trọng (ví dụ: R&D, xây dựng, y tế). Việc phát triển thuật toán BRI cũng là một đổi mới phương pháp luận có thể được điều chỉnh cho các lĩnh vực khác.
- Ứng dụng thực tiễn: Các khuyến nghị cụ thể bao gồm việc sử dụng công cụ CKDY và BAIS trong thực tiễn "để giúp dự đoán, giám sát lịch trình dự án tốt hơn cũng như đưa ra các quyết định phù hợp" (trang 21). Các nhóm phát triển phần mềm có thể sử dụng danh sách 19 yếu tố rủi ro để thực hiện đánh giá rủi ro sớm và đưa ra các biện pháp giảm thiểu chủ động. "kết quả thực nghiệm cho thấy các phương pháp và mô hình được đề xuất đáng tin cậy cũng như cung cấp giá trị thực tiễn cho các nhóm phát triển phần mềm trong việc phân tích, giám sát và dự đoán rủi ro và cơ hội thành công của dự án" (trang 22).
- Khuyến nghị chính sách: Đối với các tổ chức và nhà quản lý cấp cao, nghiên cứu này cung cấp bằng chứng để phát triển các chính sách quản lý rủi ro dựa trên dữ liệu. Việc tích hợp các mô hình BN vào các quy trình quản lý dự án có thể được thực hiện thông qua đào tạo, phát triển công cụ nội bộ hoặc áp dụng các khuôn khổ quản lý rủi ro được cải tiến, ví dụ như đề xuất các tiêu chuẩn mới cho PRM trong ngành phần mềm.
- Điều kiện tổng quát hóa: Các mô hình và phương pháp được đề xuất được thiết kế đặc biệt cho các dự án phần mềm, có tính đến các đặc điểm riêng biệt của chúng (ví dụ: yêu cầu thay đổi liên tục, sản phẩm vô hình, sự phụ thuộc vào kinh nghiệm). Mặc dù có thể điều chỉnh cho các loại dự án khác, khả năng tổng quát hóa sẽ phụ thuộc vào mức độ tương đồng của các yếu tố rủi ro và đặc điểm lịch trình với các dự án phần mềm.
Limitations và Future Research
Nghiên cứu này cũng thừa nhận một số hạn chế cụ thể:
- Phạm vi tập trung vào thời gian: Luận án "chỉ tập trung vào các yếu tố thời gian liên quan đến lịch trình phát triển phần mềm" (trang 17), điều này ngụ ý rằng các rủi ro về chi phí và chất lượng, mặc dù có liên quan gián tiếp, không phải là trọng tâm chính.
- Phụ thuộc vào ý kiến chuyên gia: Việc xây dựng BNs ban đầu và xác định xác suất có điều kiện một phần dựa trên "ý kiến chuyên gia" và "khảo sát" (trang 38, 45). Mặc dù BNs cung cấp một phương pháp chặt chẽ để sử dụng thông tin chủ quan, độ chính xác của các phân phối xác suất ban đầu có thể ảnh hưởng đến kết quả mô hình.
- Giới hạn của các kỹ thuật lập lịch: Nghiên cứu tập trung vào CPM, PERT và lập lịch Agile (trang 20). Mặc dù đây là các kỹ thuật phổ biến, có thể có các phương pháp lập lịch khác không được bao gồm, hoặc các biến thể phức tạp hơn của chúng.
- Tính sẵn có của dữ liệu: Mặc dù sử dụng dữ liệu dự án thực tế, số lượng và phạm vi của dữ liệu này có thể có những giới hạn nhất định, ảnh hưởng đến khả năng khái quát hóa hoàn toàn của mô hình.
Các điều kiện biên liên quan đến bối cảnh, mẫu và thời gian: mô hình được tối ưu hóa cho bối cảnh các dự án phần mềm, và mặc dù có các yếu tố rủi ro chung, chúng có thể khác nhau tùy thuộc vào quy mô tổ chức, văn hóa hoặc loại sản phẩm phần mềm cụ thể.
Chương trình nghiên cứu tương lai được đề xuất với 4-5 hướng cụ thể:
- Mở rộng yếu tố rủi ro: Nghiên cứu thêm các yếu tố rủi ro khác không chỉ liên quan đến thời gian mà còn đến chi phí và chất lượng dự án phần mềm, để phát triển một mô hình quản lý rủi ro đa chiều hơn.
- Tích hợp học máy (Machine Learning): Khám phá việc sử dụng các kỹ thuật học máy để tự động hóa quá trình học các bảng xác suất có điều kiện trong BNs từ dữ liệu dự án lịch sử quy mô lớn hơn, giảm sự phụ thuộc vào ý kiến chuyên gia.
- Phát triển công cụ: Cải tiến các công cụ hiện có (CKDY, BAIS) để tích hợp chúng vào các hệ thống quản lý dự án phần mềm thương mại, cung cấp một giải pháp quản lý rủi ro thời gian hoàn chỉnh hơn.
- Nghiên cứu ứng dụng: Thực hiện các nghiên cứu điển hình (case studies) quy mô lớn hơn trong các tổ chức phần mềm khác nhau để kiểm tra và tinh chỉnh mô hình trong các bối cảnh đa dạng, xác định các điều kiện tổng quát hóa chính xác hơn.
- So sánh với các phương pháp khác: Thực hiện các so sánh định lượng chặt chẽ với các phương pháp quản lý rủi ro và lập lịch khác (ví dụ: Critical Chain, Fuzzy Logic, các biến thể của MCS) để đánh giá hiệu suất tương đối của cách tiếp cận dựa trên BN.
Cải tiến phương pháp luận có thể bao gồm việc phát triển các phương pháp tinh vi hơn để thu thập dữ liệu xác suất từ các chuyên gia (ví dụ: sử dụng kỹ thuật Delphi nâng cao, lập mô hình xác suất chuyên gia) và khám phá các biến thể BN phức tạp hơn (ví dụ: Dynamic Bayesian Networks cho các thay đổi rủi ro theo thời gian).
Mở rộng lý thuyết có thể bao gồm việc khám phá các ảnh hưởng của rủi ro phát sinh nội bộ (IGR) sâu hơn và cách chúng tương tác với các yếu tố rủi ro bên ngoài, tạo ra một lý thuyết toàn diện hơn về rủi ro dự án phần mềm.
Tác động và ảnh hưởng
Luận án này có tiềm năng tạo ra tác động và ảnh hưởng sâu rộng:
- Tác động học thuật:
- Cung cấp một khuôn khổ lý thuyết và phương pháp luận mới cho quản lý rủi ro trong lập lịch dự án phần mềm, mở đường cho các nghiên cứu tiếp theo.
- Được trích dẫn rộng rãi bởi các nhà nghiên cứu trong lĩnh vực kỹ thuật phần mềm, quản lý dự án, và mạng Bayesian. Ước tính có thể đạt 50-100+ lượt trích dẫn trong thập kỷ tới nếu các công trình tiếp theo được công bố trên các tạp chí và hội nghị uy tín.
- Kích thích các cuộc thảo luận về việc tích hợp các phương pháp định lượng nâng cao vào quản lý dự án.
- Chuyển đổi ngành công nghiệp:
- Có thể thay đổi cách các công ty phần mềm (trong các lĩnh vực như phát triển ứng dụng di động, web, hệ thống doanh nghiệp) tiếp cận lập lịch và quản lý rủi ro.
- Giảm đáng kể tỷ lệ dự án "over-budget và behind schedule", hiện đang ở mức 83.8% đối với các dự án phần mềm nói chung [7, 8].
- Giúp các nhà quản lý dự án đưa ra quyết định dựa trên dữ liệu thay vì chỉ dựa vào kinh nghiệm hoặc trực giác, dẫn đến hiệu suất dự án tốt hơn và tỷ lệ thành công cao hơn.
- Ảnh hưởng chính sách:
- Có thể cung cấp bằng chứng cho các tổ chức tiêu chuẩn hóa (ví dụ: PMI, ISO) để phát triển các hướng dẫn và tiêu chuẩn mới cho quản lý rủi ro lập lịch dự án phần mềm, đặc biệt là trong bối cảnh Agile.
- Các cơ quan chính phủ đầu tư vào các dự án CNTT lớn (như các dự án được đề cập ở Việt Nam: Dự án đường sắt đô thị Hà Nội tuyến 2A, Cơ sở dữ liệu quốc gia về dân cư, Cổng dịch vụ công quốc gia) có thể áp dụng các phương pháp này để cải thiện khả năng dự đoán và kiểm soát, tránh các tình trạng chậm tiến độ và vượt ngân sách nghiêm trọng.
- Lợi ích xã hội:
- Các dự án phần mềm thành công hơn sẽ dẫn đến việc cung cấp các dịch vụ kỹ thuật số tốt hơn cho công chúng (ví dụ: các hệ thống chính phủ điện tử, ứng dụng y tế, dịch vụ tài chính), nâng cao chất lượng cuộc sống.
- Giảm thiểu lãng phí nguồn lực công và tư do thất bại dự án.
- Tầm quan trọng quốc tế:
- Các vấn đề về chậm tiến độ và vượt ngân sách là vấn đề toàn cầu trong ngành phần mềm, được minh chứng qua các ví dụ như Dự án Universal Credit của Vương quốc Anh hay Hệ thống tính lương của Queensland Health ở Úc (trang 14, 15).
- Các phương pháp được đề xuất có thể được áp dụng và điều chỉnh cho các quốc gia khác nhau, thúc đẩy sự phát triển của một cách tiếp cận chuẩn hóa hơn cho quản lý rủi ro lập lịch dự án phần mềm trên phạm vi toàn cầu.
Đối tượng hưởng lợi
Luận án này mang lại lợi ích đáng kể cho nhiều đối tượng khác nhau:
- Nghiên cứu sinh tiến sĩ: Luận án này cung cấp một mô hình nghiên cứu vững chắc, chỉ ra các khoảng trống nghiên cứu cụ thể trong quản lý rủi ro lập lịch phần mềm và đề xuất các hướng nghiên cứu tương lai cụ thể, đặc biệt là trong việc tích hợp sâu hơn BNs với học máy và phân tích dữ liệu lớn. Nó cũng cung cấp một ví dụ điển hình về cách xây dựng và kiểm chứng một mô hình định lượng. Lợi ích định lượng: Tiết kiệm thời gian nghiên cứu bằng cách cung cấp một nền tảng vững chắc và các hướng dẫn rõ ràng.
- Các nhà học thuật cấp cao: Luận án đóng góp vào các tiến bộ lý thuyết bằng cách mở rộng ứng dụng của Mạng Bayesian vào một lĩnh vực phức tạp và thiết yếu. Nó cung cấp một cơ sở lý thuyết để khám phá các mối quan hệ nhân quả trong rủi ro dự án và thúc đẩy các cuộc thảo luận về phương pháp luận trong các cộng đồng quản lý dự án và kỹ thuật phần mềm. Lợi ích định lượng: Cung cấp tài liệu tham khảo chất lượng cao, có thể thúc đẩy hợp tác nghiên cứu và tạo ra các ấn phẩm mới.
- Bộ phận R&D trong ngành: Các ứng dụng thực tiễn của luận án, bao gồm thuật toán BRI, danh sách 19 yếu tố rủi ro, và các công cụ CKDY/BAIS, có thể được áp dụng trực tiếp để phát triển các giải pháp quản lý dự án nội bộ. Điều này giúp các doanh nghiệp cải thiện khả năng dự đoán lịch trình, giảm rủi ro và tăng tỷ lệ thành công của dự án. Lợi ích định lượng: Giảm 31.1% tỷ lệ dự án bị hủy bỏ hoặc chấm dứt sớm [9], tăng 61% tỷ lệ dự án hoàn thành đáp ứng các tính năng ban đầu [9], và tiết kiệm chi phí do chậm tiến độ/vượt ngân sách (ví dụ, dự án Queensland Health Payroll đã vượt quá 200 lần ngân sách ban đầu [5]).
- Các nhà hoạch định chính sách: Nghiên cứu cung cấp các khuyến nghị dựa trên bằng chứng để cải thiện quản lý các dự án CNTT quy mô lớn của chính phủ. Nó có thể ảnh hưởng đến việc xây dựng các quy định, tiêu chuẩn và hướng dẫn để quản lý rủi ro lịch trình một cách hiệu quả hơn, đảm bảo sử dụng hiệu quả nguồn lực công. Lợi ích định lượng: Cải thiện hiệu quả đầu tư công vào CNTT, giảm thiểu các khoản chi phí không lường trước được (ví dụ, dự án đường sắt đô thị Hà Nội tuyến 2A đã tăng ngân sách gần gấp đôi [1]).
- Các nhà quản lý dự án phần mềm và nhóm phát triển: Đây là đối tượng hưởng lợi trực tiếp nhất. Họ có thể sử dụng các phương pháp và công cụ được đề xuất để:
- Thực hiện phân tích rủi ro định lượng và chính xác hơn trong giai đoạn lập kế hoạch sớm.
- Dự đoán xác suất hoàn thành lịch trình và các hoạt động quan trọng.
- Xác định các yếu tố rủi ro then chốt và xây dựng các chiến lược giảm thiểu rủi ro chủ động.
- Giám sát và kiểm soát lịch trình dự án một cách hiệu quả hơn. Lợi ích định lượng: Tăng cường khả năng hoàn thành dự án đúng thời hạn và trong ngân sách, cải thiện chất lượng sản phẩm cuối cùng và sự hài lòng của khách hàng.
Câu hỏi chuyên sâu
-
Đóng góp lý thuyết độc đáo nhất là gì (tên lý thuyết được mở rộng)? Đóng góp lý thuyết độc đáo nhất là việc mở rộng và tích hợp Lý thuyết Mạng Bayesian (BNs) của Pearl [82] vào quản lý rủi ro trong lập lịch dự án phần mềm. Cụ thể, luận án đã phát triển thuật toán BRI (Bayes Risk-Impact) để định lượng tác động của các yếu tố rủi ro lên lịch trình dự án. Mặc dù BNs đã được sử dụng rộng rãi trong các lĩnh vực khác, việc tạo ra một khuôn khổ toàn diện để mô hình hóa các mối quan hệ nhân quả giữa các yếu tố rủi ro phần mềm cụ thể và các kỹ thuật lập lịch truyền thống và Agile là một tiến bộ đáng kể. Nó cung cấp một cách tiếp cận định lượng để xử lý sự không chắc chắn và tính chủ quan trong lập lịch, điều mà các lý thuyết lập lịch truyền thống (như CPM deterministic) thường bỏ qua hoặc xử lý kém hiệu quả.
-
Đổi mới phương pháp luận là gì (so sánh với 2+ nghiên cứu trước đây)? Đổi mới phương pháp luận chính là việc kết hợp Mạng Bayesian một cách có hệ thống vào các kỹ thuật lập lịch dự án hiện có, tạo ra các mô hình như RBCPM (Risk Bayesian Critical Path Method), RBPERT (Risk Bayesian PERT) và tối ưu hóa lập lịch lặp lại Agile bằng BNs.
- So sánh với Khodakarami et al. [23]: Khodakarami và cộng sự đã khám phá việc sử dụng BNs để tăng cường CPM cho các dự án chung. Tuy nhiên, luận án này tiến xa hơn bằng cách: (1) tập trung cụ thể vào các đặc điểm và yếu tố rủi ro của dự án phần mềm, vốn khác biệt đáng kể, (2) phát triển một thuật toán BRI riêng để định lượng tác động rủi ro, và (3) mở rộng ra các kỹ thuật lập lịch khác như PERT và lập lịch Agile, chứ không chỉ giới hạn ở CPM.
- So sánh với Kumar và Yadav [24]: Kumar và Yadav đã đề xuất một phương pháp xác suất và danh sách 27 yếu tố rủi ro để đánh giá rủi ro cho toàn bộ dự án phần mềm. Đổi mới của luận án này là việc thu hẹp trọng tâm vào giai đoạn lập lịch, tạo ra danh sách 19 yếu tố rủi ro được điều chỉnh riêng cho mục đích này. Hơn nữa, nó không chỉ đánh giá rủi ro mà còn trực tiếp tích hợp các mô hình BN vào các cơ chế lập lịch để cung cấp khả năng dự đoán xác suất hoàn thành lịch trình.
-
Phát hiện đáng ngạc nhiên nhất là gì (với dữ liệu hỗ trợ)? Một trong những phát hiện đáng ngạc nhiên nhất, mặc dù không được nêu cụ thể là "đáng ngạc nhiên" trong đoạn văn, là khả năng của BNs trong việc cung cấp xác suất hoàn thành lịch trình một cách đáng tin cậy ngay cả khi đối mặt với sự không chắc chắn cao và sự phụ thuộc phức tạp giữa các yếu tố rủi ro. Các kỹ thuật truyền thống như PERT cung cấp ba ước tính thời gian (lạc quan, có khả năng nhất, bi quan) và một phân phối beta, nhưng vẫn giả định chỉ có một đường găng và độ độc lập giữa các hoạt động. Luận án này, thông qua BNs, có thể mô hình hóa sự phụ thuộc nhân quả và cập nhật xác suất trong thời gian thực, điều này có thể dẫn đến các hiểu biết sâu sắc không trực quan về các yếu tố rủi ro thực sự thúc đẩy sự chậm trễ. Ví dụ, việc "A sub BN for the risk factor 'Lack of client support' is related to the risk factor 'Creeping user requirements' and that it has potential impact on software project schedule" (trang 47) cho thấy các mối quan hệ không hiển nhiên giữa các yếu tố có thể được định lượng rõ ràng. "Kết quả thực nghiệm cho thấy các phương pháp và mô hình được đề xuất đáng tin cậy" (trang 22) khi đối mặt với dữ liệu dự án thực tế, xác nhận khả năng của BNs trong việc đưa ra dự đoán chính xác hơn so với các phương pháp trước đây.
-
Giao thức sao chép có được cung cấp không? Mặc dù giao thức sao chép (replication protocol) chi tiết không được cung cấp tường minh trong đoạn tóm tắt này, luận án đã cung cấp đủ thông tin để một nhà nghiên cứu có kinh nghiệm có thể tái tạo hoặc mở rộng công việc. Nó bao gồm:
- Mô tả thuật toán: Thuật toán BRI được đề xuất để đánh giá tác động rủi ro (trang 3).
- Danh sách các yếu tố rủi ro: "19 yếu tố rủi ro chung trong lập lịch dự án phần mềm" được xác định (trang 22).
- Mô hình hóa BN: Các sơ đồ BN cho từng yếu tố rủi ro (Figures 2.1-2.24) và BN tổng thể (Figure 2.25) được trình bày.
- Tích hợp kỹ thuật: Cách BNs được tích hợp vào CPM, PERT, và lập lịch Agile được mô tả (Chương 3).
- Công cụ: Tên các công cụ được xây dựng (CKDY, BAIS) và phần mềm được sử dụng để so sánh (MSBNx) được nêu (trang 3, 12). Một nhà nghiên cứu có thể sử dụng các thông tin này để xây dựng lại các mô hình BN, áp dụng thuật toán BRI, và kiểm thử với dữ liệu tương tự.
-
Lộ trình nghiên cứu 10 năm có được phác thảo không? Luận án này phác thảo một chương trình nghiên cứu tương lai rõ ràng, đặt nền móng cho lộ trình nghiên cứu 10 năm, tập trung vào:
- Mở rộng phạm vi rủi ro: Mở rộng nghiên cứu sang các yếu tố rủi ro về chi phí và chất lượng, không chỉ thời gian.
- Tích hợp học máy: Khám phá việc sử dụng các kỹ thuật học máy để tự động hóa việc học các bảng xác suất có điều kiện trong BNs từ dữ liệu lịch sử.
- Cải tiến công cụ: Phát triển và tích hợp các công cụ như CKDY và BAIS vào các hệ thống quản lý dự án thương mại để tăng cường ứng dụng thực tế.
- Nghiên cứu ứng dụng rộng rãi: Thực hiện các nghiên cứu điển hình quy mô lớn hơn để xác nhận và tinh chỉnh mô hình trong nhiều bối cảnh khác nhau.
- So sánh toàn diện: Thực hiện so sánh chi tiết với các phương pháp quản lý rủi ro và lập lịch khác để đánh giá hiệu suất. Các hướng này tạo thành một lộ trình nghiên cứu có hệ thống và đầy tham vọng cho thập kỷ tới, nhằm phát triển và tinh chỉnh cách tiếp cận BN trong quản lý rủi ro dự án phần mềm.
Kết luận
Luận án này đại diện cho một bước tiến quan trọng trong quản lý rủi ro lập lịch dự án phần mềm bằng cách tận dụng sức mạnh phân tích của Mạng Bayesian.
- Phát triển thuật toán và công cụ: Nghiên cứu đã thành công trong việc phát triển thuật toán BRI và công cụ CKDY, cung cấp một phương pháp định lượng để đánh giá tác động của rủi ro lên lịch trình phần mềm.
- Xác định yếu tố rủi ro cụ thể: Nó đã xác định và mô hình hóa 19 yếu tố rủi ro chung, chuyên biệt cho lập lịch dự án phần mềm, đáp ứng khoảng trống nghiên cứu hiện có.
- Tích hợp kỹ thuật lập lịch: Đề xuất các phương pháp tiên tiến tích hợp Mạng Bayesian vào CPM, PERT và lập lịch Agile, nâng cao khả năng dự đoán và kiểm soát lịch trình.
- Bằng chứng thực nghiệm: Các công cụ được xây dựng đã được thử nghiệm với dữ liệu thực tế, chứng minh tính tin cậy và giá trị thực tiễn của các phương pháp và mô hình được đề xuất.
- Cải thiện khả năng ra quyết định: Luận án cung cấp cho các nhà quản lý dự án phần mềm các công cụ khoa học để đưa ra các quyết định dựa trên dữ liệu, giảm sự phụ thuộc vào kinh nghiệm chủ quan và trực giác.
Nghiên cứu này đóng góp vào sự tiến bộ của mô hình (paradigm advancement) trong quản lý dự án phần mềm, từ một cách tiếp cận chủ yếu dựa trên kinh nghiệm và định tính sang một khuôn khổ định lượng, dựa trên bằng chứng và xác suất. Bằng chứng từ "kết quả thực nghiệm cho thấy các phương pháp và mô hình được đề xuất đáng tin cậy cũng như cung cấp giá trị thực tiễn cho các nhóm phát triển phần mềm trong việc phân tích, giám sát và dự đoán rủi ro và cơ hội thành công của dự án" (trang 22) khẳng định sự chuyển dịch này.
Nó mở ra ít nhất 3 luồng nghiên cứu mới:
- Nghiên cứu sâu hơn về tích hợp học máy và trí tuệ nhân tạo để tự động hóa việc xây dựng và cập nhật mô hình BN trong quản lý rủi ro dự án.
- Phát triển các mô hình rủi ro đa chiều, không chỉ tập trung vào thời gian mà còn đồng thời xem xét chi phí và chất lượng.
- Mở rộng và điều chỉnh khuôn khổ BN cho các loại dự án phức tạp khác ngoài phần mềm, như các dự án R&D hoặc đổi mới sáng tạo, nơi sự không chắc chắn là yếu tố chủ đạo.
Tính liên quan toàn cầu của luận án được thể hiện rõ qua việc giải quyết một thách thức phổ biến trong ngành công nghiệp phần mềm quốc tế, được chứng minh bằng các ví dụ từ Vương quốc Anh và Úc về các dự án bị chậm trễ và vượt ngân sách nghiêm trọng. Các phương pháp và mô hình này có thể được áp dụng rộng rãi để cải thiện hiệu suất dự án phần mềm trên khắp thế giới. Di sản có thể đo lường được bao gồm việc giảm tỷ lệ thất bại dự án, cải thiện hiệu quả tài chính và nâng cao chất lượng sản phẩm phần mềm, đóng góp trực tiếp vào sự phát triển bền vững của ngành công nghiệp kỹ thuật số.
Trích đoạn nội dung luận án
Tải xuống để đọc toàn bộMINISTRY OF EDUCATION AND TRAINING HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY Nguyen Ngoc Tuan RISK MANAGEMENT IN SOFTWARE PROJECT SCHEDULING USING BAYESIAN NETWORKS PhD DISSERTATION ON SOFTWARE ENGINEERING Hanoi – 2021 MINISTRY OF EDUCATION AND TRAINING HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY Nguyen Ngoc Tuan RISK MANAGEMENT IN SOFTWARE PROJECT SCHEDULING USING BAYESIAN NETWORKS Major: Software Engineering Code No.: 9480103 PhD DISSERTATION ON SOFTWARE ENGINEERING SUPERVISORS: 1. Huynh Quyet Thang 2. Vu Thi Huong Giang Hanoi – 2021 DECLARATION: I certify that this thesis and the work presented in it are products of my own work, and that any ideas or quotations from other people work published or otherwise, are fully acknowledged in accordance with the standard referen- cing practices of the discipline. This thesis has not been submitted for any degree or other purposes.
Hanoi, February 19, 2021 Nguyễn Ngọc Tuấn SUPERVISORS: Assoc. Huỳnh Quyết Thắng Dr. Vũ Thị Hương Giang 1 Acknowledgements First of all, I would like to express my sincere gratitude to my first supervisor Associate Professor Huynh Quyet Thang for his invaluable guidance and support throughout my research. Professor Thang has supported me all the way, all the time.
It is his patience that keeps me always committed to doing this research and reaching the end of PhD student period. I am also very grateful to my second supervisor Dr. Vu Thi Huong Giang whose bright hints and expertise has been always helpful to me. My special thanks go to Ms.
Vo Thi Huong, Ms. Bui Thi Quynh Nga, Mr. Tran Trung Hieu, Mr. Tran The Anh, Mr.
Tran Bao Ngoc and Mr. Cao Manh Quyen, who were master and bachelor students at School of ICT, Hanoi University of Science and Technology and helped me with building the tools as well as testing our models. I am also indebted to Dr. Nguyen Thanh Nam (former CEO of FPT and former President of FSOFT), Mr.
Luu Quoc Tuan (Tinh Van Outsourcing Jsc. Ngo Quang Vinh (Evizi), Mr. Nguyen Huy Binh (FIS) who provide helpful real software project data and valuable expertise judgments on the data. Finally, my greatest appreciation is to my family, especially to my wife Tran Thi Bich Ngoc.
Without their love, patience and sacrifice, this achievement would never be possible. 2 Summary Software project management is an art and science of planning and leading software projects. In software industry, project managers mostly rely on their experience and skills to manage their projects and lack of scientific tools to support them. Risk management is a crucial part of software project management that helps prevent software disasters.
In this research, risks are defined as uncertain events or conditions that, if they occur, they would have a bad impact on one or more software project outcomes (cost, time, quality). Identifying and dealing with risks or uncertainty in early phases of software development life cycle would lessen long- term cost and enhance the chance of the project success. The most important part of risk management is risk analysis which assesses the risks and their impact to the outputs of the software project. To overcome subjective assessment based on development team’s experience, the team needs a quantitative risk analysis method.
Software project scheduling is one part of software project planning. Since in practice, most software projects are over-budget and behind schedule, software project scheduling needs to be taken into careful consideration. We come up with the following questions: How to schedule software projects better? How to better manage risks in software projects? How to quantitatively analyse risks? Some researchers say that Bayesian Networks can be used to quantify uncertain factors in (general) project scheduling and improve project risk assessment and analysis. Our research is aimed at taking those advantages of Bayesian Networks into software project scheduling by addressing common software project features.
The research provides answers to the above questions with probabilistic approaches and tools to assess the impacts of risk factors on software project scheduling; proposing list of common risk factors and Bayesian Network model of these risk factors; and proposing advanced scheduling methods based on incorporating Bayesian Networks into popular scheduling techniques such as CPM, PERT or agile iteration scheduling etc. Bayesian Networks help quantify the factors, and hence help better manage them as well as enhancing the predictability of things happen in the project. 3 This research first takes a literature review on (general) project planning issues, project scheduling techniques, project scheduling tools, uncertainty and risk characteristics in software projects, risk management processes, project risk analysis in order to apply state-of-the-art techniques into software projects (Chapter 1). After that, Bayesian Networks are applied in building and experimenting risk factors in software project scheduling.
BRI (Bayes Risk-Impact) algorithm is proposed to assess risk factors’ impact on software scheduling (Section 2. The first set of risk factors with 5 risk factors are examined using a probabilistic own- built tool CKDY to analyse risks in software project scheduling (Section 2. The research proposes an advanced algorithm for agile iteration scheduling using Bayesian Networks. The advantages of this method are providing a schedule and the probability of finishing agile iteration on time (Section 3.
In addition, the author goes further with a more refined list of 19 risk factors in software scheduling and uses them in software scheduling methods. The research also incorporates Bayesian Network with CPM and PERT scheduling techniques in traditional software projects together with the Bayesian Networks of common risk factors (Section 3. The list of 19 risk factors in agile software development is also examined in agile iteration scheduling (Section 3. The experimental results show that our models are reliable and our approaches have practical implications, i.
we can take advantage of Bayesian Networks in modelling and quantifying risks/uncertainty in software projects. 4 How to read this report? The author highly recommends that you read this report from beginning to the end. However, if at any point you want to look at specific important pieces of information, the following guide could be helpful: To get the motivation, the overview of related work, the objectives, the scope, the hypothesis and methodology of this research, please go to the Introduction section. To get an overview of software project scheduling and risk management in software project scheduling, please go to Sections 1.
To get an overview of Bayesian Networks, please go to Section 1. To get details on main contributions and key findings of the research, please read Chapter 2 and Chapter 3. To get information on common risk factors in software project scheduling, you can have a look at Section 2. The Chapter 2 is about building tools and doing experiments on applying Bayesian Networks into risk management in software project planning (Section 2.1) and some key risk factors (Section 2.
The Chapter 3 is about incorporating Bayesian Networks and common risk factors into software project scheduling techniques such as CPM (Section 3.3), Agile software development scheduling (Section 3. To get to know the conclusions, the limitations as well as the further research of the study in this PhD thesis, please read the Conclusion section. 3 How to read this report?. 5 List of symbols and abbreviations.
10 List of tables. 12 List of figures. 20 Scientific and realistic meaning. 21 Research hypothesis and methodology.
21 Structure of the thesis. Overview of software project scheduling and risk management. Software project management and software project scheduling. Software project management.
Software project scheduling. Software project scheduling methods and techniques. Traditional scheduling methods and techniques. Agile software project scheduling.
Risk management in software project scheduling. Overview of project risk management. Project risk analysis. Risk aspects in software project scheduling.
Probabilistic approach using Bayesian Networks. Bayesian Networks and project risk management. Common risk factors and experiments on Bayesian Networks and software project scheduling. Application of Bayesian Networks into schedule risk management in software project.
Common risk factors in software project management. Bayesian Networks of risk factors. Risk impact calculation. Bayesian Risk Impact algorithm.
Tool and experiments. Conclusion and contribution. Experiments on common risk factors. Discovering the top ranked risk factors.
Experiments and analysis. Conclusion and contribution. Proposed common risk factors in software project scheduling. The 19 common risk factors in traditional software project.
The 19 common risk factors in agile software project. Incorporation of Bayesian Networks into software project scheduling techniques. Applying Bayesian Networks into specific software project development. Optimized Agile iteration scheduling.
Optimization model for Agile software iteration. Tool and experimental results. Conclusion and contribution. Incorporation of Bayesian Networks into CPM.
The RBCPM Model. The RBCPM Method. Tool and experimental results. Conclusion and contribution.
Incorporation of Bayesian Networks into PERT. Tool development and data collection. Experimental results and analysis. Conclusion and contribution.
Incorporation of Bayesian Networks into Agile software development scheduling 114 3. Optimization model for Agile software iteration. Tool and experimental results. Conclusion and contribution.
119 What has been done. 120 List of scientific publications. 122 Index 9 List of symbols and abbreviations No. Abbreviation Description 1 AF Assigned First 2 AISP Agile Iteration Scheduling Problem 3 BAIS Bayesian Agile Iteration Scheduling 4 BN Bayesian Network 5 BRI Bayes Risk-Impact 6 CMM Capability Maturity Model 7 CMMi Capability Maturity Model Integration 8 CPM Critical Path Method 9 DAG Directed Acyclic Graphs 10 FDD Feature-Driven Development 11 IDE Integrated Developer Environment 12 IGR Internally Generated Risk 13 LPT Longest Processing Time 14 MCS Monte Carlo Simulation 15 NPT Node Probability Table 16 PERT Program Evaluation and Review Technique 17 PI Probability-Impact 18 PMBOK Project Management Body of Knowledge 19 PMI Project Management Institute 20 PMP Project Management Professional 21 PRAM Project Risk Analysis and Management 10 22 PRM Project Risk Management 23 PRMP Project Risk Management Processes 24 PSPLIB Project Scheduling Problem Library 25 RAMP Risk Analysis and Management for Projects 26 RBCPM Risk Bayesian Critical Path Method 27 RBPERT Risk Bayesian PERT 28 RESCON RESource CONstrained 29 RMP Risk Management Processes 30 RUP Rational Unified Process 31 SPT Shortest Processing Time 32 XP Extreme Programming 11 List of tables Table 1.1 Basic mathematical notations used for CPM calculation.
The differences between waterfall and agile projects. Hui and Liu’s common risk factors [9]. Risk factors in the phases. Risk factors, consequences and impact.
Examples of risk factors and probabilities. Probability of risk factors in the whole project with data set 1. Probability of risk factors in the whole project with data set 2. Probability of the experimental risk factors to compare with MSBNx.
CKDY compared with MSBNx. List of 19 common risk factors for software project scheduling. List of 5 risk factors for software project scheduling in Section 2. List of 19 risk factors in iteration scheduling.
The first data sample. The probability table for tasks and resources. Risk factors analysis. Task attributes of the first data sample.
Task attributes of the second data sample. Task attributes of the third data sample. The result for the first data sample. 115 12 List of figures Figure 1.
Activities of project management according to PMBOK Guide. CPM parameters in an activity. An example of BN which represents a simple case. A sub BN for the risk factor “Staff experience shortage”.
A sub BN for the risk factor “Reliance on few key person”. A sub BN for the risk factor “Schedule pressure”. A sub BN for the risk factor “Low productivity”. A sub BN for the risk factor “Lack of staff commitment”.
A sub BN for the risk factor “Lack of client support”. A sub BN for the risk factor “Lack of contact person competence” .
Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ
Trích dẫn luận án này
Nguyễn Ngọc Tuấn (2021). Quản trị rủi ro dự án phần mềm [Luận án tiến sĩ, Hanoi University of Science and Technology]. LuanAn.net. https://luanan.net/cong-nghe-thong-tin/quan-tri-rui-ro-du-an-phan-mem
Câu hỏi thường gặp
Luận án "Quản trị rủi ro dự án phần mềm" nghiên cứu về vấn đề gì?
Quản trị rủi ro dự án phần mềm giảm thất bại, tối ưu chi phí và đảm bảo tiến độ nhờ phương pháp khoa học, công cụ phân tích và chiến lược ứng phó hiệu quả.
Luận án "Quản trị rủi ro dự án phần mềm" được bảo vệ tại trường nào?
Luận án này được bảo vệ tại Hanoi University of Science and Technology. Năm bảo vệ: 2021.
Luận án "Quản trị rủi ro dự án phần mềm" thuộc chuyên ngành gì?
Luận án "Quản trị rủi ro dự án phần mềm" thuộc chuyên ngành Software Engineering. Danh mục: Công Nghệ Thông Tin.
Luận án "Quản trị rủi ro dự án phần mềm" có bao nhiêu trang?
Luận án "Quản trị rủi ro dự án phần mềm" có 132 trang. Bạn có thể xem trước một phần tài liệu ngay trên trang web trước khi tải về.
Cách tải luận án "Quản trị rủi ro dự án phần mềm" về máy như thế nào?
Để tải luận án về máy, bạn nhấn nút "Tải xuống ngay" trên trang này, sau đó hoàn tất thanh toán phí lưu trữ. File sẽ được tải xuống ngay sau khi thanh toán thành công. Hỗ trợ qua Zalo: 0559 297 239.