Issue No.01 - January/February (2009 vol.35)
pp: 124-137
Peter Hearty , Queen Mary University of London-Computer, London
Norman Fenton , Queen Mary University of London-Computer, London
David Marquez , Queen Mary University of London-Computer, London
Martin Neil , Queen Mary University of London-Computer, London
Bayesian networks, which can combine sparse data, prior assumptions and expert judgment into a single causal model, have already been used to build software effort prediction models. We present such a model of an Extreme Programming environment and show how it can learn from project data in order to make quantitative effort predictions and risk assessments without requiring any additional metrics collection program. The model's predictions are validated against a real world industrial project, with which they are in good agreement.
extreme programming, Bayesian networks, causal models, risk assessment
Peter Hearty, Norman Fenton, David Marquez, Martin Neil, "Predicting Project Velocity in XP Using a Learning Dynamic Bayesian Network Model", IEEE Transactions on Software Engineering, vol.35, no. 1, pp. 124-137, January/February 2009, doi:10.1109/TSE.2008.76
[1] F.V. Jensen, Bayesian Networks and Decision Graphs. Springer-Verlag, 2001.
[2] F.P. Brooks, The Mythical Man-Month: Essays on Software Engineering, second ed. Addison Wesley, 1995.
[3] AgenaRisk User Manual, Agena,, 2008.
[4] Projects/exdecidexp_model.html, 2007.
[5] L. Williams, A. Shukla, and A.I. Antón, “An Initial Exploration of the Relationship between Pair Programming and Brooks' Law,” Proc. Agile Development Conf., 2004.
[6] S.L. Lauritzen and D.J. Spiegelhalter, “Local Computations with Probabilities on Graphical Structures and Their Application to Expert Systems (with Discussion),” J. Royal Statistical Soc. Series B, vol. 50, no. 2, pp. 157-224, 1988.
[7] A. Ahmed, M.M. Fraz, and F.A. Zahid, “Some Results of Experimentation with Extreme Programming Paradigm,” Proc. Seventh Int'l Multi Topic Conf., pp. 387-390, 2003.
[8] P. Abrahamsson and J. Koskela, “Extreme Programming: A Survey of Empirical Data from a Controlled Case Study,” Proc. Int'l Symp. Empirical Software Eng., pp. 73-82, 2004.
[9] K.P. Murphy, “Dynamic Bayesian Networks: Representation, Inference and Learning,” PhD thesis, Univ. of California, Berkeley, 2002.
[10] M. Korkala, P. Abrahamsson, and P. Kyllönen, “A Case Study on the Impact of Customer Communication on Defects in Agile Software Development,” Proc. AGILE Conf., 2006.
[11] N.E. Fenton and M. Neil, “A Critique of Software Defect Prediction Models,” IEEE Trans. Software Eng., vol. 25, no. 4, pp.675-689, July/Aug.. 1999.
[12] N.E. Fenton, M. Neil, and J.G. Caballero, “Using Ranked Nodes to Model Qualitative Judgements in Bayesian Networks,” IEEE Trans. Knowledge and Data Eng., vol. 19, no. 10, pp. 1420-1432, Oct. 2007.
[13] T. Little, “Schedule Estimation and Uncertainty Surrounding the Cone of Uncertainty,” IEEE Software, May/June 2006.
[14] M. Neil, P. Krause, and N.E. Fenton, Software Quality Prediction Using Bayesian Networks in Software Engineering with Computational Intelligence, T.M. Khoshgoftaar, ed., Chapter 6. Kluwer, 2003.
[15] N.E. Fenton, W. Marsh, M. Neil, P. Cates, S. Forey, and T. Tailor, “Making Resource Decisions for Software Projects,” Proc. 26th Int'l Conf. Software Eng., 2004 ISBN 0-7695-2163-0, 397-406.
[16] M. Neil and P. Fenton, “Improved Software Defect Prediction,” Proc. 10th European SEPG Conf., 2005.
[17] S. Bibi and I. Stamelos, “Software Process Modeling with Bayesian Belief Networks,” Proc. 10th Int'l Software Metrics Symp., Sept. 2004.
[18] D.A. Wooff, M. Goldstein, and F.P.A. Coolen, “Bayesian Graphical Models for Software Testing,” IEEE Trans. Software Eng., vol. 28, no. 5, pp. 510-525, May 2002.
[19] L. Williams and H. Erdogmus, “On the Economic Feasibility of Pair Programming,” Proc. ICSE Int'l Workshop Economics-Driven Software Eng. Research, May 2002.
[20] S.A. Ross, Fundamentals of Corporate Finance. Irwin/McGraw-Hill, 1996.
[21] K. Beck and A. Andres, Extreme Programming Explained, Embrace Change, second ed. Addison-Wesley Professional, Nov. 2004.
[22] K. Beck, Extreme Programming Explained, Embrace Change, first ed. Addison-Wesley Professional, 2000.
[23] R. Jeffries, A. Anderson, and C. Hendrickson, Extreme Programming Installed, , first ed. Addison-Wesley Professional, 2001.
[24] A. Cockburn and L. Williams, “The Costs and Benefits of Pair Programming,” Proc. Extreme Programming and Flexible Processes in Software Eng., June 2000.
[25] J. Nosek, “The Case for Collaborative Programming,” Comm. ACM, vol. 41, no. 3, pp. 105-108, Mar. 1998.
[26] L. Williams, R. Kessler, W. Cunningham, and R. Jeffries, “Strengthening the Case for Pair-Programming,” IEEE Software, pp. 19-25, July/Aug. 2000.
[27] F. Padberg and M. Müller, “Analyzing the Cost and Benefit of Pair Programming,” Proc. Ninth Int'l Software Metrics Symp., 2003.
[28] V. Misic, H. Gevaert, and M. Rennie, “Extreme Dynamics: Modelling the Extreme Programming Software Development Process,” Proc. Workshop Empirical Evaluation of Agile Processes, XP/Agile Universe, 2002.
[29] T. Abdel-Hamid, “The Dynamics of Software Projects Staffing: A System Dynamics Based Simulation Approach,” IEEE Trans. Software Eng., vol. 15, no. 2, pp. 109-119, Feb. 1989.
[30] S. Kuppuswami, K. Vivekanandan, and P. Rodrigues, “A System Dynamics Simulation Model to Find the Effects of XP on Cost of Change Curve,” Proc. Fourth Int'l Conf. Extreme Programming and Agile Processes in Software Eng., May 2003.
[31] V. Lepar and P.P. Shenoy, “A Comparison of Lauritzen-Spiegelhalter, Hugin, and Shenoy-Shafer Architectures for Computing Marginals of Probability Distributions,” Proc. 14th Conf. Uncertainty in Artificial Intelligence, 1998.
[32] Agile Manifesto, http:/, accessed May 2007.
[33] A. Cau, G. Concas, M. Melis, and I. Turnu, “Evaluate XP Effectiveness Using Simulation Modeling,” Proc. Sixth Int'l Conf. Extreme Programming and Agile Processes in Software Eng., June 2005.
[34] B. George and L. Williams, “An Initial Investigation of Test-Driven Development in Industry,” Proc. ACM Symp. Applied Computing, pp. 1135-1139, 2003.
[35] H. Wang, F. Peng, C. Zhang, and A. Pietschker, “Software Project Level Estimation Model Framework Based on Bayesian Belief Networks,” Proc. Sixth Int'l Conf. Quality Software, 2006.
[36] L. Stamelos, P. Angelis, and E. Dimou, “On the Use of Bayesian Belief Networks for the Prediction of Software Productivity,” Information and Software Technology, vol. 45, no. 1, pp. 51-60, 2003.
[37] A. Albrecht and J. Gaffney, “Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation,” IEEE Trans. Software Eng., vol. 9, no. 6, pp. 639-648, 1983.
[38] M. Cohn, Agile Estimating and Planning. Prentice Hall, 2005.
[39] M. Jørgensen and M.J. Shepperd, “A Systematic Review of Software Development Cost Estimation Studies,” IEEE Trans. Software Eng., vol. 33, no. 1, pp. 33-53, Jan. 2007.
[40] K. Moløkken and M. Jørgensen, “A Review of Surveys on Software Effort Estimation,” Proc. Int'l Symp. Empirical Software Eng., pp. 223-231, 2003.
[41] M. Jørgensen and D.I.K. Sjøberg, “An Effort Prediction Interval Approach Based on the Empirical Distribution of Previous Estimation Accuracy,” Information and Software Technology, vol. 45, no. 3, pp. 123-136, 2003.