Download as pdf or txt
Download as pdf or txt
You are on page 1of 101

SEE – Các kỹ thuật lập lịch dự

án phần mềm

TUTOR: Dr. NGUYỄN NGỌC TUẤN

1
Tài liệu tham khảo liên quan

1. PGS. TS. Huỳnh Quyết Thắng (2016), Kinh tế Công nghệ phần mềm, NXB
Bách khoa Hà Nội.
Chương 4. Một số phương pháp và kỹ thuật chọn lọc trong kinh tế công
nghệ phần mềm.
2. Nguyễn Ngọc Tuấn (2021), Risk management in software project scheduling
using Bayesian Networks, PhD disertation. Available online at:
http://luanvan.moet.gov.vn/?page=1.18&view=37045

2
Nội dung

I. Giới thiệu bối cảnh và vấn đề trao đổi


 Quản trị dự án phần mềm (DAPM)
 Quản trị rủi ro trong DAPM
 Lập lịch DAPM
 Mạng Bayes
 Phương pháp phát triển phần mềm linh hoạt
II. Nội dung và một số kết quả nghiên cứu
 Chi tiết 4 nội dung, 8 kết quả nghiên cứu
III. Kết luận và hướng phát triển

3
1. Giới thiệu bối cảnh và vấn đề nghiên cứu

4
1. Giới thiệu bối cảnh và vấn đề nghiên cứu

5
1. Giới thiệu bối cảnh và vấn đề nghiên cứu

(1) Quản trị dự án phần mềm


(DAPM)
• Quản trị rủi ro & Lập lịch dự
án: tối quan trọng trong mỗi
DAPM
• Làm sao để quản trị DAPM
tốt hơn?

6
1. Giới thiệu bối cảnh và vấn đề nghiên cứu

7
2. Quản trị rủi ro dự án

• Quy trình quản trị rủi ro


• Xác định rủi ro: Quản trị rủi ro định tính
• Phân tích rủi ro: Quản trị rủi ro định lượng
• Xử lý, phản hồi rủi ro: Quá trình ra quyết định

8
1. Giới thiệu bối cảnh và vấn đề nghiên cứu

(2) Quản trị rủi ro:


• Rủi ro (uncertainty/risk): những sự kiện bất
định xảy ra có thể ảnh hưởng xấu đến đầu
ra (chi phí, thời gian, chất lượng) của dự
án.
• Các hướng dẫn
• PMBOK - Project Management Body of Knowledge
• PRAM - Project Risk Analysis and Management
• RAMP - Risk Analysis and Management for Projects
• Phân tích rủi ro (risk analysis): đánh giá các
rủi ro và tác động của chúng nên các đầu ra
của DAPM (chi phí, thời gian, chất lượng)
• Làm sao để phân tích định lượng rủi ro?
9
1. Giới thiệu bối cảnh và vấn đề nghiên cứu

(3) Lập lịch dự án:


• Nguyên tắc chung: xác định các công việc và ràng buộc
giữa chúng; phân bổ thời gian và nguồn lực (nhân sự...)
cho mỗi công việc; định ra kết quả và các mốc thời gian
• Các kỹ thuật
• Work Breakdown Structure, Activity Charts, Gantt Chart
• CPM - Critical Path Method: 70% DA
• PERT - Program Evaluation and Review Technique
• Các kỹ thuật dựa trên mô phỏng (simulation-based): MCS - Monte
Carlo Simulation
• PertMaster: quản trị rủi ro dự án với quy trình phân tích rủi ro khá
đầy đủ

10
1. Giới thiệu bối cảnh và vấn đề nghiên cứu

(3) Lập lịch dự án:


• Khó tránh khỏi những rủi ro, phát sinh từ các đặc điểm
• Tính cá nhân (chưa từng có kinh nghiệm trước đó)
• Tính biến đổi (sự thay đổi có ảnh hưởng lẫn nhau giữa thời
gian, chi phí, chất lượng)
• Tính thiếu rõ ràng (thiếu dữ liệu, yêu cầu phần mềm không rõ
ràng, sai lệch trong dự đoán/ước lượng)
• Một số nghiên cứu gần đây: có thể sử dụng Mạng Bayes
để định lượng hoá các yếu tố bất định trong lập lịch dự án
và cải thiện khả năng đánh giá, phân tích rủi ro dự án nói
chung

11
1. Giới thiệu bối cảnh và vấn đề nghiên cứu

Sơ đồ tổng quát của lập lịch dự án:

Quản trị rủi ro


12
3 types of probability

• a priori probability
• statistical probability
• empirical evaluation of the frequency of association between predicates
• on “the empirical classification of instances”
• Estimates
• When “there is no valid basis of any kind for classifying instances”, only “estimates”
can be made
• https://items.ssrc.org/privatization-of-risk/risk-versus-uncertainty-frank-knights-brute-
facts-of-economic-life/

13
1. Giới thiệu bối cảnh và vấn đề nghiên cứu

(4) Mạng Bayes:


• Luật Bayes:

• Cập nhật niềm tin (belief): niềm tin (xác suất) về sự việc R
xảy ra khi sự việc S đã xảy ra P(R|S) được tính bằng niềm tin
trước đó (tiền định) P(R) và niềm tin S xảy ra nếu R xảy ra
P(S|R)
• 2 thành phần Mạng Bayes:
• Biểu diễn định tính: đồ thị có hướng (DAG): nút là các biến,
cung là mối quan hệ nhân quả giữa các biến
• Biểu diễn định lượng: Bảng phân phối xác suất NPT gắn với
mỗi nút.
14
1. Giới thiệu bối cảnh và vấn đề nghiên cứu

 Ví dụ Mạng Bayes:

[7] Khodakarami V. (2009), “Applying Bayesian Networks to model uncertainty


in project scheduling”, PhD dissertation, Queen Mary, University of London. 15
1. Giới thiệu bối cảnh và vấn đề nghiên cứu

(5) Các kỹ thuật lập lịch dự án


• Critical Path Method (CPM)
• Kỹ thuật tiêu chuẩn, nổi tiếng nhất trong lập lịch dự án
• 70 % chuyên gia quản trị dự án sử dụng
• Các bước:
• Xác định các hoạt động riêng lẻ qua Work Breakdown Structure (WBS),
định nghĩa chuỗi hoạt động và độ phụ thuộc giữa chúng.
• Thiết lập một sơ đồ mô hình hóa các hoạt động và độ phụ thuộc giữa
chúng.
• Ước lượng thời gian cho mỗi hoạt động. Việc ước lượng này được thực
hiện một lần vì CPM không quan tâm đến sự thay đổi thời gian của hoạt
động.
• Xác định Critical Path (đường đi có thời gian lớn nhất trong đồ thị) bằng
cách tính toán các tham số thời gian của hoạt động.
• Cập nhật sơ đồ CPM khi dự án tiếp tục.

16
WBS

17
(5) Các kỹ thuật lập lịch dự án (tiếp)

• Các tham số sử dụng cho tính toán trong CPM


• aj: hoạt động j
• Dj = Thời gian thực hiện hoạt động aj
• ESj = Max[ESi + Di| i là một trong những hoạt động trước đó]
• EFj = ESj + Dj
• LFj = Min [LFk - Dk| k là một trong những hoạt động sau đó]
• LSj = LFj – Dj
• TFj = ESj - LSj = LFj – EFj
• TF - Total Float - khoảng thời gian mà thời lượng thực hiện
hoạt động có thể tăng lên mà không làm tăng thời gian hoàn
thành chung của dự án
• Critical path = đường đi trong sơ đồ chứa các hoạt động TF=0

18
CPM parameters

19
(5) Các kỹ thuật lập lịch dự án (tiếp)

• Ví dụ CPM

20
(5) Các kỹ thuật lập lịch dự án (tiếp)

• Program Evaluation and Review Technique (PERT)


• Bước đầu quan tâm đến những yếu tố bất định/rủi ro trong quản
trị dự án
• Sử dụng phân bố xác suất Beta (tính μj σj).
• 3 phép ước lượng (thời gian lạc quan, thời gian dễ xảy ra và thời
gian bi quan) được sử dụng để tính thời gian mong đợi và độ
lệch chuẩn của hoạt động j
• Thời gian mong đợi: μj = (Thời gian lạc quan + 4 x Thời gian dễ xảy ra +
Thời gian bi quan)/6
• Độ lệch chuẩn: σj = (Thời gian bi quan - Thời gian lạc quan)/6
• Sự thay đổi của thời gian hoàn thành dự án sẽ là tổng sự thay đổi
thời gian của các hoạt động trong critical path. Qua đó xác suất
để một dự án có thể hoàn thành trong một thời gian nào đó là có
thể tính được.
21
(5) Các kỹ thuật lập lịch dự án (tiếp)

• Ví dụ PERT

22
(5) Các kỹ thuật lập lịch dự án (tiếp)

•CPM vs PERT
• CPM đưa ra các ước lượng cố định về thời gian cho các
hoạt động (deterministic).
• PERT dùng khi ko thể ước lượng rõ thời gian cho hoạt
động -> đưa ra phân phối xác suất beta cho mỗi hoạt
động (probabilistic)
• Các hoạt động trong CPM và PERT đều có thể được
biểu diễn dưới dạng Mạng Bayes. Nút cha i (hoạt động
trước) và nút con j (hoạt động sau đó) có thể kết nối
bằng cách:
• Nối EF của i với ES của j;
• Nối LS của j với LF của i.

23
(5) Các kỹ thuật lập lịch dự án (tiếp)

•Kỹ thuật mô phỏng


• Kỹ thuật lập lịch tựa mô phỏng Monte Carlo (MCS)
được giới thiệu vào đầu những năm 1960, nhưng phải
đến những năm 1980 khi mà máy tính có đủ sức mạnh
tính toán thì kỹ thuật này mới trở nên thống trị trong
việc đối phó với rủi ro và bất định trong các dự án.
• Một công cụ tiên tiến hơn PERT là PertMaster sử dụng
mô phỏng không chỉ cho việc đối phó với bất định trong
thời gian và chi phí dự án, mà còn cung cấp cả một quy
trình phân tích rủi ro đầy đủ.

24
1. Giới thiệu bối cảnh và vấn đề nghiên cứu

(6) Phương pháp phát triển phần mềm linh hoạt:


• Agile Software Development:
• phương pháp luận phát triển phần mềm dựa trên các nguyên
tắc phát triển phân đoạn lặp (iterative) và tăng trưởng
(incremental)
• sử dụng cách lập kế hoạch thích ứng (adaptive planning), việc
phát triển và chuyển giao theo hướng tiến hóa; sử dụng các
khung thời gian ngắn và linh hoạt để dễ dàng phản hồi lại với
các thay đổi trong quá trình phát triển
• Như vậy:
• Giải thuật lập lịch thích ứng theo mỗi phân đoạn lặp như thế
nào?
• Áp dụng các kỹ thuật lập lịch và quản trị rủi ro trong
Agile như thế nào? 25
Các vấn đề nghiên cứu

Vấn đề 1: Làm sao để quản trị rủi ro trong lập lịch


DAPM tốt hơn?

Vấn đề 2: Lập lịch DAPM có những đặc trưng rủi ro


nào?

Vấn đề 3: Áp dụng các kỹ thuật lập lịch và quản trị rủi


ro trong dự án phát triển phần mềm linh hoạt như
thế nào?

Vấn đề 4: Phương pháp xác suất để cải tiến các kỹ


thuật lập lịch thông dụng áp dụng cho DAPM?
26
Các nghiên cứu liên quan

• [1] Hui A.K.T. and Liu D.B. (2004), “A Bayesian Belief Network model and tool to
evaluate risk and impact in software development projects”, Reliability and
Maintainability, 2004 Annual Symposium – RAMS: 297-301.
• Đưa ra 24 yếu tố rủi ro trong DAPM
• Đễ xuất mô hình Mạng Bayes để đánh giá rủi ro trong dự án phần mềm
• [2] Khodakarami V. (2009), “Applying Bayesian Networks to model uncertainty in
project scheduling”, PhD dissertation, Queen Mary, University of London
• Ứng dụng Mạng Bayes vào lập lịch dự án nói chung; áp dụng trong 2 case studies là DA thiết
kế và sản xuất máy bay và DA thiết kế xây dựng trung tâm sức khỏe (Heath and Fitness)
• [3] Lee, Y. Park and J. G. Shin (2009), “Large Engineering Project Risk
Management Using a Bayesian Belief Network”, Expert Systems with
Applications, vol. 36(3), pp. 5880–5887.
• Ứng dụng Mạng Bayes vào quản trị rủi ro dự án xây dựng tàu thủy; đưa ra danh sách 26 rủi
ro trong dự án xây dựng
• [4] Y. Hu et al. (2013), “Software Project Risk Analysis Using Bayesian Networks
with Causality Constraints”, Decision Support Systems, vol. 56, pp. 439–449
• Đề xuất mô hình mạng Bayes với các ràng buộc nhân quả để phân tích rủi ro trong DAPM

27
Các nghiên cứu liên quan

• [5] Fenton N.E. and Neil M. (2014), “Decision support software for probabilistic
risk assessment using Bayesian Networks”, IEEE Software, 31(2): 21-26.
• Đề xuất phần mềm AgenaRisk là công cụ xác suất sử dụng Mạng Bayes
• [6] Akos Szoke (2014), “Models and Algorithms for Integrated Agile Software
Planning and Scheduling”, PhD Dissertation.
• Đề xuất giải thuật lập lịch cho dự án phần mềm linh hoạt
• [7] Kumar, C. & Yadav, D.K. (2015), “A Probabilistic Software Risk Assessment and
Estimation Model for Software Projects”, Procedia Computer Science, 54: 353–361.
• Đưa ra phương pháp xác suất để đánh giá rủi ro cho toàn DAPM
• Đưa ra bộ chỉ số 27 chỉ số rủi ro trong DAPM
• [8] Sobiech F., Eilermann B., Rausch A. (2015), “A Heuristic Approach to Solve the
Elementary Sprint Optimization Problem for Non-Cross-Functional Teams in Scrum”,
ACM SIGAPP Applied Computing Review 14 (4): 19–26.
• Định nghĩa 7 phép đo giá trị cho khách hàng và lập lịch tối ưu cho Scrum

28
Các nghiên cứu liên quan
• [9] B.J. Anthony et al (2016), “A Proposed Risk Assessment Model for Decision Making in
Software Management”, Journal of Soft Computing and Decision Support Systems, vol. 3
(5), pp 31-43.
• Đề xuất mô hình đánh giá rủi ro DAPM gồm các quy trình và thành phần đánh giá rủi ro theo 3
nhóm: rủi ro hoạt động, rủi ro kỹ thuật và rủi ro chiến lược.
• [10] A. K. Rai, S. Agrawal and M. Khaliq. (2017), “Identification of Agile Software Risk
Indicators and Evaluation of Agile Software Development Project Risk Occurrence
Probability”, Proceedings of 7th International Conference on Engineering Technology,
Science and Management Innovation (ICETSMI-2017), 489-494.
• Đề xuất danh sách 43 yếu tố rủi ro trong DAPM linh hoạt
• [11] Chang, H.K, Yu, W.D. & Cheng, S.T. (2017), “A Risk-based Critical Path Scheduling
Method (I): Model and Prototype Application System”, Proceedings of 34th International
Symposium on Automation and Robotics in Construction ISARC.
• Đề xuất mô hình lập lịch dự án theo CPM dựa vào các rủi ro và 7 mức độ rủi ro ứng dụng vào dự
án xây dựng
• [12] S.K. Sharma and U. Chanda (2017), “Developing a Bayesian Belief Network model for
prediction of R&D project success”, Journal of Management Analytics, vol. 4 (2), pp.1-24.
• Đưa ra mô hình Mạng Bayes để dự đoán khả năng thất bại của dự án R&D; mô hình này cũng đánh giá
trên các yếu tố rủi ro của dự án R&D.

29
II. Mục tiêu, ý nghĩa, phương pháp nghiên cứu

• Mục tiêu, ý nghĩa


• Xây dựng phương pháp định lượng đánh giá, phân tích
hiệu quả hơn rủi ro trong lập lịch dự án phần mềm
• Xây dựng phương pháp xác suất để cải tiến các kỹ thuật
lập lịch thông dụng áp dụng cho DAPM, bao gồm lập lịch
DAPM truyền thống và lập lịch DAPM linh hoạt.
• Phương pháp này giúp dự đoán, kiểm soát lịch trình dự án phần mềm
tốt hơn, hỗ trợ ra quyết định tốt hơn
• Phương pháp nghiên cứu
• Phương pháp phân tích và tổng hợp lý thuyết (literature review)
• Phương pháp thực nghiệm khoa học (experiments)

30
Các công trình công bố

Trong luận án có 6 công trình khoa học đã công bố (trong đó có 01 công


trình công bố tại tạp chí ISI)

• CT1: Nguyễn Ngọc Tuấn, Huỳnh Quyết Thắng (2017), “Iteration scheduling
using Bayesian networks in Agile Software Development”, Kỷ yếu Hội nghị
Quốc gia lần thứ X về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin
(FAIR’10) – Đà Nẵng, ngày 17-18/8/2017, trang 300-308, ISBN: 978-604-913-
614-6

• CT2: Nguyễn Ngọc Tuấn, Võ Thị Hường, Huỳnh Quyết Thắng (2017), “Hướng
tới mô hình mạng Bayes để đánh giá rủi ro trong lập lịch dự án phần mềm”,
Kỷ yếu Hội nghị Quốc gia lần thứ X về Nghiên cứu cơ bản và ứng dụng Công
nghệ thông tin (FAIR’10) – Đà Nẵng, ngày 17-18/8/2017, trang 275-282, ISBN:
978-604-913-614-6

31
Các công trình công bố

• CT3: Nguyễn Ngọc Tuấn, Trần Trung Hiếu, Huỳnh Quyết Thắng (2017),
“Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập
lịch dự án phần mềm”, Chuyên san Công nghệ thông tin và Truyền thông, Tạp
chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017), trang 45-61,
ISSN: 1859-0209

• CT4: Nguyen Ngoc Tuan, Huynh Quyet Thang (2018), “Risk management in
Agile software project iteration scheduling using Bayesian Networks”, New
Trends in Intelligent Software Methodologies, Tools and Techniques, Volume
303, 2018, pp. 596 - 606 (SOMET 2018), ISBN 978-1-61499-899-0, DOI:
10.3233/978-1-61499-900-3-596, SCOPUS Indexed.

32
Các công trình công bố

• CT5: Ngoc-Tuan Nguyen, Quyet-Thang Huynh, Thi-Huong-Giang Vu (2018), “A


Bayesian Critical Path Method for Managing Common Risks in Software
Project Scheduling”, SoICT 2018 Proceedings of the 9th International
Symposium on Information and Communication Technology, Danang City, Viet
Nam - December 06 - 07, 2018, ISBN: 978-1-4503-6539-0, pp. 382-388, DOI:
10.1145/3287921.3287962

• CT6: Quyet-Thang Huynh, Ngoc-Tuan Nguyen (2020), “Probabilistic Method


for Managing Common Risks in Software Project Scheduling Based on
Program Evaluation Review Technique”, International Journal of Information
Technology Project Management, Volume 11(3), pp. 77-94, ISSN: 1938-0232,
DOI: 10.4018/IJITPM.2020070105 (Web of Science - Thomson Reuters, Q3)

33
Đóng góp khoa học của luận án

•Luận án có 02 đóng góp khoa học chính


• (1) Xây dựng giải thuật (BRI) và công cụ (CKDY) để đánh
giá ảnh hưởng của các yếu tố rủi ro và từ đó đề xuất bộ
chỉ số nguy cơ rủi ro trong lập lịch dự án phần mềm
(CT2, CT3).
• (2) Đề xuất phương pháp lập lịch cải tiến trên cơ sở tích
hợp sử dụng mạng Bayes và các bộ chỉ số nguy cơ rủi ro
trong lập lịch dự án phần mềm theo các kỹ thuật: PERT,
CPM, Agile (CT1, CT4, CT5, CT6)

34
IV. Nội dung và kết quả nghiên cứu

Luận án tập trung vào 04 nội dung chính:


• ND1: Ứng dụng mạng Bayes để quản trị rủi ro trong lập lịch
dự án phần mềm (CT2, CT3)
• ND2: Xây dựng và thử nghiệm bộ chỉ số nguy cơ rủi ro (CT3,
CT4, CT5)
• ND3: Ứng dụng mạng Bayes trong một số kỹ thuật lập lịch dự
án phần mềm đặc thù (CT1, CT4)
• ND4: Tích hợp mạng Bayes trong các kỹ thuật lập lịch dự án
phần mềm truyền thống (CT5, CT6)

35
IV. Nội dung và kết quả nghiên cứu

VĐ1: Làm sao để quản trị rủi ND1: Ứng dụng mạng Bayes để
ro trong lập lịch DAPM tốt quản trị rủi ro trong lập lịch dự án
phần mềm
hơn?
VĐ2: Lập lịch DAPM có những
ND2: Xây dựng và thử nghiệm bộ
đặc trưng rủi ro nào? chỉ số nguy cơ rủi ro
VĐ3: Áp dụng các kỹ thuật lập
lịch và quản trị rủi ro trong dự ND3: Ứng dụng mạng Bayes trong
án phát triển phần mềm linh một số kỹ thuật lập lịch dự án phần
hoạt như thế nào? mềm đặc thù

VĐ4: Phương pháp xác suất


ND4: Tích hợp mạng Bayes trong
để cải tiến các kỹ thuật lập lịch các kỹ thuật lập lịch dự án phần
thông dụng áp dụng cho mềm truyền thống
DAPM? 36
IV. Nội dung và kết quả nghiên cứu
ND1: Ứng dụng mạng Bayes để quản trị rủi ro trong lập lịch dự án phần
mềm
Hướng 1: ứng dụng mạng Bayes để đánh giá ảnh hưởng của các yếu
tố rủi ro lên lịch trình dự án
• Năm 2000, Trường Đại học Bang Arizona - Hoa Kỳ đã thực hiện một khảo sát
để đưa ra được danh sách 24 yếu tố rủi ro thường gặp.
• D. Houston, “Survey on potential effects of major development risk factors”, Arizona
State University Research Project, 2000.
• A.K.T Hui và D.B. Liu dựa trên danh sách này đã xây dựng một chương trình
tính toán độ ảnh hưởng của 24 yếu tố rủi ro tới khả năng hoàn thành dự án
phần mềm, và khảo sát 29 chuyên gia IT có kinh nghiệm
• A.K.T. Hui and D.B. Liu, “A Bayesian Belief Network model and tool to evaluate risk and
impact in software development projects”, Reliability and Maintainability, 2004 Annual
Symposium – RAMS: pp. 297-301, 2004.

37
24 yếu tố rủi ro
TT Nhóm vấn đề Yếu tố rủi ro Xác suất

• 24 yếu tố rủi ro Nguồn lực Nhân lực thiếu kinh nghiệm 0.30
Nguồn lực Phụ thuộc vào một số cá nhân 0.75

• Nguồn lực Nguồn lực Áp lực thời gian 0.70


Nhân lực Năng suất kém 0.22
Phụ thuộc vào một số cá Nhân lực Thiếu sự cam kết của nhân viên 0.20
nhân (0.75) Khách hàng Thiếu sự trợ giúp từ khách hàng 0.35
Thiếu đầu mối có năng lực
Áp lực về thời gian (0.7) Khách hàng 0.15
Dữ liệu nghiên cứu Thiếu dữ liệu lịch sử 0.50

• Hệ thống Dữ liệu nghiên cứu Dự toán thiếu chính xác 0.50


Hệ thống Giao diện bên ngoài lớn và phức tạp 0.40
Thiếu rõ ràng và chậm Hệ thống Dự án lớn và phức tạp 0.45
phản hồi về yêu cầu của Hệ thống Tính năng không cần thiết 0.30
Hệ thống Yêu cầu người dùng không rõ ràng
người dùng (0.75) Quản lý Thiếu khả năng quản lý
0.75
0.58

• Quản lý Quản lý Thiếu sự cam kết của quản lý cấp trên 0.50
Quản lý Thiếu tính chuyên nghiệp 0.25
Thiếu kỹ năng quản lý Công nghệ Công nghệ chưa hoàn chỉnh 0.46

• Kinh nghiệm Công nghệ Thiếu kiểm soát cấu hình 0.45

Kinh nghiệm Thiếu kinh nghiệm với môi trường phát triển dự án 0.625
Thiếu kinh nghiệm với môi Kinh nghiệm Thiếu kinh nghiệm sử dụng các phần mềm dự án 0.42
trường dự án (0.65) Công nghệ Giấy tờ quá nhiều 0.3
Công nghệ Thang đo không chính xác 0.5

Công nghệ Quá phụ thuộc vào một tiến trình công việc nhất định 0.5

Hệ thống Dự án con thiếu tin cậy 0.45

38
24 yếu tố rủi ro

+áp lực thời gian

Năng suất kém

+thiếu sự cam kết của nhân


+++thời gian dự án
viên

+project_funds_shortage

39
24 yếu tố rủi ro

Thiếu tính chuyên nghiệp

++incurate_cost_estimate ++inadequate_process_method

++áp lực thời gian

40
24 yếu tố rủi ro

+Yêu cầu người dùng không rõ


ràng

+missed_requirement +productivity

Áp lực thời gian

+defect_rate +low_moral
41
24 yếu tố rủi ro

++thiếu sự tham gia


+defect_rate
của khách hàng

+thiếu sự cam kết của


nhân viên

Thiếu sự trợ giúp từ


khách hàng

++missed_requirement +yêu cầu không rõ ràng

42
24 yếu tố rủi ro

43
Thuật toán BRI (Bayes-Risk-Impact) [CT2]

Thuật toán BRI


* Đầu vào: Các yếu tố rủi ro và xác suất
* Đầu ra: Mức độ ảnh hưởng của yếu tố rủi ro tới khả năng hoàn thành của dự án phần mềm
dưới dạng một vector các giá trị số. Giá trị càng cao thì mức độ ảnh hưởng càng lớn.
* Thuật toán BRI đánh giá mức độ ảnh hưởng của các yếu tố rủi ro:
Bước 1. Thông qua các giá trị xác suất đã biết. Giả sử P(X|~parent(X)) = 0.4. Ta tính các xác
suất của các nút con trong từng mạng Bayes nhỏ.
Bước 2. Với mỗi node con, đệ quy tìm ImpactWeight(node_con).
Tìm các mạng Bayes bắt đầu bởi nút con đang xét trong danh sách mạng Bayes ban đầu.
Tính ImpactWeight(node_con) với giá trị xác suất đã tính được ở bước 1.
Nếu không tìm thấy, ImpactWeight(node_con) = P(node_con).
Bước 3. ImpactWeight(rủi_ro_đang_xét) = ∑ImpactWeight(node_con).
Bước 4. Cộng dồn giá trị các ImpactWeight(rủi_ro_đang_xét) vào vector mức độ ảnh hưởng.
Bước 5. Lặp lại thuật toán với các rủi ro khác.

44
Xây dựng công cụ và thử nghiệm

• Xây dựng phần mềm


• C# (MS.NET Framework 4.5), Visual Studio 2012
• Thử nghiệm
• Bộ dữ liệu: 2 dự án phần mềm thực + kết quả của A.K.T Hui và D.B. Liu
• Dự án 1: game mạng xã hội
• 8 staff: 1 manager, 1 tester, 5 developer & 1 designer
• Planned: 4.5 months. Actual duration: 10 months.
• Vấn đề: framework tự xây dựng lớn, khách hàng phản hồi chậm
• Dự án 2: viễn thông
• Planned: 5 months. Actual duration: 10 months.
• Vấn đề: xác định yêu cầu khách hàng, đánh giá độ phức tạp từng module, phân
bổ nguồn lực

45
Xây dựng công cụ và thử nghiệm

• Giao diện công cụ

46
Xây dựng công cụ và thử nghiệm

• Với dữ liệu của Dự án 2: do dự án tổ chức rõ ràng ngay từ đầu theo từng giai đoạn,
nhóm tác giả đã được quản trị dự án cung cấp thông tin dự tính về các rủi ro có thể xảy
ra trong một số giai đoạn.

Mức độ ảnh
Công việc (trong Xác suất xảy
Những rủi ro có thể xảy ra hưởng (Cao, TB,
bảng công việc) ra
Thấp)

Xác định yêu cầu Xác định yêu cầu không rõ ràng Cao 50%
Xác định yêu cầu Thiếu khả năng quản lý Cao 10%
Xác định yêu cầu Thiếu sự trợ giúp của khách hàng Cao 20%
Xác định yêu cầu Nhân lực thiếu kinh nghiệm Cao 40%
Kỹ sư thiết kế chưa có kinh nghiệm,
Thiết kế phần mềm Cao 20%
phải chỉnh sửa nhiều lần
Thiết kế phần mềm Công nghệ chưa hoàn chỉnh Trung bình 10%

Thiết kế phần mềm Đặc điểm không cần thiết Trung bình 99%

47
Xây dựng công cụ và thử nghiệm

• Với dữ liệu của Dự án 2:


• Kết quả với giai đoạn Xác định yêu cầu cho thấy: đối với giai đoạn này, mức độ ảnh hưởng rủi ro
lớn nhất đó là thiếu khả năng quản lý, điều này đòi hỏi đưa ra chiến lược là nâng cao chất lượng
quản lý;
• Đối với giai đoạn Thiết kế phần mềm, mức độ ảnh hưởng rủi ro lớn nhất là công nghệ chưa hoàn
chỉnh, điều này đòi hỏi đưa ra chiến lược là tránh các rủi ro khi xử lý các phương pháp; giảm thiểu
rủi ro về áp lực tiến độ.
• Kết quả này phù hợp với những gì diễn ra trong thực tế của Dự án 2.

48
Xây dựng công cụ và thử nghiệm

• Thử nghiệm cho thấy: khả năng quản lý của người quản lý ảnh hưởng
nhiều nhất đến khả năng hoàn thành dự án đúng hạn cũng như là
thành công của dự án
• Các yếu tố quan trọng khác: thiếu sự cam kết và hỗ trợ từ bên phía khách
hàng
• Kết quả này khẳng định nhu cầu về công cụ hỗ trợ đội dự án để ước
lượng, đánh giá và kịp thời điều chỉnh. Quản trị dự án cần phải quan
tâm nhiều hơn đến yếu tố rủi ro nào có mức độ ảnh hưởng lớn nhất
đến dự án để đảm bảo dự án được tiến hành thuận lợi.

49
Kết quả 1

• KQ1: Đề xuất giải thuật BRI đánh giá ảnh hưởng của các yếu tố
rủi ro lên lịch trình dự án, từ đó đánh giá được khả năng thành
công của lịch trình
• Công cụ cho thấy giải thuật BRI đánh giá chính xác được ảnh
hưởng của các yếu tố rủi ro lên lịch trình dự án
• Lượng hóa rủi ro và tính toán hậu quả
• Giúp xác định các vấn đề và các rủi ro tiềm tàng ở giai đoạn
đầu tiên của dự án – lập lịch và lập kế hoạch dự án
• Xác định và kiểm soát các vấn đề từ những pha/ giai đoạn ban đầu của dự
án thì chúng ta có thể tăng đáng kể khả năng thành công của dự án

50
IV. Nội dung và kết quả nghiên cứu
ND1: Ứng dụng mạng Bayes để quản trị rủi ro trong lập lịch dự án phần
mềm
Hướng 2: Ứng dụng mạng Bayes đánh giá rủi ro được xếp hạng cao
nhất trong lập lịch dự án phần mềm
• Áp dụng phương pháp của các tác giả C. Kumar và D. K. Yadav* gồm
4 bước sau:
• (1) Lựa chọn các phép đo chỉ số rủi ro hàng đầu trong lập lịch dự án phát triển
phần mềm;
• (2) Xây dựng các mối quan hệ nhân quả giữa các chỉ số rủi ro;
• (3) Xây dựng bảng xác suất nút (NPT) cho mỗi nút của mô hình;
• (4) Tính giá trị xác suất rủi ro cho dự án.
• * Kumar, C. & Yadav, D.K. (2015), “A Probabilistic Software Risk
Assessment and Estimation Model for Software Projects”, Procedia
Computer Science, 54: 353–361.

51
CKDY algorithm

52
Phương pháp C. Kumar và D. K. Yadav

(1) Lựa chọn các phép đo chỉ số rủi ro hàng đầu


• Tổng hợp từ một số bộ chỉ số nguy cơ tiêu chuẩn đã được
công bố như
• Phân loại rủi ro của SEI (C.J. Alberts and A.J. Dorofee (2010). Risk
management framework. SEI Technical Report)
• Phân loại rủi ro của NASA NPD2820 (NASA Policy Detective. NPD 2820.1A
NASA Software Policies (2005))
• 24 chỉ số rủi ro của A.K.T. Hui và D.B. Liu (A.K.T. Hui and D.B. Liu, “A
Bayesian Belief Network model and tool to evaluate risk and impact in
software development projects”, Reliability and Maintainability, 2004 Annual
Symposium – RAMS: pp. 297-301, 2004)
• Lựa chọn 27 chỉ số rủi ro của C. Kumar và D.K. Yadav (Kumar, C. &
Yadav, D.K. (2015), “A Probabilistic Software Risk Assessment and Estimation
Model for Software Projects”, Procedia Computer Science, 54: 353–361.)

53
Phân loại các yếu tố rủi ro

Thành phần Thành phần chi tiết


Yếu tổ rủi ro Quản lý dự án kém
(Risk Factors) Áp lực thời gian
Thay đổi đặc tả thường xuyên
Quy trình không phù hợp
Công nghệ không phù hợp

Hậu quả Nhiệm vụ không hoàn thành


(Consequences) Tiêu tốn nguồn lực
Vấn đề về độ tin cậy
Kết cục Chậm kế hoạch

54
Phương pháp C. Kumar và D. K. Yadav

(2) Xây dựng các mối quan hệ nhân quả giữa các số liệu chỉ số nguy cơ
Mạng Bayes của các yếu tố rủi ro và hậu quả, kết cục

55
Phương pháp C. Kumar và D. K. Yadav

(3) Xây dựng bảng xác suất nút cho mỗi nút của mô hình
• Giá trị xác suất ban đầu được cung cấp bởi các chuyên gia
• Sử dụng bộ dữ liệu có sẵn PSPLIB (Project Scheduling Problem
Library) http://www.om-db.wi.tum.de/psplib/
• PSPLIB là một tập các trường hợp tiêu chuẩn cho việc đánh giá
các giải pháp cho vấn đề lập kế hoạch dự án với nguồn lực hạn
chế ở đơn và đa chế độ
(4) Tính giá trị xác suất rủi ro cho lập lịch dự án
• Áp dụng công thức Bayes để tính xác suất từng nút mạng, và cuối
cùng là xác suất của Kết cục
• Sử dụng thư viện HuginExpert hỗ trợ giúp tính toán một cách dễ
dàng hơn

56
CÔNG CỤ CKDY
• Công cụ CKDY phát triển kế thừa các lớp, hàm và các API của Hugin
cung cấp các giải pháp phân tích, dự đoán sử dụng Bayes cho ngôn
ngữ Java (ParseListener, Domain, Compiler…).
• Chức năng của công cụ
• Tính toán, dự đoán xác suất rủi ro trong các giai đoạn của dự án;
• Đưa ra các cảnh báo cho người quản lý sau mỗi giai đoạn;
• Xếp hạng chỉ số nguy cơ cho các yếu tố rủi ro;
• Cung cấp đồ thị trực quan sự biến thiên xác suất cho từng giai đoạn.
• Đầu vào của CKDY là một file định dạng “.net” được tạo ra từ phần
mềm Hugin theo mạng Bayes.
• Sử dụng công cụ Hugin để xây dựng biểu đồ mối quan hệ nhân quả
giữa các nút và cung cấp bảng nút xác suất NPT cho mỗi nút của mô
hình dựa trên bộ dữ liệu có sẵn và sự đánh giá từ chuyên gia.
• Công cụ cho phép lên kịch bản tối đa 7 giai đoạn dự án
• Cho phép người quản lý thấy được chi tiết hơn việc lập kế hoạch; đưa ra cho
người quản lý cảnh báo theo từng tuần về việc các nút mạng vượt ngưỡng an
toàn quá thời gian cho phép.
57
Thử nghiệm công cụ

• Hai bộ dữ liệu từ PSPLIB được sử dụng. Mỗi bộ có 7 file tương ứng


cho 7 giai đoạn cho phép trong thiết kế của công cụ.
• Với mỗi bộ dữ liệu sẽ có một kịch bản thử nghiệm (với 7 giai đoạn).
• Công cụ sẽ tính ra xác suất của mỗi yếu tố rủi ro trong từng giai đoạn,
đồng thời xác suất chậm kế hoạch từng giai đoạn.
Xác suất của các yếu tố rủi ro trong toàn bộ dự án với bộ dữ liệu 1:

Các Yếu tố Xác suất xảy ra Xác suất không xảy ra

Quản lý dự án kém 0.505 0.495


Áp lực thời gian 0.7536 0.2464
Thay đổi đặc tả thường xuyên 0.643 0.357
Quy trình không phù hợp 0.6625 0.3375
Công nghệ không phù hợp 0.666 0.334

58
Thử nghiệm công cụ

• Xác suất của các yếu tố rủi ro trong toàn bộ dự án với bộ dữ liệu 1:

Các Yếu tố Xác suất xảy ra Xác suất không xảy ra

Quản lý dự án kém 0.575 0.425


Áp lực thời gian 0.6179 0.3821
Thay đổi đặc tả thường xuyên 0.626 0.374
Quy trình không phù hợp 0.611 0.389
Công nghệ không phù hợp 0.55 0.45

59
Đánh giá công cụ

• Công cụ CKDY cũng được thử nghiệm so sánh với phần mềm MSBNx
của Microsoft phục vụ cho việc xây dựng và tính toán theo mạng
Bayes.
• Kết quả cho thấy sự tương đồng trong việc đánh giá hậu quả và kết cục theo
mô hình nghiên cứu đề xuất.

MSBNx(%) CKDY(%)
Nhiệm vụ không hoàn
9.3 9.26
thành
Hậu quả
Tiêu tốn nguồn lực 12.2 12.25
Vấn đề độ tin cậy 11.3 12.47
Kết cục Chậm kế hoạch 9.2 9.18

60
IV. Nội dung và kết quả nghiên cứu
ND1: Ứng dụng mạng Bayes để quản trị rủi ro trong lập lịch dự án phần
mềm
• KQ1: Đề xuất giải thuật BRI đánh giá ảnh hưởng của các yếu tố rủi ro
lên lịch trình dự án, từ đó đánh giá được khả năng thành công của lịch
trình (CT2)
• KQ2: Xây dựng và thử nghiệm công cụ xác suất CKDY để đánh giá
các rủi ro trong quá trình lập lịch dự án phần mềm (CT3)

KQ1: Đề xuất giải thuật


BRI đánh giá ảnh CT2
hưởng của các yếu tố (FAIR 2017)
ND1: Ứng dụng mạng
rủi ro lên lịch trình dự án
Bayes để quản trị rủi
ro trong lập lịch dự án
phần mềm KQ2: Xây dựng và thử
nghiệm công cụ xác
CT3
suất CKDY để đánh giá
(HVKTQS 2017)
các rủi ro trong quá
trình lập lịch DAPM 61
IV. Nội dung và kết quả nghiên cứu

ND2: Xây dựng và thử nghiệm bộ chỉ số nguy cơ rủi ro


• KQ3: Bước đầu đề xuất bộ chỉ số 5 nguy cơ rủi ro trong lập lịch dự án
phần mềm (CT3)
• KQ4: Đề xuất bộ chỉ số nguy cơ rủi ro từ việc tổng hợp
• 43 chỉ số rủi ro trong dự án phát triển phần mềm linh hoạt, đề xuất bởi A. K. Rai
et al (A. K. Rai, S. Agrawal and M. Khaliq, Identification of Agile Software Risk
Indicators and Evaluation of Agile Software Development Project Risk
Occurence Probability, Proceedings of 7th International Conference on
Engineering Technology, Science and Management Innovation (ICETSMI-
2017), 489-494.)
• Bộ 5 chỉ số rủi ro (KQ3)
• Bộ chỉ số 27 rủi ro của Wallace et al (L. Wallace, M. Keil and A. Rai. 2004. How
software project risk affects project performance: an investigation of the
dimensions of risk and an exploratory model. In Decision Sciences, 35(2), 289-
321)
=> 19 chỉ số rủi ro cho cả dự án phần mềm linh hoạt và dự án phần
mềm truyền thống
62
19 yếu tố rủi ro (dự án phát triển phần mềm truyền thống)

No. Risk factors


1 Large-scale, offshore and distributed.
2 Insufficient training.
3 Excessive preparation/planning.
4 Teams are not focused.
5 Inappropriate process.
6 The best people not available for self-organizing team.
7 The skill level of people (team/developer).
8 Staff is not committed for entire duration of the project.
9 Ineffective communication.
10 Staff does not receive necessary training.
11 Lack of tools and methods.
12 Software tools are not used to support software planning and tracking
activities.
13 Configuration management software tools are not used to control and
track change activity throughout the software process.
14 Incorrect scale.
15 Inappropriate technology.
16 Level of team/developer.
17 Customer not certain that the functionality requested is "do-able".
18 Lack of commitment of superior management.
19 Lack of management experience.
63
19 yếu tố rủi ro (dự án phát triển phần mềm linh hoạt)

No. Risk factors


1 Large-scale, offshore and distributed.
2 Insufficient training.
3 Excessive preparation/planning.
4 Teams are not focused.
5 Inappropriate process
6 The best people not available for self-organizing team.
7 The skill level of people (team/developer)
8 Staff is not committed for entire duration of the project.
9 Staff doesn’t attend to daily meeting
10 Staff does not receive necessary training.

11 Lack of tools and methods

12 Software tools are not used to support software planning and tracking activities.
Configuration management software tools are not used to control and track change
13
activity throughout the software process
14 Incorrect scale

15 Inappropriate technology

16 Level of team/developer

17 Customer not certain that the functionality requested is "do-able".


18 Lack of commitment of superior management

19 Lack of management experience 64


IV. Nội dung và kết quả nghiên cứu
ND2

KQ3: Bộ chỉ số 5
nguy cơ rủi ro trong CT3
lập lịch dự án phần (HVKTQS 2017)
mềm

ND2: Xây dựng và


thử nghiệm bộ chỉ số CT4
nguy cơ rủi ro (SOMET 2018)

KQ4: 19 chỉ số rủi ro


CT5
cho lập lịch dự án
(SoICT 2018)
phần mềm

CT6
(IJITPM 2020)
áp dụng trong
65
IV. Nội dung và kết quả nghiên cứu

ND3: Ứng dụng mạng Bayes trong một số kỹ thuật lập lịch dự án phần
mềm đặc thù
• Hướng 1: Tích hợp mạng Bayes trong kỹ thuật lập lịch dự án Agile
(CT1)
• Phát triển thuật toán lập lịch bước lặp sử dụng mạng Bayes để hỗ trợ đưa ra
lịch trình và đánh giá xác suất hoàn thành lịch trình trong dự án phát triển phần
mềm linh hoạt (Agile Software Development)
• Đưa ra chiến lược lựa chọn nhiệm vụ trong lập lịch bước lặp mới để làm giảm
tổng thời gian thực hiện bước lặp trong ràng buộc về yêu cầu phân bổ nguồn
lực trước đó.
• Hướng 2: Tích hợp mạng Bayes để quản trị rủi ro trong lập lịch dự án
Agile (CT4)
• Đề xuất phương pháp lập lịch Agile cải tiến tích hợp mạng Bayes và bộ chỉ số
rủi ro đặc trưng Agile (19 chỉ số) để tăng tính dự đoán và quản trị dự án Agile.

66
Giải thuật lập lịch Agile sử dụng BNs
• Hướng 1: Thuật toán lập lịch bước lặp sử dụng mạng
Bayes
• Phát triển thuật toán đề xuất bởi A. Szoke[6] sử dụng Mạng Bayes:

67
The Agile algorithm with BNs

68
The Agile algorithm with BNs

69
The Agile algorithm with BNs

• Trong đó:
• findNotPrecedentedTasks: Tìm những hoạt động không có ràng buộc ưu tiên
(không có hoạt động trước đó) dựa theo ma trận các hoạt động.
• selectMinLoadedResource(S): lựa chọn các nguồn lực với tổng thời gian thực
hiện là nhỏ nhất và xác suất hoàn thành là cao nhất.
• Output: Tập S các thời gian thực hiện các hoạt động (lịch trình), và xác suất
thành công của S.

70
Xây dựng công cụ

• Tool BAIS:
• Đầu vào: Số lượng nhân viên (nguồn lực), số lượng hoạt động, độ dài của mỗi
bước lặp, ràng buộc giữa các hoạt động, sự phân công ban đầu và thời gian
dự kiến cho các hoạt động.
• Tích hợp 4 chiến lược lựa chọn nhiệm vụ:
• SPT (Shortest processing time first): sắp xếp thực hiện nhiệm vụ theo tăng dần thời
gian thực hiện.
• LPT (Longest processing time first): sắp xếp thực hiện nhiệm vụ theo giảm dần thời
gian thực hiện.
• AF (Assigned First): sắp xếp thực hiện nhiệm vụ theo ưu tiên sự phân công ban đầu.
• AF+LPT: kết hợp AF và LPT.

• Đầu ta: Tập S các thời gian thực hiện các hoạt động (lịch trình), và xác suất thành công
của S.

71
Xây dựng công cụ

72
Thử nghiệm

• Bộ dữ liệu thử nghiệm 1: sinh ngẫu nhiên với 2 nhân viên, vòng lặp 20 giờ

Task Time Pre-assignment 𝑇1 𝑇2 𝐷1 𝐷2

1 4 - 0.92 0.83 0.38 0.34

2 3 - 0.74 0.72 0.27 0.22

3 5 - 0.93 0.85 0.22 0.34

4 4 2 0.94 0.84 0.43 0.36

5 2 - 0.83 0.73 0.26 0.42

6 5 - 0.82 0.96 0.17 0.23

7 4 - 0.73 0.94 0.32 0.52

8 3 - 0.68 0.73 0.27 0.13

73
Thử nghiệm

• Bộ dữ liệu thử nghiệm 1: sinh ngẫu nhiên với 2 nhân viên, vòng lặp 20 giờ

Task Time Pre-assignment 𝑇1 𝑇2 𝐷1 𝐷2

1 4 - 0.92 0.83 0.38 0.34

2 3 - 0.74 0.72 0.27 0.22

3 5 - 0.93 0.85 0.22 0.34

4 4 2 0.94 0.84 0.43 0.36

5 2 - 0.83 0.73 0.26 0.42

6 5 - 0.82 0.96 0.17 0.23

7 4 - 0.73 0.94 0.32 0.52

8 3 - 0.68 0.73 0.27 0.13

74
Thử nghiệm

• Kết quả
• SPT: makespan (thời gian ngắn nhất mà tất cả các nguồn lực hoàn thành việc trong 1
iteration) – is 16 (hours). Resource 1: tasks 5, 2, 7, 3 and Resource 2: tasks 8, 1, 4, 6.
Xác suất hoàn thành lịch trình 68,83%.
• LPT: makespan is 17. Resource 1: tasks 6, 7, 8, 3 and Resource 2: tasks 1, 4, 2, 5. The
probability for success is 60,42%.
• AF: makespan is 15. Resource 1: tasks 1, 2, 6, 8 and Resource 2: tasks 4, 5, 3, 7. The
probability for success is 66,77%.
• AF+LPT: makespan is 17. Resource 1: tasks 6, 7, 8, 3 and Resource 2: tasks 4, 1, 2, 5.
The probability for success is 60,37%.

75
Thử nghiệm

76
Thử nghiệm

• Bộ dữ liệu thử nghiệm 2


Probability

Taks Time Previous tasks in time Previous tasks over schedule

Re. 1 Re. 2 Re. 3 Re. 1 Re. 2 Re. 3


1 6 1.00 0.96 0.65 0.88 0.8 0.49
2 9 1.00 1.00 0.9 0.96 0.85 0.68
3 5 1.00 1.00 0.87 0.7 0.81 0.65
4 6 1.00 1.00 0.83 0.88 0.74 0.75
5 9 1.00 1.00 0.89 0.9 0.77 0.66
6 6 1.00 1.00 0.96 0.98 0.9 0.82
7 2 1.00 1.00 0.8 0.85 0.75 0.75
8 6 1.00 1.00 0.77 0.95 0.75 0.68
9 6 1.00 1.00 0.75 0.96 0.9 0.75
10 4 1.00 1.00 0.89 0.85 0.72 0.67
11 8 1.00 1.00 0.89 0.8 0.9 0.67
12 7 1.00 0.94 0.75 0.9 0.74 0.68
13 4 1.00 1.00 0.82 0.84 0.75 0.62
14 3 1.00 0.86 0.75 1.00 0.84 0.67
15 4 1.00 1.00 0.76 0.83 0.9 0.67
77
Thử nghiệm

• Kết quả
• SPT: makespan is 30, the probability for success is 97,98%;
• LPT and AF+LPT: makespan is 28, the probability for success is 46.98 %;
• AF: makespan is also 28, and the probability for success is 88,89%.
• Đội dự án phải quan tâm đến việc phân bổ công việc và hiệu chỉnh thời gian
vòng lặp trong toàn bộ dự án.

78
IV. Nội dung và kết quả nghiên cứu
ND3

• Hướng 2: Tích hợp mạng Bayes để quản trị rủi ro trong lập lịch dự án Agile
• Phát triển hướng nghiên cứu 5 (cải tiến lập lịch bước lặp Agile tích hợp mạng Bayes)
• Tích hợp mạng Bayes của 19 yếu tố rủi ro thông dụng trong dự án Agile

79
Thử nghiệm

• Bộ dữ liệu thử nghiệm 1:


• sprint với 7 resources, 460 working-hour,
43 tasks
• P[1] = 3, P[2] = 3, P[3] = 4, P[5] = 6, P[6] = 7
• Xác suất: 59.85%
• Nếu đổi sprint thành 450, R1 R2 R3 R4 R5 R6 R7
• => xác suất 60%
T4: 85% T3: 85% T1: 81% T2: 85% T7: 81% T6: 81% T5: 84%

T8: 76% T9: 76% T18: 69% T10: 76% T11: 70% T20: T12:
70% 75%
T13: T14: T23: 62% T29: 70% T15: 63% T25: T16:
70% 70% 63% 70%
T17: T31: T28: 57% T19: 59% T32: T21:
67% 66% 59% 66%
T22: T35: T34: 55% T24: 56% T36: T26:
65% 65% 56% 64%
T27: T41: T37: 53% T38: 55% T39: T33:
64% 63% 55% 63%
T30: T42: 52% T43:
63% 54%
T40:
62% 80
Thử nghiệm

• Bộ dữ liệu thử nghiệm 2


• sprint với 17 resources, 10 working days, 80
tasks
• 1st sprint: 54 tasks;
• Xác suất: 67.12%
• Thực tế: 64.82% (35/54)
• last sprint: 35 tasks
• Xác suất: 73.31%
• Thực tế: 74.29% (26/35)

81
IV. Nội dung và kết quả nghiên cứu
ND3

KQ5: Giải thuật lập


CT1
lịch Agile tích hợp
(FAIR 2017)
mạng Bayes
ND3: Ứng dụng
mạng Bayes trong
một số kỹ thuật lập
lịch dự án phần mềm
đặc thù

KQ6: Tích hợp mạng


CT4
Bayes để quản trị rủi
(SOMET 2018)
ro trong lập lịch Agile

82
IV. Nội dung và kết quả nghiên cứu

ND4: Tích hợp mạng Bayes trong một số kỹ thuật lập lịch dự
án
• Hướng 1: Tích hợp mạng Bayes trong kỹ thuật lập lịch CPM
(CT5)
• Tích hợp Bayes với kỹ thuật lập lịch CPM trong dự án phần mềm, tích
hợp bộ chỉ số 19 rủi ro phổ biến của phần mềm truyền thống.
• Hướng 2: Tích hợp mạng Bayes trong kỹ thuật lập lịch PERT
(CT6)
• Tích hợp Bayes với kỹ thuật lập lịch PERT trong dự án phần mềm, có
19 rủi ro đặc trưng của phần mềm truyền thống.

83
BNs + CPM [CT5]

Hướng 1: Tích hợp mạng Bayes trong kỹ thuật lập lịch


CPM (CT5)
• Improved CPM-based schedule with the incorporation of
BNs to support software teams to analyze the schedules
as well as predicting the chance of their success
• Examines common risk factors in project scheduling and
proposes a model of 19 common risk factors
• A tool was also built, and experiments were carried out to
validate the model

84
BNs + CPM

• These 19 risk factors then modeled to examine their relationships using BNs
• Figures show some parts of BN of 19 risk factors

BN part associated with the Another BN part of 19 risk


general total risk factors

85
BNs + CPM

• Figure shows the


BN of 19 risk
factors affecting a
task

86
BNs + CPM

• The RBCPM Model:


• The idea is using BNs to perform the well-known CPM
calculation, i.e., CPM is incorporated with BNs
• Mapping a single task: each of the activity parameters
formulated in CPM calculation is represented as a node in the BN
• To form the overall CPM network, in which a task is a node (and
also a variable in BN), we define the connection between
dependent variables. Predecessor node i and successor node j
are connected by:
• Connecting EF of i with ES of j; Connecting LS of j with LF of i.
• Each task is also affected by a general risk which represents the
set of 19 risks

87
BNs + CPM

• The RBCPM Model:


• Another BN formed is the BN for 19 common risk factors and a
general risk (in the form of Figure 5). Their relationship is also
analyzed based on literature review and project managers’
experience
• Each risk factor is represented by a node which may have parent node(s) or/and
children node(s). For example, risk factor (node) 3 has parent node 19 and children
nodes 4, 8, 9.
• Each risk factor or node is associated with a node probability table (NPT)
• In our research, each project team or project manager played as an expert to
provide the values in the NPTs (based on his/her previous experience on the
project features and the team).

88
BNs + CPM
• The RBCPM Model:
• Since there might be impacts of risks on each task, the estimated time for the task (ED
- Estimate D) is no longer a value, but a range of values

Task’s parameters and connection to other tasks.


89
BNs + CPM

• Experimental analysis:
• The results show the reliability of the model and the tool, since the
calculation is appropriate to the situation of the real-life projects.
• The reliability of the proposed model depends on the BN, i.e. 19 common risk
factors, their relations and their NPTs.

90
BNs + CPM

• Experimental analysis:
• Therefore, the feedback from experts and from project managers is crucial to
the results. This is also the similar case with any other system based on BNs.
• The results also confirm that tasks on the critical path have important impacts
overall project.

91
BNs + CPM

• The research has improved CPM-based schedule


with the incorporation of BNs to support software
teams:
• to analyze the schedules
• to predict the chance of their success
• The approach makes it possible to capture different
sources of risks and use them to analyze software
project scheduling.
• The approach also expresses uncertainty about
duration for each task and the whole project with
full probability distribution.

92
BNs + PERT [CT6]

• Hướng 2: Tích hợp mạng Bayes trong kỹ thuật lập lịch PERT
(CT6)
• Since PERT is similar to CPM, this research proposes a model identical to the
model proposed with CPM with two differences:
• (i) PERT scheduling technique is used instead of CPM
• (ii) risk factors are deeper analyzed using the adapted risk categorization and
levels from construction project
• To form the overall PERT network (or the overall BN), in which an activity is a
node (and also a variable in the BN), we define the connection between
dependent variables. Predecessor node i and successor node j are connected
by:
• Connecting tEF of i with tES of j;
• Connecting tLS of j with tLF of i.
• In the Bayesian PERT network, each activity is associated with parameters t
(total duration), tLS, tLF, tES, and tEF.
93
BNs + PERT

94
BNs + PERT

95
BNs + PERT

• Improved RBPERT model


• Chang et al. [11] categorized construction project risks into 2 categories and
7 levels.
• Risks are divided into 2 categories:
• Risks due to the physical environment
• Resource risks include 5 subcategories: people , machine, materials , methods, money
• Adapted to software development project, in this research the machine
category is considered as technological risks, and materials category is
considered as support tools.
• Considering all the above risk factors, seven risk levels are classified for
estimating the duration of an activity:
• Level 0: No risks
• Level 1: There is a risk of physical environment
• Level 2: There is a risk of physical environment + 1 of 5 resource risks
• Level 3: There is a risk of physical environment + 2 of 5 resource risks
• Level 4: There is a risk of physical environment + 3 of 5 resource risks
• Level 5: There is a risk of physical environment + 4 of 5 resource risks
• Level 6: There is a risk of physical environment + all 5 resource risks

96
BNs + PERT

• The process of scheduling


and risk management
improvement

97
IV. Nội dung và kết quả nghiên cứu
ND4

KQ7: Tích hợp mạng


CT5
Bayes trong kỹ thuật
(SOICT 2018)
lập lịch CPM
ND4: Tích hợp mạng
Bayes trong các kỹ
thuật lập lịch dự án
phần mềm truyền
thống

KQ8: Tích hợp mạng


CT6
Bayes trong kỹ thuật
(IJITPM 2020)
lập lịch PERT

98
Kết luận và hướng phát triển của luận án

• Luận án đã nghiên cứu 4 nội dung, và đạt được 8 kết quả


• Luận án đã xây dựng giải thuật (BRI) và công cụ (CKDY) để đánh giá ảnh
hưởng của các yếu tố rủi ro và từ đó đề xuất bộ chỉ số nguy cơ rủi ro trong
lập lịch dự án phần mềm.
• Từ nghiên cứu lý thuyết, đánh giá qua các công cụ, luận án đề xuất bộ 19
yếu tố rủi ro cho cả dự án phần mềm truyền thống và dự án Agile.
• Luận án đề xuất phương pháp lập lịch cải tiến trên cơ sở tích hợp sử dụng
mạng Bayes và các bộ chỉ số nguy cơ rủi ro trong lập lịch dự án phần mềm
theo các kỹ thuật: PERT, CPM, Agile
• Các công cụ được xây dựng để thử nghiệm các phương pháp, mô hình trên với bộ
19 yếu tố rủi ro, cho thấy tính tin cậy của phương pháp và mô hình
• Hướng phát triển
• Tiếp tục đánh giá, hoàn thiện bộ chỉ số rủi ro thông dụng trong lập lịch dự án
• Nghiên cứu đề xuất các giải thuật tối ưu cho lập lịch dự án phần mềm tích hợp
Mạng Bayes

99
IV. Nội dung và kết quả nghiên cứu

Kết quả 1 CT2


Vấn đề 1 Nội dung 1
Kết quả 2 CT3

Kết quả 3
Vấn đề 2 Nội dung 2 CT4
Kết quả 4

CT1
Kết quả 5
Vấn đề 3 Nội dung 3
Kết quả 6 CT5

Kết quả 7
Vấn đề 4 Nội dung 4 CT6
Kết quả 8
100
Cảm ơn đã lắng nghe!

101

You might also like