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” .