# Advanced Bayesian Network for Task Effort Estimation in Agile Software Development
## 2 Related Works  
In recent years, the application of methods based on Artificial Intelligence (AI) in Software Effort Estimation (SEE) has increased [22; 23].  
In 2017, [PERSON] et al. [21] conducted a literature search on the use of Bayesian networks for effort estimation in agile software development projects. This search has resulted in a small number of papers.  
A search for new literature resulted in several new papers. [PERSON] et al. [24] presented an improved version of their BN model for assessing the quality of the software process in Scrum projects. A comparison of old and improved versions, for ten different scenarios, proved the improvement in the model, so that the BN model adequately represented Scrum projects from the Scrum masters' point of view. The model was built according to an agile approach and can be adapted to any Scrum team.  
[PERSON] [25] proposed a BN model for effort prediction in agile projects. Based on the literature, twenty-one influencing factors were identified and classified into two main categories. The relationships between those factors were determined based on discussions with developers and literature searches. The model has not been validated.  
Several studies have used BN models to evaluate user stories in a Scrum context. [PERSON] and [PERSON] [26] developed a model to predict the user story realization effort. Seven machine learning algorithms, including BN, were applied to a database with 503 user stories. None of these algorithms consistently outperformed the others, so the authors developed an ensemble-based algorithm, resulting in better prediction. The algorithm was validated on two projects' data from a database. [PERSON] et al. [27] proposed a BN model whose nodes represented factors for assessing the complexity of a user story. The weight factors of the edges were determined based on the experts' judgment. The model was intended for the use of inexperienced teams to help them estimate the required effort more easily. Another BN model was used to predict the user story's effort [28]. That model was based on narrative texts. Further on, a BN model proposed by [29] could be useful for helping novice developers to estimate the user story's complexity. Although Planning Poker is a commonly used estimation technique in Scrum projects, for novice developers, it is not an easy task to estimate a user story's complexity and importance, so the BN model could be used instead.  
The sizes of the mentioned BN models vary: some are relatively large [24; 25], while others are relatively small [30; 31]. Dynamic BN models are usually smaller, but they are unable to predict effort in the first iteration. The practical application of BN models in effort estimation is a motivation for this research, so the target is to create a model that has a satisfactory accuracy with a small set of input data and that can be used as early as possible (including project's first iteration). Respectable literature shows that early estimates range from 60% to 160% [15], or even from 25% to 400% [18] of the final result.  
To summarize, the existing BN models do not estimate task effort. In addition, none of the above described models meet all the following requirements:  
* Suitability for agile development, regardless of used agile methods and/or practices.
* Minimal set of input parameters, provided that the method predicts with at least 75% accuracy.
* Possibility of using the BN model at the start of the project.
* Validation based on larger sample size (not just a few samples).  
The above discussion shows that a small number of studies explore the use of Bayesian networks for effort estimation in agile projects, and that the results of most of these studies have not been validated in practice.