Risk management in software project scheduling using bayesian networks
- 141 trang
- file .pdf
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. Assoc. Prof. Dr. Huynh Quyet Thang
2. 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 referen-
cing practices of the discipline.
This thesis has not been submitted for any degree or other purposes.
Hanoi, April 29, 2021
PhD STUDENT ON BEHALF OF SUPERVISORS
Nguyễn Ngọc Tuấn Assoc. Prof. Dr. Huỳnh Quyết Thắng
1
Acknowledgements
First of all, I would like to express my sincere gratitude to my first supervisor
Assoc. Prof. Dr. 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 and to my son Nguyen Minh Huy. 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.1). 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.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.
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.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 2 and Chapter 3.
To get information on common risk factors in software project scheduling,
you can have a look at Section 2.3.
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.2).
The Chapter 3 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.
5
Content
Acknowledgements ............................................................................................... 2
Summary………….. ................................................................................................ 3
How to read this report? ...................................................................................... 5
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 .................................................................................................................. 21
Scientific and realistic meaning ............................................................................................... 21
Research hypothesis and methodology ................................................................................. 21
Expected results ........................................................................................................................ 22
Structure of the thesis ............................................................................................................... 22
Chapter 1. Overview of software project scheduling and risk
management.......................................................................................................... 24
1.1. Software project management and software project scheduling................................ 24
1.1.1. Software project management ................................................................................. 24
1.1.2. Software project scheduling ...................................................................................... 26
1.2. Software project scheduling methods and techniques ................................................ 27
1.2.1. Overview ...................................................................................................................... 27
1.2.2. Traditional scheduling methods and techniques ................................................... 27
1.2.3. Agile software project scheduling ............................................................................ 32
1.3. Risk management in software project scheduling ........................................................ 34
6
1.3.1. Overview of project risk management ..................................................................... 34
1.3.2. Project risk analysis ................................................................................................... 36
1.3.3. Unknown risks ............................................................................................................. 37
1.3.4. Risk aspects in software project scheduling .......................................................... 37
1.4. Bayesian Networks ............................................................................................................ 38
1.4.1. Bayesian approach vs classical approach.............................................................. 38
1.4.2. Probabilistic approach using Bayesian Networks.................................................. 39
1.4.3. Bayesian Inference..................................................................................................... 41
1.4.4. Bayesian Networks and project risk management ................................................ 42
1.5. Chapter remarks ................................................................................................................ 44
Chapter 2. Common risk factors and experiments on Bayesian
Networks and software project scheduling.................................................. 46
2.1. Application of Bayesian Networks into schedule risk management in software
project .......................................................................................................................................... 46
2.1.1. Common risk factors in software project management ........................................ 47
2.1.2. Bayesian Networks of risk factors ............................................................................ 48
2.1.3. Risk impact calculation .............................................................................................. 54
2.1.4. Bayesian Risk Impact algorithm ............................................................................... 57
2.1.5. Tool and experiments ................................................................................................ 58
2.1.6. Conclusion and contribution ..................................................................................... 63
2.2. Experiments on common risk factors ............................................................................. 64
2.2.1. Discovering the top ranked risk factors ................................................................... 64
2.2.2. Tool CKDY ................................................................................................................... 68
2.2.3. Experiments and analysis ......................................................................................... 70
2.2.4. Conclusion and contribution ..................................................................................... 74
2.3. Proposed common risk factors in software project scheduling................................... 75
2.3.1. The 19 common risk factors in traditional software project .................................. 75
2.3.2. The 19 common risk factors in agile software project .......................................... 77
7
2.3.3. Conclusion and contribution ..................................................................................... 79
2.4. Chapter remarks ................................................................................................................ 79
Chapter 3. Incorporation of Bayesian Networks into software project
scheduling techniques ....................................................................................... 81
3.1. Applying Bayesian Networks into specific software project development ................ 81
3.1.1. Introduction .................................................................................................................. 81
3.1.2. Optimized Agile iteration scheduling ....................................................................... 82
3.1.3. Optimization model for Agile software iteration ..................................................... 83
3.1.4. Tool and experimental results .................................................................................. 88
3.1.5. Conclusion and contribution ..................................................................................... 92
3.2. Incorporation of Bayesian Networks into CPM.............................................................. 92
3.2.1. The RBCPM Model .................................................................................................... 93
3.2.2. The RBCPM Method .................................................................................................. 96
3.2.3. Tool and experimental results .................................................................................. 97
3.2.4. Conclusion and contribution ................................................................................... 101
3.3. Incorporation of Bayesian Networks into PERT .......................................................... 102
3.3.1. Proposed model........................................................................................................ 102
3.3.2. Tool development and data collection................................................................... 106
3.3.3. Experimental results and analysis ......................................................................... 110
3.3.4. Conclusion and contribution ................................................................................... 112
3.4. Incorporation of Bayesian Networks into Agile software development scheduling 112
3.4.1. Incorporation of risk model ...................................................................................... 113
3.4.2. Tool and experimental results ................................................................................ 113
3.4.3. Conclusion and contribution ................................................................................... 115
3.5. Chapter remarks .............................................................................................................. 116
Conclusion .......................................................................................................... 117
What has been done ............................................................................................................... 117
8
Main contributions ................................................................................................................... 117
Limitations................................................................................................................................. 117
Further research ...................................................................................................................... 118
List of scientific publications ......................................................................... 119
References ........................................................................................................... 120
Index……… .......................................................................................................... 128
Appendix. Sub Bayesian Networks of the 24 risk factors ...................... 129
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 EVM Earned Value Management
11 FDD Feature-Driven Development
12 IDE Integrated Developer Environment
13 IGR Internally Generated Risk
14 LPT Longest Processing Time
15 MCS Monte Carlo Simulation
16 NPT Node Probability Table
17 PERT Program Evaluation and Review Technique
18 PI Probability-Impact
19 PMBOK Project Management Body of Knowledge
20 PMI Project Management Institute
21 PMP Project Management Professional
10
22 PRAM Project Risk Analysis and Management
23 PRM Project Risk Management
24 PRMP Project Risk Management Processes
25 PSPLIB Project Scheduling Problem Library
26 RAMP Risk Analysis and Management for Projects
27 RBCPM Risk Bayesian Critical Path Method
28 RBPERT Risk Bayesian PERT
29 RESCON RESource CONstrained
30 RMP Risk Management Processes
31 RUP Rational Unified Process
32 SPT Shortest Processing Time
33 XP Extreme Programming
11
List of tables
Table 1.1 Basic mathematical notations used for CPM calculation ......................... 28
Table 1.2. The differences between waterfall and agile projects ............................. 33
Table 1.3. The differences between Bayesian and Frequentist approaches ............. 38
Table 2.1. Hui and Liu’s common risk factors [9] ................................................... 47
Table 2.2. Risk factors in the phases ........................................................................ 61
Table 2.3. Risk factors, consequences and impact ................................................... 65
Table 2.4. Examples of risk factors and probabilities .............................................. 67
Table 2.5. Probability of risk factors in the whole project with data set 1 ............... 72
Table 2.6. Probability of risk factors in the whole project with data set 2 ............... 73
Table 2.7. Probability of the experimental risk factors to compare with MSBNx ... 74
Table 2.8. CKDY compared with MSBNx .............................................................. 74
Table 2.9. List of 19 common risk factors for software project scheduling ............ 76
Table 2.10. List of 5 risk factors for software project scheduling in Section 2.2 .... 77
Table 2.11. List of 19 risk factors in iteration scheduling ........................................ 78
Table 3.1. The first data sample ............................................................................... 89
Table 3.2. The probability table for tasks and resources .......................................... 90
Table 3.3. Risk factors analysis ................................................................................ 94
Table 3.4. Data sample 1 .......................................................................................... 98
Table 3.5. Data sample 2 .......................................................................................... 99
Table 3.6. Task attributes of the first data sample.................................................. 108
Table 3.7. Task attributes of the second data sample ............................................. 108
Table 3.8. Task attributes of the third data sample ................................................ 109
Table 3.9. The result for the first data sample ........................................................ 114
12
List of figures
Figure 1.1. Activities of project management according to PMBOK Guide. .......... 26
Figure 1.2. CPM parameters in an activity ............................................................... 29
Figure 1.3. An example of BN which represents a simple case ............................... 41
Figure 2.1. A sub BN for the risk factor “Staff experience shortage” ..................... 49
Figure 2.2. A sub BN for the risk factor “Low productivity” .................................. 49
Figure 2.3. A sub BN for the risk factor “Lack of client support” ........................... 50
Figure 2.4. A sub BN for the risk factor “Inaccurate cost estimating” .................... 50
Figure 2.5. A sub BN for the risk factor “Incapable project management” ............. 51
Figure 2.6. A sub BN for the risk factor “Lack of senior management commitment”
.................................................................................................................................. 52
Figure 2.7. A sub BN for the risk factor “Inadequate configuration control” .......... 52
Figure 2.8. A sub BN for the risk factor “Inaccurate metrics” ................................. 53
Figure 2.9. A sub BN for risk factor “Excessive reliance on a single process
improvement” ........................................................................................................... 53
Figure 2.10. The overall BN for software risk factors ............................................. 54
Figure 2.11. A simple example of Bayesian inference ............................................. 55
Figure 2.12. The three nodes of a simple-chain BN ................................................. 57
Figure 2.13. The graphical interface of the tool ....................................................... 59
Figure 2.14. Result of experiment 1 ......................................................................... 60
Figure 2.15. Results of the three experiments .......................................................... 62
Figure 2.16. Experimental results for Software Design phase ................................. 63
Figure 2.17. Sub BN 1 .............................................................................................. 66
Figure 2.18. Sub BN 2 .............................................................................................. 66
Figure 2.19. The overall BN model .......................................................................... 67
Figure 2.20. Experiment with j30 with the early start schedule ............................... 71
Figure 2.21. Activity joint in the file j301_1.rcp ...................................................... 71
Figure 2.22. Diagram of probabilities of finishing phase by phase ........................ 72
Figure 3.1. Home GUI of tool BAIS ........................................................................ 88
Figure 3.2. Gantt chart for SPT strategy................................................................... 90
Figure 3.3. A part of a BN for 19 risk factors .......................................................... 93
Figure 3.4. Task’s parameters and connection to other tasks. .................................. 96
Figure 3.5. A screenshot of RBCPM ........................................................................ 97
Figure 3.6. A result for experiment with data sample 1 ......................................... 100
Figure 3.7. A result for experiment with data sample 2 ......................................... 101
Figure 3.8. Bayesian Network for each activity ..................................................... 103
Figure 3.9. Risk integration network model into PERT scheduling ...................... 104
Figure 3.10. Process in improved RBPERT Model ............................................... 105
Figure 3.11. The input screen of the RBPERT tool ............................................... 106
13
Figure 3.12. The input file type of the RBPERT tool ............................................ 107
Figure 3.13. A result for the network provided by the RBPERT tool for the first data
sample ..................................................................................................................... 109
Figure 3.14. A result for RBPERT network provided by the tool for the first data
sample ..................................................................................................................... 111
Figure 3.15. A result for experiment with the third data sample (distribution of Total
Duration of activity J) ............................................................................................. 111
Figure 3.16. A screenshot of tool BAIS ................................................................. 113
Figure 3.17. The result of the second experiment .................................................. 115
14
Introduction
Motivation
Projects in general always involve risks and project managers’ regular worries
are concerns about risks. In October 2008, the Hanoi Urban Railway Project Line
2A (Cat Linh-Ha Dong) was approved to be invested with the total budget of more
than 8.700 billion VND (552 million USD). Until now, the project’s investment had
almost doubled to 868 million USD. It was scheduled to be put into service in 2013
but until now the project remains incomplete1.
Software projects also have schedule risks, and as a consequence, budget or cost
risks. For example, the project on the Vietnamese National Population Database2
was approved to be invested in 2015 and was planned to be finished in two years
(2016 and 2017). However, the system can only be put into operations in February
2021. Another similar example is the project on Vietnamese National Public
Service Portal3 which was planned to come public in September 2016 but was only
opened since December 2019. As a matter of fact, the majority of software projects
the author has experienced in Vietnam are behind schedule (some of the projects
will be examined in Chapter 2 and Chapter 3).
Even in developed countries, software projects are facing ongoing problems.
For example, the project Universal Credit - the welfare payment system owned by
the Central Government of the United Kingdom - started in 2013. The project
schedule has slipped, with the final delivery date now expected to be 2021, although
the system is gradually being introduced. In 2013, only one of four planned pilot
sites went live on the originally scheduled date, and the pilot was restricted to
extremely simple cases4.
Many software projects have suffered from significant budget overruns together
with a series of delays, which cause either temporary issues or permanent failures.
For example, The Queensland Health Payroll System was launched in 2013 in what
could be considered one of the most spectacularly over budget projects in
Australian history, coming in at over 200 times the original budget. Besides, in spite
1
VnExpress (2019), “Ministry of Transport admits the mistakes on the Cat Linh-Ha Dong urban
railway project”, available online (in Vietnamese) at: https://vnexpress.net/bo-giao-thong-van-tai-thua-nhan-
sai-sot-trong-du-an-cat-linh-ha-dong-3988254.html
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, “List of failed and over-budget custom software projects”, Retrieved 20 September
2019, available online at: https://en.wikipedia.org/wiki/List_of_failed_and_overbudget_custom_software_-
projects
15
of promises that the new system would be fully automated, the new system required
a considerable amount of manual operation [1]. Another example for software
project permanent failure case is the project e-Borders for an advanced passenger
information programme which aimed to collect and store information on passengers
and crew entering and leaving the United Kingdom. Started in 2007, the project had
a series of delays and had to be cancelled in 2014 [2].
Some researches pointed out that most of the software projects (83.8%) are over
budget or behind schedule and 52.7% of software development projects deliver
software with fewer features than originally specified [3, 4]. Statistics also show
that 31.1% of development projects end up being cancelled or terminated
prematurely. Among those completed projects, only 61% of them satisfy originally
specified features and functions [5]. In the software industry, one of the greatest
challenges that development teams constantly face with is to keep the projects under
control in terms of budget and schedule (development time frame). The activities of
a software project are influenced by internal and external factors (from that project
organization) that make it uncertain whether the project will achieve its objectives.
The effect that this uncertainty has on the project’s goals is called risk [6]. In the
other words, risk is an event or an uncertain condition that, if it occurs, will have a
positive or negative effect on at least one of the project objectives [7]. In this thesis,
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).
The above situation raises an important question: how projects’ risks are
managed better in order to get rid of the temporary issues as well as preventing from
failure?
The purpose of project management is to lead the project to success. A
successful software project certainly relies on many factors (e.g. following
appropriate processes and tasks, managing risks properly etc.). Since risks are
inevitable in projects, risk management has become an important part of project
management. Although many researchers, experts and writers have proposed variety
of processes and techniques, project risk management (PRM) is still rapidly
evolving and handling risks in general projects as well as software projects remains
a challenge.
Concerning PRM, an important component is risk analysis which also known or
considered the same as risk quantification. Risk analysis attempts to measure risks
and their impacts on different project outcomes (i.e., time, cost, quality). Many
software projects fail since project managers mostly plan based on their experience
and there is a lack of scientific methods to support them. To overcome subjective
16
assessment based on development team’s experience, the team needs a quantitative
risk analysis method. Although various researches have proposed and examined a
range of processes and techniques and software project risk management is
continuously evolving, handling uncertainty in more and more complex real-world
projects remains a challenge.
Aside from that, project scheduling (a part of project planning – an early phase
of software development life cycle) is concerned with the techniques that can be
employed to manage the activities that need to be undertaken during the
development of a project. There are various techniques for project scheduling, from
simple and easily understandable ones such as Task List, Gantt Chart, Schedule
Network Analysis, to more complicated ones like Critical Path Method (CPM),
Program Evaluation and Review Technique (PERT), Monte-Carlo Simulation
(MCS) or Fuzzy Logic etc. [6, 8, 9, 10].
Traditional project scheduling under risk/uncertainty has attracted more
research and attention in the project management community. In some of the project
management literature in 1990s, “risk analysis” was equivalent to “the analysis of
risk on project plan” [11]. This thesis focuses on modelling risks in software project
time management (of course, it is indirectly related to other project outcomes which
are cost and quality). In other words, this thesis concentrates on quantitative risk
analysis in software project scheduling.
The earliest studies incorporating uncertainty/risk in project scheduling were in
the late 1950’s by Malcolm et al. [12] and Miller [13]. Since then, a variety of
techniques have been introduced, several tools have been developed, and many of
them are widely used throughout different industries. However, they often fail to
capture uncertainty properly and/or produce inaccurate, inconsistent and unreliable
results, especially when applied to software projects which have specifically
different attributes to other traditional projects.
Project uncertainty has several aspects of which not all can be categorized and
treated as risks. Several authors such as Ward and Chapman [14] argued that project
risk management should be focusing on managing uncertainty and its various
sources rather than emphasizing a set of possible events that might have bad
impacts on project performance (i.e., should be aware more about uncertain aspects
rather than fixed set of defined risks). However, since this thesis is about software
project, risks are considered and treated the same as uncertainty. Most of
quantitative techniques and methods in the current practice of project risk
management are based on the “Probability Impact” concept, which have certain
shortcomings in terms of risk analysis in project scheduling. More sophisticated
17
methods and techniques are needed to address as well as managing important
sources of uncertainty/ risk.
In software industry, project scheduling also has to deal with the fact that
resources such as human, time, technology and money are not always pre-
determined [15]. There are always risks in software project scheduling as well. In
most of the projects, the activity (from now on is considered the same as the “task”
in software projects) times are not known for certain. Therefore, they may be
assumed as random variables.
Furthermore, Bayesian Networks (BNs) have attracted a lot of attention in
different fields (construction, R&D etc.) as a powerful approach for decision
support under uncertainty. A BN is a graphical and mathematical model which
offers a powerful, general and flexible approach for modelling risk and uncertainty.
Its capability of modelling causality and also conditional dependency between
variables make it perfectly 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 of this thesis strongly believes that if we can identify and control
risks at early stages of software development project, we can significantly increase
the chance of success of the project. Since it is not easy (or impossible) to control
all of the problems or factors, this thesis only focus on time factors which related to
software development schedule.
Therefore, this thesis aims at introducing an advanced approach as well as
finding a better model for incorporating and managing uncertainty/risks in software
project scheduling. The idea is to use BNs to perform the well-known scheduling
techniques such as CPM, PERT etc. as well as modelling risk factors in software
project scheduling. The proposed approach enriches the benefits of scheduling
techniques by incorporating uncertainty/risk factors and adding the strong analytical
power of BNs.
Related work
There have been various researches on applying BNs in to general projects.
Khodakarami [15] applied BNs into general project scheduling with two case
studies of aircraft design and health and fitness center design and construction.
Erhan et al. [16] proposed a project control framework that integrates the project
uncertainty and associated risk factors into project control. Their framework is
based on earned value management (EVM), which is an effective and widely used
quantitative project control technique in practice. The framework uses hybrid BNs
18
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. Assoc. Prof. Dr. Huynh Quyet Thang
2. 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 referen-
cing practices of the discipline.
This thesis has not been submitted for any degree or other purposes.
Hanoi, April 29, 2021
PhD STUDENT ON BEHALF OF SUPERVISORS
Nguyễn Ngọc Tuấn Assoc. Prof. Dr. Huỳnh Quyết Thắng
1
Acknowledgements
First of all, I would like to express my sincere gratitude to my first supervisor
Assoc. Prof. Dr. 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 and to my son Nguyen Minh Huy. 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.1). 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.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.
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.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 2 and Chapter 3.
To get information on common risk factors in software project scheduling,
you can have a look at Section 2.3.
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.2).
The Chapter 3 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.
5
Content
Acknowledgements ............................................................................................... 2
Summary………….. ................................................................................................ 3
How to read this report? ...................................................................................... 5
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 .................................................................................................................. 21
Scientific and realistic meaning ............................................................................................... 21
Research hypothesis and methodology ................................................................................. 21
Expected results ........................................................................................................................ 22
Structure of the thesis ............................................................................................................... 22
Chapter 1. Overview of software project scheduling and risk
management.......................................................................................................... 24
1.1. Software project management and software project scheduling................................ 24
1.1.1. Software project management ................................................................................. 24
1.1.2. Software project scheduling ...................................................................................... 26
1.2. Software project scheduling methods and techniques ................................................ 27
1.2.1. Overview ...................................................................................................................... 27
1.2.2. Traditional scheduling methods and techniques ................................................... 27
1.2.3. Agile software project scheduling ............................................................................ 32
1.3. Risk management in software project scheduling ........................................................ 34
6
1.3.1. Overview of project risk management ..................................................................... 34
1.3.2. Project risk analysis ................................................................................................... 36
1.3.3. Unknown risks ............................................................................................................. 37
1.3.4. Risk aspects in software project scheduling .......................................................... 37
1.4. Bayesian Networks ............................................................................................................ 38
1.4.1. Bayesian approach vs classical approach.............................................................. 38
1.4.2. Probabilistic approach using Bayesian Networks.................................................. 39
1.4.3. Bayesian Inference..................................................................................................... 41
1.4.4. Bayesian Networks and project risk management ................................................ 42
1.5. Chapter remarks ................................................................................................................ 44
Chapter 2. Common risk factors and experiments on Bayesian
Networks and software project scheduling.................................................. 46
2.1. Application of Bayesian Networks into schedule risk management in software
project .......................................................................................................................................... 46
2.1.1. Common risk factors in software project management ........................................ 47
2.1.2. Bayesian Networks of risk factors ............................................................................ 48
2.1.3. Risk impact calculation .............................................................................................. 54
2.1.4. Bayesian Risk Impact algorithm ............................................................................... 57
2.1.5. Tool and experiments ................................................................................................ 58
2.1.6. Conclusion and contribution ..................................................................................... 63
2.2. Experiments on common risk factors ............................................................................. 64
2.2.1. Discovering the top ranked risk factors ................................................................... 64
2.2.2. Tool CKDY ................................................................................................................... 68
2.2.3. Experiments and analysis ......................................................................................... 70
2.2.4. Conclusion and contribution ..................................................................................... 74
2.3. Proposed common risk factors in software project scheduling................................... 75
2.3.1. The 19 common risk factors in traditional software project .................................. 75
2.3.2. The 19 common risk factors in agile software project .......................................... 77
7
2.3.3. Conclusion and contribution ..................................................................................... 79
2.4. Chapter remarks ................................................................................................................ 79
Chapter 3. Incorporation of Bayesian Networks into software project
scheduling techniques ....................................................................................... 81
3.1. Applying Bayesian Networks into specific software project development ................ 81
3.1.1. Introduction .................................................................................................................. 81
3.1.2. Optimized Agile iteration scheduling ....................................................................... 82
3.1.3. Optimization model for Agile software iteration ..................................................... 83
3.1.4. Tool and experimental results .................................................................................. 88
3.1.5. Conclusion and contribution ..................................................................................... 92
3.2. Incorporation of Bayesian Networks into CPM.............................................................. 92
3.2.1. The RBCPM Model .................................................................................................... 93
3.2.2. The RBCPM Method .................................................................................................. 96
3.2.3. Tool and experimental results .................................................................................. 97
3.2.4. Conclusion and contribution ................................................................................... 101
3.3. Incorporation of Bayesian Networks into PERT .......................................................... 102
3.3.1. Proposed model........................................................................................................ 102
3.3.2. Tool development and data collection................................................................... 106
3.3.3. Experimental results and analysis ......................................................................... 110
3.3.4. Conclusion and contribution ................................................................................... 112
3.4. Incorporation of Bayesian Networks into Agile software development scheduling 112
3.4.1. Incorporation of risk model ...................................................................................... 113
3.4.2. Tool and experimental results ................................................................................ 113
3.4.3. Conclusion and contribution ................................................................................... 115
3.5. Chapter remarks .............................................................................................................. 116
Conclusion .......................................................................................................... 117
What has been done ............................................................................................................... 117
8
Main contributions ................................................................................................................... 117
Limitations................................................................................................................................. 117
Further research ...................................................................................................................... 118
List of scientific publications ......................................................................... 119
References ........................................................................................................... 120
Index……… .......................................................................................................... 128
Appendix. Sub Bayesian Networks of the 24 risk factors ...................... 129
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 EVM Earned Value Management
11 FDD Feature-Driven Development
12 IDE Integrated Developer Environment
13 IGR Internally Generated Risk
14 LPT Longest Processing Time
15 MCS Monte Carlo Simulation
16 NPT Node Probability Table
17 PERT Program Evaluation and Review Technique
18 PI Probability-Impact
19 PMBOK Project Management Body of Knowledge
20 PMI Project Management Institute
21 PMP Project Management Professional
10
22 PRAM Project Risk Analysis and Management
23 PRM Project Risk Management
24 PRMP Project Risk Management Processes
25 PSPLIB Project Scheduling Problem Library
26 RAMP Risk Analysis and Management for Projects
27 RBCPM Risk Bayesian Critical Path Method
28 RBPERT Risk Bayesian PERT
29 RESCON RESource CONstrained
30 RMP Risk Management Processes
31 RUP Rational Unified Process
32 SPT Shortest Processing Time
33 XP Extreme Programming
11
List of tables
Table 1.1 Basic mathematical notations used for CPM calculation ......................... 28
Table 1.2. The differences between waterfall and agile projects ............................. 33
Table 1.3. The differences between Bayesian and Frequentist approaches ............. 38
Table 2.1. Hui and Liu’s common risk factors [9] ................................................... 47
Table 2.2. Risk factors in the phases ........................................................................ 61
Table 2.3. Risk factors, consequences and impact ................................................... 65
Table 2.4. Examples of risk factors and probabilities .............................................. 67
Table 2.5. Probability of risk factors in the whole project with data set 1 ............... 72
Table 2.6. Probability of risk factors in the whole project with data set 2 ............... 73
Table 2.7. Probability of the experimental risk factors to compare with MSBNx ... 74
Table 2.8. CKDY compared with MSBNx .............................................................. 74
Table 2.9. List of 19 common risk factors for software project scheduling ............ 76
Table 2.10. List of 5 risk factors for software project scheduling in Section 2.2 .... 77
Table 2.11. List of 19 risk factors in iteration scheduling ........................................ 78
Table 3.1. The first data sample ............................................................................... 89
Table 3.2. The probability table for tasks and resources .......................................... 90
Table 3.3. Risk factors analysis ................................................................................ 94
Table 3.4. Data sample 1 .......................................................................................... 98
Table 3.5. Data sample 2 .......................................................................................... 99
Table 3.6. Task attributes of the first data sample.................................................. 108
Table 3.7. Task attributes of the second data sample ............................................. 108
Table 3.8. Task attributes of the third data sample ................................................ 109
Table 3.9. The result for the first data sample ........................................................ 114
12
List of figures
Figure 1.1. Activities of project management according to PMBOK Guide. .......... 26
Figure 1.2. CPM parameters in an activity ............................................................... 29
Figure 1.3. An example of BN which represents a simple case ............................... 41
Figure 2.1. A sub BN for the risk factor “Staff experience shortage” ..................... 49
Figure 2.2. A sub BN for the risk factor “Low productivity” .................................. 49
Figure 2.3. A sub BN for the risk factor “Lack of client support” ........................... 50
Figure 2.4. A sub BN for the risk factor “Inaccurate cost estimating” .................... 50
Figure 2.5. A sub BN for the risk factor “Incapable project management” ............. 51
Figure 2.6. A sub BN for the risk factor “Lack of senior management commitment”
.................................................................................................................................. 52
Figure 2.7. A sub BN for the risk factor “Inadequate configuration control” .......... 52
Figure 2.8. A sub BN for the risk factor “Inaccurate metrics” ................................. 53
Figure 2.9. A sub BN for risk factor “Excessive reliance on a single process
improvement” ........................................................................................................... 53
Figure 2.10. The overall BN for software risk factors ............................................. 54
Figure 2.11. A simple example of Bayesian inference ............................................. 55
Figure 2.12. The three nodes of a simple-chain BN ................................................. 57
Figure 2.13. The graphical interface of the tool ....................................................... 59
Figure 2.14. Result of experiment 1 ......................................................................... 60
Figure 2.15. Results of the three experiments .......................................................... 62
Figure 2.16. Experimental results for Software Design phase ................................. 63
Figure 2.17. Sub BN 1 .............................................................................................. 66
Figure 2.18. Sub BN 2 .............................................................................................. 66
Figure 2.19. The overall BN model .......................................................................... 67
Figure 2.20. Experiment with j30 with the early start schedule ............................... 71
Figure 2.21. Activity joint in the file j301_1.rcp ...................................................... 71
Figure 2.22. Diagram of probabilities of finishing phase by phase ........................ 72
Figure 3.1. Home GUI of tool BAIS ........................................................................ 88
Figure 3.2. Gantt chart for SPT strategy................................................................... 90
Figure 3.3. A part of a BN for 19 risk factors .......................................................... 93
Figure 3.4. Task’s parameters and connection to other tasks. .................................. 96
Figure 3.5. A screenshot of RBCPM ........................................................................ 97
Figure 3.6. A result for experiment with data sample 1 ......................................... 100
Figure 3.7. A result for experiment with data sample 2 ......................................... 101
Figure 3.8. Bayesian Network for each activity ..................................................... 103
Figure 3.9. Risk integration network model into PERT scheduling ...................... 104
Figure 3.10. Process in improved RBPERT Model ............................................... 105
Figure 3.11. The input screen of the RBPERT tool ............................................... 106
13
Figure 3.12. The input file type of the RBPERT tool ............................................ 107
Figure 3.13. A result for the network provided by the RBPERT tool for the first data
sample ..................................................................................................................... 109
Figure 3.14. A result for RBPERT network provided by the tool for the first data
sample ..................................................................................................................... 111
Figure 3.15. A result for experiment with the third data sample (distribution of Total
Duration of activity J) ............................................................................................. 111
Figure 3.16. A screenshot of tool BAIS ................................................................. 113
Figure 3.17. The result of the second experiment .................................................. 115
14
Introduction
Motivation
Projects in general always involve risks and project managers’ regular worries
are concerns about risks. In October 2008, the Hanoi Urban Railway Project Line
2A (Cat Linh-Ha Dong) was approved to be invested with the total budget of more
than 8.700 billion VND (552 million USD). Until now, the project’s investment had
almost doubled to 868 million USD. It was scheduled to be put into service in 2013
but until now the project remains incomplete1.
Software projects also have schedule risks, and as a consequence, budget or cost
risks. For example, the project on the Vietnamese National Population Database2
was approved to be invested in 2015 and was planned to be finished in two years
(2016 and 2017). However, the system can only be put into operations in February
2021. Another similar example is the project on Vietnamese National Public
Service Portal3 which was planned to come public in September 2016 but was only
opened since December 2019. As a matter of fact, the majority of software projects
the author has experienced in Vietnam are behind schedule (some of the projects
will be examined in Chapter 2 and Chapter 3).
Even in developed countries, software projects are facing ongoing problems.
For example, the project Universal Credit - the welfare payment system owned by
the Central Government of the United Kingdom - started in 2013. The project
schedule has slipped, with the final delivery date now expected to be 2021, although
the system is gradually being introduced. In 2013, only one of four planned pilot
sites went live on the originally scheduled date, and the pilot was restricted to
extremely simple cases4.
Many software projects have suffered from significant budget overruns together
with a series of delays, which cause either temporary issues or permanent failures.
For example, The Queensland Health Payroll System was launched in 2013 in what
could be considered one of the most spectacularly over budget projects in
Australian history, coming in at over 200 times the original budget. Besides, in spite
1
VnExpress (2019), “Ministry of Transport admits the mistakes on the Cat Linh-Ha Dong urban
railway project”, available online (in Vietnamese) at: https://vnexpress.net/bo-giao-thong-van-tai-thua-nhan-
sai-sot-trong-du-an-cat-linh-ha-dong-3988254.html
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, “List of failed and over-budget custom software projects”, Retrieved 20 September
2019, available online at: https://en.wikipedia.org/wiki/List_of_failed_and_overbudget_custom_software_-
projects
15
of promises that the new system would be fully automated, the new system required
a considerable amount of manual operation [1]. Another example for software
project permanent failure case is the project e-Borders for an advanced passenger
information programme which aimed to collect and store information on passengers
and crew entering and leaving the United Kingdom. Started in 2007, the project had
a series of delays and had to be cancelled in 2014 [2].
Some researches pointed out that most of the software projects (83.8%) are over
budget or behind schedule and 52.7% of software development projects deliver
software with fewer features than originally specified [3, 4]. Statistics also show
that 31.1% of development projects end up being cancelled or terminated
prematurely. Among those completed projects, only 61% of them satisfy originally
specified features and functions [5]. In the software industry, one of the greatest
challenges that development teams constantly face with is to keep the projects under
control in terms of budget and schedule (development time frame). The activities of
a software project are influenced by internal and external factors (from that project
organization) that make it uncertain whether the project will achieve its objectives.
The effect that this uncertainty has on the project’s goals is called risk [6]. In the
other words, risk is an event or an uncertain condition that, if it occurs, will have a
positive or negative effect on at least one of the project objectives [7]. In this thesis,
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).
The above situation raises an important question: how projects’ risks are
managed better in order to get rid of the temporary issues as well as preventing from
failure?
The purpose of project management is to lead the project to success. A
successful software project certainly relies on many factors (e.g. following
appropriate processes and tasks, managing risks properly etc.). Since risks are
inevitable in projects, risk management has become an important part of project
management. Although many researchers, experts and writers have proposed variety
of processes and techniques, project risk management (PRM) is still rapidly
evolving and handling risks in general projects as well as software projects remains
a challenge.
Concerning PRM, an important component is risk analysis which also known or
considered the same as risk quantification. Risk analysis attempts to measure risks
and their impacts on different project outcomes (i.e., time, cost, quality). Many
software projects fail since project managers mostly plan based on their experience
and there is a lack of scientific methods to support them. To overcome subjective
16
assessment based on development team’s experience, the team needs a quantitative
risk analysis method. Although various researches have proposed and examined a
range of processes and techniques and software project risk management is
continuously evolving, handling uncertainty in more and more complex real-world
projects remains a challenge.
Aside from that, project scheduling (a part of project planning – an early phase
of software development life cycle) is concerned with the techniques that can be
employed to manage the activities that need to be undertaken during the
development of a project. There are various techniques for project scheduling, from
simple and easily understandable ones such as Task List, Gantt Chart, Schedule
Network Analysis, to more complicated ones like Critical Path Method (CPM),
Program Evaluation and Review Technique (PERT), Monte-Carlo Simulation
(MCS) or Fuzzy Logic etc. [6, 8, 9, 10].
Traditional project scheduling under risk/uncertainty has attracted more
research and attention in the project management community. In some of the project
management literature in 1990s, “risk analysis” was equivalent to “the analysis of
risk on project plan” [11]. This thesis focuses on modelling risks in software project
time management (of course, it is indirectly related to other project outcomes which
are cost and quality). In other words, this thesis concentrates on quantitative risk
analysis in software project scheduling.
The earliest studies incorporating uncertainty/risk in project scheduling were in
the late 1950’s by Malcolm et al. [12] and Miller [13]. Since then, a variety of
techniques have been introduced, several tools have been developed, and many of
them are widely used throughout different industries. However, they often fail to
capture uncertainty properly and/or produce inaccurate, inconsistent and unreliable
results, especially when applied to software projects which have specifically
different attributes to other traditional projects.
Project uncertainty has several aspects of which not all can be categorized and
treated as risks. Several authors such as Ward and Chapman [14] argued that project
risk management should be focusing on managing uncertainty and its various
sources rather than emphasizing a set of possible events that might have bad
impacts on project performance (i.e., should be aware more about uncertain aspects
rather than fixed set of defined risks). However, since this thesis is about software
project, risks are considered and treated the same as uncertainty. Most of
quantitative techniques and methods in the current practice of project risk
management are based on the “Probability Impact” concept, which have certain
shortcomings in terms of risk analysis in project scheduling. More sophisticated
17
methods and techniques are needed to address as well as managing important
sources of uncertainty/ risk.
In software industry, project scheduling also has to deal with the fact that
resources such as human, time, technology and money are not always pre-
determined [15]. There are always risks in software project scheduling as well. In
most of the projects, the activity (from now on is considered the same as the “task”
in software projects) times are not known for certain. Therefore, they may be
assumed as random variables.
Furthermore, Bayesian Networks (BNs) have attracted a lot of attention in
different fields (construction, R&D etc.) as a powerful approach for decision
support under uncertainty. A BN is a graphical and mathematical model which
offers a powerful, general and flexible approach for modelling risk and uncertainty.
Its capability of modelling causality and also conditional dependency between
variables make it perfectly 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 of this thesis strongly believes that if we can identify and control
risks at early stages of software development project, we can significantly increase
the chance of success of the project. Since it is not easy (or impossible) to control
all of the problems or factors, this thesis only focus on time factors which related to
software development schedule.
Therefore, this thesis aims at introducing an advanced approach as well as
finding a better model for incorporating and managing uncertainty/risks in software
project scheduling. The idea is to use BNs to perform the well-known scheduling
techniques such as CPM, PERT etc. as well as modelling risk factors in software
project scheduling. The proposed approach enriches the benefits of scheduling
techniques by incorporating uncertainty/risk factors and adding the strong analytical
power of BNs.
Related work
There have been various researches on applying BNs in to general projects.
Khodakarami [15] applied BNs into general project scheduling with two case
studies of aircraft design and health and fitness center design and construction.
Erhan et al. [16] proposed a project control framework that integrates the project
uncertainty and associated risk factors into project control. Their framework is
based on earned value management (EVM), which is an effective and widely used
quantitative project control technique in practice. The framework uses hybrid BNs
18