0% found this document useful (0 votes)
36 views33 pages

Symp AB

The document discusses using Bayesian networks for software effort estimation in iterative development projects. It proposes developing multiple Bayesian network models (M1-M6) to estimate effort over multiple iterations by learning from past project data and evidence. The objectives are to identify factors, develop network structures, estimate parameters, validate models and evolve the approach over several iterations of learning.

Uploaded by

Kashif Aziz Awan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views33 pages

Symp AB

The document discusses using Bayesian networks for software effort estimation in iterative development projects. It proposes developing multiple Bayesian network models (M1-M6) to estimate effort over multiple iterations by learning from past project data and evidence. The objectives are to identify factors, develop network structures, estimate parameters, validate models and evolve the approach over several iterations of learning.

Uploaded by

Kashif Aziz Awan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 33

Effort Estimation in Iterative Development: Learning using Bayesian Networks

Abou Bakar Nauman


(PhD Scholar CIIT, Islamabad) Assistant Professor Sarhad University of Science and IT, Peshawar, Pakistan

Outline
    

Introduction to Bayesian Networks Existing models in software engineering Research designs Software effort estimation Proposed model

Bayesian Network
Xn Xq

Bayesian Inference
 

Inference of probability distribution based on Likelihood The process to learn the posterior probability of a variable is inference
X2

X4

X5

X3

Bayesian Network


A network containing probability distribution of nodes, the posterior probability is calculated based on Bayesian inference.

X1

Inference Mechanism


Bucket Elimination
We start with a set V of tables, and whenever we wish to marginalize a variable X, we take from V all tables with X in their domains. Calculate the product of them, marginalize X out of it, and place the resulting table in V.
X B A Y|X

Inference algorithms


Joint Tree Algorithm


 

A large tree is developed Joint distribution calculated based on Bucket elimination JPD of first time slice t0 Then children of t1 are added Parent t0 is marginalized

Frontier Algorithm
  

 

Forward-Backward Pass Boyen-Koller Algorithm

Learning
Categories and Techniques Known Data Observable Maximum Likelihood Log likelihood Gaussian approximation MAP. Heuristic Search, greedy search, Monte Carlo methods, Best first search Scoring Partial EM (expectation maximization) Gradient ascent.

Structure

Unknown

Search + EM Hidden nodes.

Marginal likelihood, local criteria, relative posterior probability

Parameter Learning
   

Multiple Evidences Batch learning Adaptation Temporal Data


   

Kalman Filter Markov Models Hidden Markov Models Dynamic Bayesian Networks

Software Project Estimation and Plan


      

Intangible factors Virtual product Complexity Estimate >>> Plan Assessment >>> Tracking Re Estimate >>>> New Plan Uncertainty >>> Wrong Plan

Iterative and Incremental development


    

Mini Projects Interdependence Multiple work flows Project planning after each iteration Productivity

Curve of Uncertainty


The Ideal situation

Problem Identification

Software Effort Estimation


      

Multiple Process Cycles Uncertainty Historical data Organizational Data Expert Opinion Multiple Evidences Project Related Data

Research Question


How can we successfully apply the BBN approach to learn and estimate development effort in software projects that follow an Iterative and Incremental approach?

Research Objectives


Learning team productivity from completed iterations and using the learned information to predict for future can improve effort estimation in Iterative and Incremental development software development project. Bayesian Networks Provides the practical technique to estimate effort, incorporate both uncertainty and learning from past experience. Bayesian networks can be designed for effort estimation in Iterative software development using knowledge of the causal relationships between attributes.

Research Method


Structural Development


To identify the factors and develop a structural graph to show the dependencies among different factors.

Parameter Estimation


This step represents the quantitative component of a BN, which results in conditional probabilities, obtained via Expert Elicitation or automatically, which quantify the relationships between variables Test the real data of projects Implement in real time projects

Model Validation
 

Model Evolution
     

Not one model A series of models Each model is enhancement of earlier Different features of BN explored Variety of data M1, M2, M3, M4, M5, M6, MMMI

Proposed Modeling Approach


Sr # 1 2 3 4 5 6 7 8 9 10 Title Composition Structuring Project Level Estimate Evidence Recording Results Interpretation Results forwarding Unrolling Learning Project Scenarios Validation Objectives Identification of units of proposed model to be used in IID effort estimation model development. How different units of the model can be joined together. How project level estimates can be collected before start of project. How evidence of latest actual effort can be submitted in model How results from the model can be interpreted. How results from one time slice can be forwarded to next slices. The procedure to use multiple instances of basic model. Options to control the degree of learning from latest evidences. To explore how model behaves in different scenarios. To analyze capability of model to work in industrial project.

M1: A fuzzy logic and Classification Model

Proposed Model: M2

ISBSG data set, Productivity


Gamma Q-Q Plot of Productivity
120

Expected Gamma Value

100 80 60 40 20 0 0 20 40 60 80 100 120

Observed Value

Continuous/ Gamma Distribution

Proposed Model: M3
b1D  b 2 L  b3 A  b 4O  C ! w1D  wy ( w2 L  wx ( w3 A  w4O))  C

Results

MRE results
Sum MRE Bias M2-Mean M2-Median Model M3-Mean M3-Median Estimate Checker -100 -80 -60 Bias -40 -20 0 Sum MRE Bias

12.5 30

30

30

30

10.0 5 19 19 7.5 30 45 19 5 19 5

5 19

1 69

5 69 1 1 69 45 8 40 1 28 69 45 62

5.0 1 69 40 45 2.5 45

0.0

M2-Median

M2-Mean

Estimate Checker

M3-Mean

M3-Median

Proposed Model: M4

Proposed Model: M5

M6: One Iteration

MMMI: Project level

Publications
 

Abou Bakar Nauman, Open Source Based Generic Solution for E-Health and m-health in Pakistan: Concept Models and Research Roadmap , Accepted at ICOSST 2011(23-25 Dec), UET Lahore, Pakistan Abou Bakar Nauman, Software Effort Estimation Framework in Iterative and Incremental Development; Issues and Proposed Solution accepted at 3rd SAICON: International Conference on Management, Business Ethics and Economics (ICMBEE), December 28-29, 2011. Pearl-Continental Hotel Lahore, Pakistan

Summary
 

Benefits of Bayesian Networks Increased application is software engineering Need of multi-iteration estimation model Proposed model

You might also like