A Probabilistic Model for Predicting Software Development Effort

We use the naive Bayes model to forecast software effort. A causal model is developed from the literature, and a procedure to learn Bayesian prior and conditional probabilities is provided. Using a data set of 40 real-life software projects we test our model. Our results indicate that the probabilistic forecasting models allow managers to estimate joint probability distribution over different software effort estimates. A software project manager may use the joint probability distribution to develop a cumulative probability distribution, which in turn may help the manager estimate the uncertainty that the project effort may be greater than the estimated effort.

[1]  Leo Breiman,et al.  Classification and Regression Trees , 1984 .

[2]  Philip M. Johnson,et al.  Empirically Guided Software Effort Guesstimation , 2000, IEEE Softw..

[3]  Norman E. Fenton,et al.  Software Measurement: Uncertainty and Causal Modeling , 2002, IEEE Softw..

[4]  Luiz A. Laranjeira Software Size Estimation of Object-Oriented Systems , 1990, IEEE Trans. Software Eng..

[5]  Barry W. Boehm,et al.  Bayesian Analysis of Empirical Software Engineering Cost Models , 1999, IEEE Trans. Software Eng..

[6]  Paolo Nesi,et al.  Effort estimation and prediction of object-oriented systems , 1998, J. Syst. Softw..

[7]  C. Jones,et al.  By popular demand: Software estimating rules of thumb , 1996, Computer.

[8]  Richard E. Fairley Recent advances in software estimation techniques , 1992, International Conference on Software Engineering.

[9]  Norman E. Fenton,et al.  Software metrics: successes, failures and new directions , 1999, J. Syst. Softw..

[10]  Bradford K. Clark Quantifying the effects of process improvement on effort , 2000 .

[11]  Parag C. Pendharkar,et al.  An exploratory study of object-oriented software component size determinants and the application of regression tree forecasting models , 2004, Inf. Manag..

[12]  Judea Pearl,et al.  Chapter 2 – BAYESIAN INFERENCE , 1988 .

[13]  Rajiv D. Banker,et al.  A Field Study of Scale Economies in Software Maintenance , 1997 .

[14]  William Marsh,et al.  Making resource decisions for software projects , 2004, Proceedings. 26th International Conference on Software Engineering.

[15]  Barry W. Boehm,et al.  Disaggregating and Calibrating the CASE Tool Variable in COCOMO II , 2002, IEEE Trans. Software Eng..

[16]  Philip S. Yu,et al.  Data Mining: An Overview from a Database Perspective , 1996, IEEE Trans. Knowl. Data Eng..

[17]  Siddhartha Bhattacharyya,et al.  Inductive, Evolutionary, and Neural Computing Techniques for Discrimination: A Comparative Study* , 1998 .

[18]  Magne Jørgensen,et al.  A review of studies on expert estimation of software development effort , 2004, J. Syst. Softw..

[19]  Judea Pearl,et al.  Probabilistic reasoning in intelligent systems - networks of plausible inference , 1991, Morgan Kaufmann series in representation and reasoning.

[20]  Colin J Burgess,et al.  Can genetic programming improve software effort estimation? A comparative evaluation , 2001, Inf. Softw. Technol..

[21]  John Moses Learning how to improve effort estimation in small software development companies , 2000, Proceedings 24th Annual International Computer Software and Applications Conference. COMPSAC2000.

[22]  Thomas L. Saaty,et al.  Diagnosis with Dependent Symptoms: Bayes Theorem and the Analytic Hierarchy Process , 1998, Oper. Res..

[23]  Ioannis Stamelos,et al.  On the use of Bayesian belief networks for the prediction of software productivity , 2003, Inf. Softw. Technol..

[24]  Qing Hu,et al.  Software Cost Estimation Using Economic Production Models , 1998, J. Manag. Inf. Syst..

[25]  David Heckerman,et al.  Bayesian Networks for Data Mining , 2004, Data Mining and Knowledge Discovery.

[26]  Girish H. Subramanian,et al.  An Examination of Some Software Development Effort and Productivity Determinants in ICASE Tool Projects , 1996, J. Manag. Inf. Syst..

[27]  Olli Varis,et al.  A Belief Network Approach to Optimization and Parameter Estimation: Application to Resource and Environmental Management , 1998, Artif. Intell..

[28]  Norman E. Fenton,et al.  Software metrics: roadmap , 2000, ICSE '00.

[29]  Karen J. Pettingell,et al.  Measuring Productivity of Software Projects: A Data Envelopment Analysis Approach , 1996 .

[30]  Earl Chrysler,et al.  Some basic determinants of computer programming productivity , 1978, CACM.

[31]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[32]  A. S. M. Sajeev,et al.  A Vector-Based Approach to Software Size Measurement and Effort Estimation , 2001, IEEE Trans. Software Eng..

[33]  Parag C. Pendharkar,et al.  Connectionist Models for Learning, Discovering, and Forecasting Software Effort: An Empirical Study , 2002, J. Comput. Inf. Syst..

[34]  Barry W. Boehm,et al.  Cost models for future software life cycle processes: COCOMO 2.0 , 1995, Ann. Softw. Eng..

[35]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[36]  Stephen G. MacDonell,et al.  Factors systematically associated with errors in subjective estimates of software development effort: the stability of expert judgment , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).