Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 131 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
131
Dung lượng
3,88 MB
Nội dung
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: Assoc Prof Huynh Quyet Thang Dr 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 referencing 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 Prof Huỳnh Quyết Thắng Dr Vũ Thị Hương Giang 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.), Mr 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 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 longterm 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 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.1) The first set of risk factors with risk factors are examined using a probabilistic ownbuilt tool CKDY to analyse risks in software project scheduling (Section 2.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.1) 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.2 and Section 3.3) The list of 19 risk factors in agile software development is also examined in agile iteration scheduling (Section 3.4) The experimental results show that our models are reliable and our approaches have practical implications, i.e we can take advantage of Bayesian Networks in modelling and quantifying risks/uncertainty in software projects 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.1, 1.2 and 1.3 To get an overview of Bayesian Networks, please go to Section 1.4 To get details on main contributions and key findings of the research, please read Chapter and Chapter To get information on common risk factors in software project scheduling, you can have a look at Section 2.3 The Chapter 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.2) The Chapter is about incorporating Bayesian Networks and common risk factors into software project scheduling techniques such as CPM (Section 3.2), PERT (Section 3.3), Agile software development scheduling (Section 3.4) 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 Content Acknowledgements Summary How to read this report? List of symbols and abbreviations 10 List of tables 12 List of figures 13 Introduction 15 Motivation .15 Related work 18 Research scope 20 Research objectives .20 Scientific and realistic meaning 21 Research hypothesis and methodology 21 Expected results .21 Structure of the thesis 22 Chapter Overview of software project scheduling and risk management 23 1.1 Software project management and software project scheduling 23 1.1.1 Software project management 23 1.1.2 Software project scheduling .25 1.2 Software project scheduling methods and techniques 26 1.2.1 Overview 26 1.2.2 Traditional scheduling methods and techniques 26 1.2.3 Agile software project scheduling .31 1.3 Risk management in software project scheduling 33 1.3.1 Overview of project risk management 33 1.3.2 Project risk analysis 35 1.3.3 Unknown risks 36 1.3.4 Risk aspects in software project scheduling 36 1.4 Bayesian Networks 37 1.4.1 Probabilistic approach using Bayesian Networks 37 1.4.2 Bayesian Inference 39 1.4.3 Bayesian Networks and project risk management 40 1.5 Chapter remarks 42 Chapter Common risk factors and experiments on Bayesian Networks and software project scheduling 44 2.1 Application of Bayesian Networks into schedule risk management in software project .44 2.1.1 Common risk factors in software project management 45 2.1.2 Bayesian Networks of risk factors 46 2.1.3 Risk impact calculation .58 2.1.4 Bayesian Risk Impact algorithm .61 2.1.5 Tool and experiments 61 2.1.6 Conclusion and contribution .66 2.2 Experiments on common risk factors 67 2.2.1 Discovering the top ranked risk factors 68 2.2.2 Tool CKDY 71 2.2.3 Experiments and analysis 73 2.2.4 Conclusion and contribution .77 2.3 Proposed common risk factors in software project scheduling 78 2.3.1 The 19 common risk factors in traditional software project .78 2.3.2 The 19 common risk factors in agile software project 80 2.4 Chapter remarks 82 Chapter Incorporation of Bayesian Networks into software project scheduling techniques 83 3.1 Applying Bayesian Networks into specific software project development 83 3.1.1 Introduction .83 3.1.2 Optimized Agile iteration scheduling 84 3.1.3 Optimization model for Agile software iteration 85 3.1.4 Tool and experimental results 90 3.1.5 Conclusion and contribution .94 3.2 Incorporation of Bayesian Networks into CPM .94 3.2.1 The RBCPM Model 95 3.2.2 The RBCPM Method 98 3.2.3 Tool and experimental results 99 3.2.4 Conclusion and contribution 103 3.3 Incorporation of Bayesian Networks into PERT 104 3.3.1 Proposed model 104 3.3.2 Tool development and data collection 108 3.3.3 Experimental results and analysis 112 3.3.4 Conclusion and contribution 114 3.4 Incorporation of Bayesian Networks into Agile software development scheduling 114 3.4.1 Optimization model for Agile software iteration 115 3.4.2 Tool and experimental results 115 3.4.3 Conclusion and contribution 117 3.5 Chapter remarks 118 Conclusion 119 What has been done 119 Main contributions 119 Limitations .119 Further research 120 List of scientific publications 121 References 122 Index .130 R1 T4: 85% T8: 76% T13: 70% T17: 67% T22: 65% T27: 64% T30: 63% T40: 62% R2 T3: 85% T9: 76% T14: 70% T31: 66% T35: 65% T41: 63% R3 T1: 81% T18: 69% T23: 62% T28: 57% T34: 55% T37: 53% T42: 52% R4 T2: 85% T10: 76% T29: 70% R5 T7: 81% T11: 70% T15: 63% T19: 59% T24: 56% T38: 55% R6 T6: 81% T20: 70% T25: 63% T32: 59% T36: 56% T39: 55% T43: 54% R7 T5: 84% T12: 75% T16: 70% T21: 66% T26: 64% T33: 63% Table 3.13 shows the result for the first data sample Each resource assigned tasks associated with the completion possibilities The overall completion possibility is 59.85% In this case, if the sprint is adjusted to 450 hours, the overall completion possibility calculated to be 60% These numbers are reliable compared to the real situation of the project b) The second experiment was carried out with a more complex real-life software project data in education There are 17 developers who need to finish 85 tasks in Scrum sprints of the project There are 54 tasks in the first sprint (10 working days) and 35 tasks in the last sprint (10 working days) The calculation from the tool BAIS gives us (as also shown in Figure 3.17): The overall probability for the first sprint is 67.12% Infact, only 35 tasks were done as scheduled, which can be considered as 64.82% (35/54) There are 2.3% difference between the tool calculation and the real situation The overall probability for the last sprint is 73.31% Infact, the sprint has tasks over-scheduled meaning 74.29% which is almost the same as calculated by the tool (0.98% difference) The results of the second case can be explained by the complexity of the project There are so many tasks together with many constraints (precedencies) that lead to the possibilities of over-scheduled sprints 116 Figure 3.17 The result of the second experiment The results of both experiments show that the tool can support decisions in Agile software development planning to tailor the best plan for the specific project context and users’ and/or customers’ feedbacks by altering constraints, capacities and priorities In a single project, the manager can also use the tool to predict next phases or next iterations schedule and better understand how the failure of the phase can impact the whole project 3.4.3 Conclusion and contribution The section has developed an algorithm for Agile iteration scheduling with the incorporation of BNs to support software teams to analyse the schedules as well as predicting the chance of their success The method improves the quality of Agile software development planning to provide lower level risks by considering all major planning factors (e.g dependencies, capacities) in a mathematical optimization model The results of experiments on the available data sets indicate that the approach can provide practical value as a decision support tool for Agile iteration planning To further affirm this, more representative real-life data sets needed, and some case studies can be carried out The proposed 19 common risk factors in Agile iteration scheduling can also be further examined and refined by means of literature review and case studies Besides its limitation, this section can be considered as a step towards a conceptual model of Agile iteration planning and scheduling Since the research gives better insight into resource-constrained project scheduling problems, this may suggest a new optimization problem on Agile iteration scheduling 117 An upgrade of the tool BAIS can be further developed which incorporates BNs for representing and analyzing causal models involving uncertainty The version can even provide a set of tools for constructing probabilistic inference and decision support systems on BNs and thus can assist software project managers in making decisions in scheduling and planning all kinds of software projects 3.5 Chapter remarks This chapter aims at finding better model for handling uncertainty/risks in software project scheduling by considering both scheduling techniques and common risks in software scheduling This chapter come up with proposing an improved scheduling method based on the integration of BNs and risk factors in software project scheduling with to the following techniques: PERT, CPM, and Agile software development scheduling The experiments’ results confirmed that the model proposed for managing common risks in software project scheduling with a model of 19 common risks factors works well both with CPM and PERT in cases of high level of uncertainty With these results, the thesis achieves the second objective (mentioned in the Introduction section) 118 Conclusion What has been done The research has done the following tasks: - Carrying out literature review on project scheduling techniques, software project scheduling techniques, and on risk factors in software project scheduling - Proposing scientific models for risk management in software project scheduling that examines specific features of software project scheduling such as common risk factors and their impacts (on software project schedules) as well as supporting software project managers to keep track of their projects’ schedules The models based on a probabilistic approach using Bayesian Networks, and applied both to traditional waterfall software development and agile software development - Validating proposed models by building tools and carrying out experiments with data from the real world The two objectives of the thesis (mentioned in the Introduction section) have been achieved The results have been published in conference and journal papers (see List of scientific publications section for more details) Main contributions The research has developed the algorithm BRI (Bayes Risk-Impact) and the tool CKDY to assess the impacts of risks and hence proposes common risk factors in software project scheduling Based on literature review and experiments, the research has come up with 19 common risk factors in software project scheduling (for both agile development style and traditional development style) The research also proposes advanced scheduling methods in software project development The methods based on incorporating Bayesian Networks and common risk factors models into popular software scheduling techniques such as PERT, CPM, and Agile software development Tools have been built to experiment the proposed scheduling methods and models Experimental results show that the proposed methods and models are reliable as well as providing practical value to software development teams in analyzing, monitoring and predicting risks and the chance of success of the project Limitations Since the thesis aims at solving different pieces (in terms of the way of software project development and the set of risk factors) of the puzzle of risk management in 119 software project scheduling, different data set is provided for each piece As a consequence, there has been no consistent data set for all the work presented in the two main chapters (Chapter and Chapter 3) of the thesis Moreover, although the author tried to get real software project data from well-known software companies in Vietnam, his approaches have not been applied by those companies into real ongoing software projects yet All the experiments have been done with finished projects and with the judgements from the projects’ people (especially the projects’ managers) The definition of empirical evaluation criteria is also another limitation of the thesis since there is not enough data and information from real software projects (to act as the basis for evaluating according to the criteria) The evaluation of the experimental results in the thesis is currently based on the information provided by the project teams, and they also act as experts to consider the validity of the experimental results In addition, although the research tries to find out the optimization algorithms for software project scheduling, it has not proposed a brand new algorithm yet The research has only improved the existing methods and algorithms using probabilistic approaches Further research The results of experiments on the available data sets and indicate that the approach proposed in the research can provide practical value as a decision support tool for software scheduling and planning To further affirm this, more representative real-life data sets needed, and some case studies can be carried out in real on-going software projects The author would come up with consistent data sets for both traditional software project development and agile software project development, and these data sets could also be contributed to the research community Further research can be incorporating additional uncertainty sources into the model, or further handling common causal risks (which affect more than one task) The list of 19 common risk factors in software scheduling could be further refined by case studies or surveys The research would also go further with finding out a software scheduling optimization algorithm using Bayesian Networks 120 List of scientific publications PUB1: 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 Nghiên cứu ứ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 PUB2: 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 lập lịch dự án phần mềm”, Kỷ yếu Hội nghị Quốc gia lần thứ X Nghiên cứu ứ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-913614-6 PUB3: 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 lập lịch dự án phần mềm”, Chuyên san Công nghệ thông tin Truyền thơng, Tạp chí Khoa học Kỹ thuật - Học viện KTQS - Số 184 (06-2017), trang 45-61, ISSN: 18590209 PUB4: 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-161499-900-3-596, SCOPUS Indexed PUB5: Ngoc-Tuan Nguyen, Quyet-Thang Huynh, Thi-Huong-Giang Vu (2018), “A Bayesian Critical Path Method for Managing Common Risks in Software Project th Scheduling”, SoICT 2018 Proceedings of the International Symposium on Information and Communication Technology, Danang City, Viet Nam - December - 07, 2018, ISBN: 978-1-4503-6539-0, pp 382-388, DOI: 10.1145/3287921.3287962 PUB6: 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 121 References [1] VnExpress (2019), “Ministry of Transport admits the mistakes on the Cat LinhHa Dong urban railway project”, available online since 27 September 2019 [2] Vietnamese Prime Minister (2015), “Decision regarding the approval of investment policy for the project on the National population database”, Government of Vietnam, 2083/QĐ-TTg (26 November 2015) [3] Vietnamese Prime Minister (2015), “Resolutions on e-Government”, Government of Vietnam, 36a/NQ-CP (14 October 2015) [4] Wikipedia.org (2019), “List of failed and over-budget custom software projects”, Retrieved 20 September 2019, available online [5] Moore T (2018), “Worst failure of public administration in this nation: payroll system”, The Sydney Morning Herald, Retrieved 24 July 2018, available online [6] Glick B.(2014), “Government finally scraps e-Borders programme”, ComputerWeekly.com, Retrieved 24 July 2018, available online [7] Boehm B.W (1991), “Software Risk Management: Principles and Practices”, IEEE Software, 8(1), pp 32–41 [8] Dedolph M (2003), “The Neglected Management Activity: Software Risk Management”, Bell Labs Technical Journal, 8(3), pp 91–95 [9] 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, pp 297-301 [10] Karollay G O V., Carlos E S S., Sandra M N (2020), “Risk Management in Software Development Projects: Systematic Review of the State of the Art Literature”, International Journal of Open Source Software and Processes (IJOSSP) 11(1), pp 1-22 [11] PMI (2017), “A Guide to the Project Management Body of Knowledge th (PMBOK Guide)”, Edition, Project Management Institute [12] Rao B.H., Gandhy A & Rathod R.R (2013) “A Brief View of Project Scheduling Techniques”, International Journal of Engineering Research & Technology, 2(12), pp 1555-1559 122 [13] Jun-yan J (2012), “Schedule Uncertainty Control: A Literature review”, Physics Procedia, Volume 33, pp 1842 – 1848 [14] Kaur R et al (2013), “A review of various software project scheduling techniques”, International Journal of Computer Science & Engineering Technology, 4(7), pp 877-882 [15] Williams T (1995), “A Classified Bibliography of Recent Research Relating to Project Risk Management”, European Journal of Operational Resarch, 85(1), pp 18-38 [16] Malcolm et al (1959), “Application of a Technique for Research and Development Program Evaluation”, Operations Research, 7(5), pp 646-669 [17] Miller R.W (1962), “How to plan and control with PERT”, Harvard Business Review, pp 93-104 [18] Ward S and Chapman C (2003), “Transforming project risk management into project uncertainty management”, International Journal of Project Management, 21, pp 97-105 [19] Khodakarami V (2009), “Applying Bayesian Networks to model uncertainty in project scheduling”, PhD dissertation, Queen Mary, University of London [20] Ali N., Siamak H Y., Vahidreza Y and Jolanta T (2019), “Combining Monte Carlo Simulation and Bayesian Networks Methods for Assessing Completion Time of Projects under Risk”, International Journal of Environmental Research and Public Health, 16, 5024; doi:10.3390/ijerph16245024 [21] Lee, Y P and Shin J G (2009), “Large Engineering Project Risk Management Using a Bayesian Belief Network”, Expert Systems with Applications, vol 36(3), pp 5880–5887 [22] Sharma S.K and Chanda U (2017), “Developing a Bayesian Belief Network model for prediction of R&D project success”, Journal of Management Analytics, vol (2), pp.1-24 [23] Khodakarami V., Fenton N and Neil M (2007), “Project Scheduling: Improved Approach to Incoporate Uncertainty using Bayesian Networks”, Project Management Journal, 38(2), pp 39-49 [24] Kumar, C & Yadav, D.K (2015), “A Probabilistic Software Risk Assessment and Estimation Model for Software Projects”, Procedia Computer Science, 54, pp 353–361 123 [25] Fenton N.E and Neil M (2014), “Decision support software for probabilistic risk assessment using Bayesian Networks”, IEEE Software, 31(2), pp 21-26 [26] Chang H.K, Yu W.D and Cheng S.T (2017), “A Risk-based Critical Path Scheduling Method (I): Model and Prototype Application System”, Proceedings of th 34 International Symposium on Automation and Robotics in Construction ISARC [27] Hu Y et al (2013), “Software Project Risk Analysis Using Bayesian Networks with Causality Constraints”, Decision Support Systems, vol 56, pp 439–449 [28] Anthony B.J et al (2016), “A Proposed Risk Assessment Model for Decision Making in Software Management”, Journal of Soft Computing and Decision Support Systems, vol (5), pp 31-43 [29] Rai A K., Agrawal S and Khaliq M (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), pp 489-494 [30] Szoke A (2014), “Models and Algorithms for Integrated Agile Software Planning and Scheduling”, PhD Dissertation [31] Wallace L., Keil M and Rai A (2004), “How software project risk affects project performance: an investigation of the dimensions of risk and an exploratory model”, Decision Sciences, 35(2), pp 289-321 [32] J Menezes Jr., Gusmao C and Moura H (2013), “Defining Indicators for Risk Assessment in Software Development Projects”, CLEI Electronic Journal, 16(1) [33] Sadiq M and Shahid M (2013), “A Systematic Approach for the Estimation of Software Risk and Cost using EsrcTool”, CSIT, vol 1(3): 243–252 [34] Kumar C and Yadav D K (2015), “A Bayesian Approach of Software Risk Assessment”, International Journal of Applied Engineering Research (IJAER), 10, pp 2366-2371 [35] Yong J & Zhigang Z (2011), “The Project Schedule Management Model Based on the Program Evaluation and Review Technique and Bayesian Network”, Proceedings of the IEEE International Conference on Automation and Logistics, Chongqing, China, pp 379-383 [36] Wikipedia.org (2019), “Software Project Management”, Retrieved September 2019, available online 124 [37] Wrike blog (2019), “What Is Software Project Management?”, Retrieved September 2019, available online [38] PCWorld Vietnam (2009), “Risk management in software projects”, Retrieved 14 November 2014, available online [39] Kelley J.E (1961), “Critical Path Planning and Scheduling: Mathematical Basis”, Operations Research 9, pp 290-320 [40] Moder J (1988), “Network Techniques in Project Management”, Project Management Handbook, New York, Van Nostrand Reinhold [41] Fortune J and White D (2006), "Framing of Project Critical Success Factors by a Systems Model", International Journal of Project Management, 24(1), pp 5365 [42] Fenton N and Neil M (2013), “Risk Assessment and Decision Analysis with Bayesian Networks”, Reading book, CRC Press [43] Pollack-Johnson B and Liberatore M.J (2005), “Project Planning under Uncertainty Using Scenario Analysis”, Project Management Journal, 36(1), pp 1526 [44] Van Slyke R.M (1963), “Monte Carlo Methods and the Pert Problem”, Operations Research, 11(5), pp 839-860 [45] Fishman G.S (1986) A Monte Carlo Sampling Plan for Estimating Network Reliability Operations Research, 34(4), pp 581-594 [46] Ragsdale C (1989), “The current state of network simulation in project management theory and practice”, Omaga, 17(1), pp 21-25 [47] Oracle (2018), “Oracle Primavery Risk Analysis (Pertmaster®)”, Emerald Associates, available online [48] PMI (1999), “Project Management Software Survey”, Newtown Square, PA: Project Management Institute [49] Pollack-Johnson B and Liberatore M.J (2003), "Analytical Techniques in Project Planning and Control: Current Practice and Future Research Directions", Unpublished manuscript, Villanova University [50] Van Dorp J R., Duffey M R (1999), “Modelling statistical dependence in risk analysis for project networks”, International Journal of Production Economics, 58, pp 17-29 125 [51] Williams T (2004), “Why Monte Carlo Simulations of Project Networks Can Mislead”, Project Management Journal, 35(3), pp 53-61 [52] Liberatore M.J (2002), “Project Schedule Uncertainty Analysis Using Fuzzy Logic”, Project Management Journal, 33(4), pp 15-22 [53] Kuchta D (2001), “Use of Fuzzy Numbers in Project Risk Assessment”, International Journal of Project Management, 19(5), pp 305-310 [54] Bonnal P et al (2004), “Where we stand with Fuzzy project scheduling?”, Journal of Construction Engineering & Management, 130(1), pp 114-123 [55] Abrahamsson P et al (2002), “Agile Software Development methods: Review and Analysis”, VTT Publications 478, pp 3-107 [56] Stalhane T and Hanssen G K (2008), “The application of ISO 9001 to Agile Software Development”, PROFES 2008, pp 371-385 [57] Schwaber K (1995), “The Scrum development process”, In OOPSLA ’95 Workshop on Business Object Design and Implementation, Austin, Texas, USA, October 1995 ACM Press [58] Huo M., Verner J., Zhu L., Babar M.A (2004), “Software quality and Agile methods”, Proceedings of COMPSAC’04, pp 520-525 [59] Wailgum T (2007), “From Here to Agility”, CIO.com, Retrieved June 2018, available online [60] Glazer H., Dalton J., Anderson D., Konrad M., Shrum S (2008), “CMMI or Agile: Why not embrace both!”, Technical Note CMU/SEI-2008-TN-003, Software Engineering Institute, Carnegie Mellon University [61] Cohn M (2005), “Agile Estimating and Planning”, NJ, USA: Prentice Hall PTR, ISBN: 0131479415 [62] PRAM (2004), “Project Risk Analysis and Management Guide”, High Wycomb, Association for Project Management (APM) [63] RAMP (2005), “Risk Analysis and Management for Projects”, London Institute of Civil Engineering and the Faculty and Institute of Actuaries, Thomas Telford [64] Chapman C (2006), “Key Point of Contention in Framing Assumptions for Risk and Uncertainty Management”, International Journal of Project Management, 24(4), pp 303-313 126 [65] Barry, J B (1995), “Assessing Risk Systematically”, Risk Management, 42, pp 12-15 [66] Williams T M (1994), “Using a Risk Register to Integrate Risk Management in Project Definition”, International Journal of Project Management, 12(1), pp 1722 [67] Ward S.C (1999), “Assessing and Managing Important Risks”, International Journal of Project Management, 17(6), pp 331-336 [68] Patterson F.D and Neailey K (2002), “A Risk Register Database System to Aid the Management of Project Risk”, International Journal of Project Management, 20(5), pp 365-374 [69] Hillson D (1999), “Developing Effective Risk Responses”, Proceedings of the th 30 Annual Project Management Institute Seminars and Symposium, Philadelphia USA [70] Al-Bahar J and Crandall K.C (1990), “Systematic Risk Management Approach for Construction Projects”, Journal of Construction Engineering and Management, 116(3), pp 533-546 [71] UK Ministry of Defence (1991), “Risk Management in Defence Procurement”, Ministry of Defence, Whitehall, London [72] del Caano A and de la Cruz M.P (2002), “Integrated Methodology for Project Risk Management”, Journal of Construction Engineering and Management, 128(6), pp 473-485 [73] Wideman R.M (1992), “Project and Program Risk Management”, Newtown Square, PA, USA, Project Management Institute [74] BSI (1999), “Guide to Project Management”, London, British Standard [75] Rosenberg L.H et al (1999), “Continuous Risk Management at NASA”, NASA, available online [76] Defense Systems Management College (2000), “Risk Management Guide for Dod Acquisition”, USA, Department of Defense [77] US Department of Transportation (2000), “Project Management in the Department of Transportation” [78] Baber R.B (2005), “Understanding Internally Generated Risks in Projects”, International Journal of Project Management, 23(8): 584-590 127 [79] Goldstein M (2006), “Subjective Bayesian analysis: Principle and practice”, Bayesian Analysis, 1(3), pp 403-420 [80] Joshua H., Martin N., Norman E F (2020), “Product risk assessment: a Bayesian network approach”, Proceedings of the 2020 ACM Southeast Conference, April 2020, pp 34–38 [81] McCabe B (1998), “Belief Networks in Construction Simulation”, th Proceedings of the 30 Conference on Winter simulation, IEEE Computer Society Press [82] Nasir D., McCabe B et al (2003), "Evaluating Risk in Construction-Schedule Model (Eric-S): Construction Schedule Risk Model", Journal of Construction Engineering & Management, 129(5), pp 518-827 [83] Houston D (2000), “Survey on potential effects of major development risk factors”, Arizona State University Research Project [84] Cortellessa V et al (2005), “Model-Based Performance Risk Analysis”, IEEE Transactions on Software Engineering, 31(1): 3–20 [85] Islam S (2012), “Software Development Risk Management Model - A GoalDriven Approach”, Technical Report [86] Alberts C.J and Dorofee A.J (2010), “Risk management framework”, SEI Technical Report [87] NASA Policy Detective (2005), NPD 2820.1A NASA Software Policies [88] PSPLIB http://www.om-db.wi.tum.de/psplib/ [89] HuginExpert http://www.hugin.com/ [90] CKDY tool and data samples: http://bit.ly/2r4MsWb [91] IEEE Computer Society (2001), “IEEE Standard for Software Life Cycle Processes - Risk Management” [92] RESCON http://feb.kuleuven.be/rescon/ [93] MSBNx https://msbnx.azurewebsites.net/ [94] Tore D and Torgeir D (2008), “Empirical studies of agile software development: A systematic review”, Information and Software Technology 50.9-10, pp 833–859 128 [95] Augustine S (2005), “Managing Agile Projects”, Upper Saddle River, NJ, USA: Prentice Hall PTR [96] Tsun Chow and Dac-Buu Cao (2008), “A survey study of critical success factors in agile software projects”, Journal of System and Software 81(6), pp 961– 971 [97] Schwaber K and Beedle M (2001), “Agile Software Development with Scrum” [98] Martin R.C (2002), “Agile Software Development, Principles, Patterns and Practices” [99] Miller A (2008), “Distributed Agile Development at Microsoft patterns and practices” [100] Agile Alliance, “Manifesto for agile software development”, [Online] Retrieved 14 May 2017 Available at: http://agilemanifesto.org [101] Nguyen N.T and Huynh Q.T (2013), “Combining Maturity and Agility – th Lessons Learnt From A Case Study”, Proceedings of the International Symposium on ICT SoICT 2013, pp 267-274 [102] VersionOne, 7th Annual Survey (2013), “The State of Agile Development”, Full Data Report [103] Fox T L and Spence J W (1998), “Tools of the trade: a survey of project management tools”, Project Management Journal, 29, pp 20-28 [104] Pollack-Johnson B (1998), “Project management software usage patterns and suggested research directions for future development”, Project Management Journal, 29, pp 19-29 [105] RBPERT (2019) The RBPERT source code and sample data Available at https://github.com/tuanmasu/RBPERT/ 129 Index A agile iteration scheduling 3, 4, 83, 94 agile software development 4, 21, 22, 26, 31, 33, 35, 93, 94, 119, 128, 129 B Bayesian Networks 3, 4, 5, 18, 22, 37, 40, 44, 46, 83, 94, 104, 114, 118, 119, 120, 121, 123, 124, 125 BNs18, 19, 21, 22, 38, 40, 41, 42, 43, 44, 46, 58, 67, 69, 71, 76, 77, 80, 82, 83, 84, 87, 88, 94, 95, 99, 100, 102, 103, 104, 107, 109, 114, 115, 117, 118 BRI 4, 10, 22, 44, 61, 66, 82, 119 R risk analysis 3, 4, 16, 17, 30, 35, 36, 40, 41, 125 risk factors 3, 4, 5, 18, 19, 20, 21, 22, 30, 42, 43, 44, 45, 46, 47, 52, 58, 60, 61, 62, 63, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 94, 95, 96, 98, 102, 103, 104, 105, 106, 107, 114, 117, 118, 119, 120, 128 Risk management 3, 33, 121, 128 risks 3, 4, 15, 16, 17, 18, 19, 20, 21, 22, 33, 34, 35, 36, 37, 41, 42, 44, 58, 61, 62, 65, 66, 67, 71, 72, 77, 78, 80, 82, 83, 84, 87, 94, 95, 97, 99, 100, 103, 104, 105, 106, 107, 114, 117, 119, 120 S C CKDY 4, 19, 22, 44, 67, 68, 71, 76, 77, 82, 119, 128 CPM 3, 4, 5, 10, 17, 18, 20, 22, 26, 27, 28, 29, 43, 67, 77, 94, 95, 98, 99, 100, 103, 104, 113, 114, 118, 119 Scrum 31, 33, 115, 116, 126, 129 Software project management 3, 23, 24 Software project scheduling 3, 25, 26, 84 M makespan 91 T The RBCPM Method 98 The RBCPM Model P the tool BAIS PERT 3, 4, 5, 10, 11, 17, 18, 19, 20, 22, 26, 28, 29, 43, 67, 77, 103, 104, 105, 106, 108, 112, 114, 118, 119, 123 project management 3, 5, 16, 17, 18, 21, 23, 24, 26, 28, 30, 33, 36, 42, 44, 45, 46, 63, 64, 65, 70, 125, 129 The tool RBPERT Q 95 90, 92, 115, 116, 118 99 108 The tool RBCPM U uncertainty 3, 4, 16, 17, 18, 21, 26, 28, 29, 30, 31, 33, 34, 35, 36, 40, 41, 42, 44, 67, 83, 84, 87, 94, 100, 103, 104, 114, 118, 120, 123 quantitative risk analysis 3, 16, 17, 35 130 ... of software project scheduling and risk management 23 1.1 Software project management and software project scheduling 23 1.1.1 Software project management 23 1.1.2 Software. .. suitable for capturing uncertainty in projects Yet, BNs are rarely applied in project risk management in general as well as in software project management and software project scheduling The author... aspects in software project scheduling 36 1.4 Bayesian Networks 37 1.4.1 Probabilistic approach using Bayesian Networks 37 1.4.2 Bayesian Inference 39 1.4.3 Bayesian