Tải bản đầy đủ (.pdf) (141 trang)

Risk management in software project scheduling using Bayesian networks167

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.39 MB, 141 trang )

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

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 incomplete 1.

Software projects also have schedule risks, and as a consequence, budget or cost
risks. For example, the project on the Vietnamese National Population Database 2
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 cases 4.
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: />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: />
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 predetermined [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


to enhance EVM with the ability to compute the uncertainty associated with its
parameters and risk factors, making it practical for construction projects. Ali et al.
[17] combined Monte Carlo Simulation and Bayesian Networks methods to present
a structure for assessing the aggregated impact of risks on the completion time of a
construction project. Lee and Shin [18] proposed an application of BNs into risk
management of ship building project and proposed 26 risks. Sharma and Chanda
[19] developed a BN model for prediction of R&D project success which also
assesses based on R&D project risk factors. Khodakarami et al. [20] also examined
an approach to generate project schedules that incorporates risk, uncertainty, and
causality using BNs. Their model empowered the traditional CPM to handle
uncertainty, and they also provided explanatory analysis to elicit, represent, and
manage different sources of uncertainty in project planning. Fenton and Neil [21]
introduced AgenaRisk as a probabilistic tool based on BNs; Chang, Yu, and Cheng
[22] proposed a risk-based Critical Path Scheduling Method based on 2 risk
categories and 7 risk levels which applied into construction projects.
Regarding risk factors in software projects, Hui and Liu [5] selected 24 risk
factors that may cause potential impacts on (the whole) software project and applied
BNs properties in the calculation of impact in their project risk model. Kumar and
Yadav [23] considered quantitative features and causal relationships among risk
factors in software projects. They introduced a probabilistic approach to assess risks
in software projects as well as proposing a list of 27 risk factors (in software
projects). However, they analysed risks for the whole software projects and did not
focus on the scheduling and planning phases which would decide the success of
projects. Adjusting Kumar and Yadav’s method, this thesis proposes the list of 5
most crucial risk factors as well as building the tool CKDY to examine risks in

software scheduling (Section 2.2).
There have been some other researches on BNs and software risks’ analysis. Hu
et al. [24] studied causality analysis among risk factors and project outcomes for
software development projects. For this purpose, they proposed a modelling
framework based on BNs to deal with causality constraints in risk analysis. The
developed framework can be used for discovering new causal relationships and
validating existing relationships among risk factors and project outcomes. Anthony
et al. [25] proposed a risk assessment model for decision-making in software
management which consists of processes and component of risk assessment in three
groups: operational risks, technical risks and strategic risks. Rai et al. [26] believed
that managing projects is managing risks and identified 43 risk indicators in Agile
Software Development.
19


One notable research is from Szoke Akos’ PhD dissertation in 2014 which
proposed an optimized algorithm for agile software project scheduling [27].
As can be seen from literature review, much research on software risk analysis
focuses on finding out the relationship risk factors and software outcomes, but lack
of a quantitative approach and causal relationship between risk factors [5, 23, 28,
29]. Some other researches pay attention to define the quantitative approach and the
causal relationship between risk factors and assess risks for the whole software
project [30, 31] but does not pay enough attention to model risk factors from the
scheduling (in the planning) phase – the phase decides the failure or success of the
project later on. To quantify uncertainty, Jefferson et al. [32] apply Action Research
to develop a model that takes into account the relationships of dependencies and
interdependence that exist between the sources of risks and uncertainties in software
projects. As a result, their work contributes with the practice of risk and uncertainty
management in software projects.
J. Yong and Z. Zhigang [33] proposed a PERT Bayesian Network (PERTBN)

model with the modelling methodology and the conditional probability calculation
method of different kinds of procedure arrangement (single-chain, centralized,
distributed) and stated that with PERTBN model, the effectiveness of the project
schedule control and optimization are ensured. However, the research did not
examine more in-depth on the risk factors or other specific software features that
can have impacts on the project schedule.
In addition, there is always a need for properly schedule control in software
projects to determine the instant status of the schedule, to know if the schedule has
changed, and to embrace changes when they occur. In order to do that, influential
factors that cause schedule changes need to be carefully considered.
In summary, current researches related to this thesis are either on risk
management or assessment for the whole software project or for other project
(construction, building, R&D etc.) scheduling. There is a need of probabilistic
method on risk management in software project scheduling as well as examining
deeper the risk attributes of software project scheduling.

Research scope
The research is about software projects (or software development projects),
having common features and also specific features in comparison to other type of
projects (such as construction projects, R&D projects etc.). Unfortunately, there
have been only a few good researches on applying probabilistic methods on
software development projects. Therefore, this method first has a literature review
20


on common projects to look for approaches applied for them, and after that
proposes the approach applied for software projects.
The scope of this research is on risk management in software project
scheduling. This is quantitative risk management which concerns about risks
affecting project schedule (or project time frame). In terms of project scheduling

techniques, this thesis focuses on the most popular techniques such as CPM, PERT
for traditional software development projects, as well as Agile software project
scheduling.

Research objectives
The main objectives of this research are:
1) To find out a quantitative method to better assess and analyse risks in
software project scheduling. In order to achieve this objective, the research has to
answer to following questions: what are the risks’ attributes of software project
scheduling? How to manage risks in software project scheduling better?
In other words, the research aims at analyzing and modelling risks in software
project scheduling.
2) To find out a probabilistic method to improve well-known software project
scheduling techniques, including both techniques for traditional software scheduling
and agile software scheduling.
The proposed methods and models would enhance risk management process by
a quantitative assessment of risks impact on software project scheduling. If we
apply this model and method in practice, the author of this thesis expect that it
would help predict, monitor project schedule better as well as making appropriate
decisions.

Scientific and realistic meaning
The proposed methods and model would enhance risk management process by a
quantitative assessment of risks impact on software project scheduling.
If we apply this model and method in practice, it would help predict, monitor
project schedule better as well as making appropriate decisions.

Research hypothesis and methodology
The hypothesis of this thesis is that it is possible to use BNs to quantify
uncertainty in software project scheduling and improve software project risk

assessment.
21


Since there is very limited research on this topic, the research methodology
comprises a literature reviews from general project management to get the relevant
ideas for software project management. Firstly, a literature reviews to investigate
the current state of project scheduling under uncertainty which determines the need,
scope and objectives of the new approach. Secondly, a literature review follows on
the background, theory and application of BNs. This provides the conceptual and
the fundamental background for the new approach.
The research also examines the features of software projects, both in waterfall
model and agile software development model. In order to handle risks in software
project scheduling, the common risk factors are also needed to be examined.
Within the research, tools are built to validate the models and help software
project managers in assessing risks and making appropriate decisions.

Expected results
Following the above methodology, the author expects to:
1) Apply Bayesian Networks to develop an algorithm and tool to assess the
impacts of risks and hence proposes common risk factors in software project
scheduling.
2) Apply Bayesian Networks to develop a probabilistic approach to enhance the
common scheduling techniques (for both traditional software development and agile
software development) in terms of risk management and predictability.

Structure of the thesis
An overview of the main chapters is as follows:
Chapter 1 briefly reviews software project scheduling and software project risk
management process and explores the currently popular techniques in project

scheduling.
Chapter 2 consists of initial attempts of applying BNs into risk management in
software project scheduling as well as experiments on common risk factors in
software project scheduling. 19 common risk factors for both traditional software
development projects and agile software projects are proposed.
Chapter 3 incorporates BNs into popular software project scheduling techniques, namely CPM, PERT and agile software scheduling. BNs are also applied in
examining the relationships among risk factors proposed in Chapter 2.

22


The last section Conclusion concludes the thesis and points the way forward for
future research.
The main contributions and results of the research: 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, with the examination of the model of 19
common risk factors. 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.

23



×