27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Investigating the use of Bayesian networks as a<br />

support tool for monitoring software projects<br />

Fábio Pittoli 1 , Abraham L. R. de Sousa 1, 2<br />

1 Centro Universitário La Salle - Unilasalle<br />

Canoas, Brazil<br />

{fabio.pittoli@gmail.com, rabelo@unilasalle.edu.br}<br />

Abstract— The monitoring of software development is one of the<br />

most important activities of software projects management. In<br />

this context, this paper proposes a Bayesian approach integrated<br />

with a software process management environment. The aim is to<br />

investigate how this probabilistic approach can be used for<br />

projects monitoring. Preliminary results indicate that the use of<br />

Bayesian networks brings the power of quantitative and<br />

qualitative evaluation of some common scenarios of project<br />

management, leading to the manager a greater power of decision<br />

making.<br />

Software Development Process; Bayesian Network; Project<br />

Management<br />

I. INTRODUCTION<br />

One of the main challenges of any project manager is trying<br />

to ensure that software development project will be concluded<br />

within the constraints of time, cost, scope, and quality.<br />

Establishing these constraints means working with estimates.<br />

But the software development is an inherently uncertain<br />

endeavor, because there is no way to ensure that during the<br />

progress of the project delays will not occur, will not lack<br />

resources, or the scope will not change. Within this context of<br />

reasoning under uncertainty arise the Bayesian networks<br />

[1][2][3] that are used in situations where there are causal<br />

relations, but our understanding of what is really happening is<br />

incomplete, requiring probabilistic description for a better<br />

understanding. This type of network can be used for different<br />

types of reasoning, as predictive analysis, to investigate the<br />

impact of changes (cause and effect), and support decisionmaking.<br />

The main goal of this paper is to s how the<br />

preliminaries results of a study that aims to integrate an<br />

environment for project management with Bayesian networks<br />

during the monitoring of software development projects. In this<br />

sense, the manager interacts with a Bayesian model to identify<br />

potential behaviors of the project and thereafter, decisions are<br />

made.<br />

II. THEORETICAL GROUNDING<br />

Estimated time and cost development is an activity that<br />

requires attention and that has great influence in the process of<br />

software development. It’s the estimation definition which<br />

ensures that a project will succeed or not during its execution.<br />

Effort estimates are useful for clients and developers. [5].<br />

Based on these estimates, the organization that wants to hire<br />

Daltro J Nunes 2<br />

2 Instituto de Informática<br />

Universidade Federal do Rio Grande do Sul - UFRGS<br />

Porto Alegre, Brazil<br />

{rabelo, daltro@inf.ufrgs.br}<br />

the project can assess and monitor the implementation costs,<br />

evaluate proposals, and develop realistic budgets and<br />

schedules.<br />

Whichever method you choose to run estimates, it is always<br />

important to observe that the estimation process is a complex<br />

domain where the causal relationship among factors are nondeterministic<br />

and with an inherently uncertain nature [6]. For<br />

example: we can assume that there is a cl ear relationship<br />

between development effort and team experience, and that<br />

when team experience increases, the effort decreases, although,<br />

there are no concrete data proving that. So, would be correct to<br />

say that handle estimates, necessarily, result in dealing with<br />

uncertainties.<br />

A. Bayesian Networks<br />

Bayesian networks (BN) were developed in the early ‘80s<br />

to facilitate the task of predicting and diagnosing in Artificial<br />

Intelligence (AI) systems [1]. The name Bayesian Network<br />

derives from the use of the mathematical formula for the<br />

calculation of probabilities established in 1763 by Thomas<br />

Bayes. According to [2], the BN allow us to express complex<br />

cause-effect relationships based on the problem investigated.<br />

The graphical representation of a Bay esian network is<br />

composed of nodes that represent random variables that assume<br />

discrete values or continuous. The arches represent the causal<br />

relationships among nodes. For example, we can consider a<br />

classic case of BN presented by [7] about a new burglar alarm.<br />

This alarm is very reliable; however, it can also trigger if an<br />

earthquake occurs. Two neighbors, John and Mary, pledged to<br />

call if the alarm is ringing. John always calls when he hears the<br />

alarm, but, sometimes confuses the alarm with the phone and<br />

call also in these cases. Maria, however, likes to listen to loud<br />

music and sometimes does not hear the alarm. Fig. 1 shows the<br />

defined the network topology to this case and tables of<br />

conditional probabilities to each node. This form of<br />

representation can be used to represent discrete variables or the<br />

continuous variables. Each of the lines in the table contains the<br />

conditional probability for each conditional case parent nodes.<br />

A conditional case represents a possible combination of values<br />

for the parent nodes [8].<br />

B. Related Work<br />

Within several studies that use BN to support software<br />

process development, we tried to divide the references among<br />

570

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!