The optimization of success probability for software projects using genetic algorithms

The software development process is usually affected by many risk factors that may cause the loss of control and failure, thus which need to be identified and mitigated by project managers. Software development companies are currently improving their process by adopting internationally accepted practices, with the aim of avoiding risks and demonstrating the quality of their work. This paper aims to develop a method to identify which risk factors are more influential in determining project outcome. This method must also propose a cost effective investment of project resources to improve the probability of project success. To achieve these aims, we use the probability of success relative to cost to calculate the efficiency of the probable project outcome. The definition of efficiency used in this paper was proposed by researchers in the field of education. We then use this efficiency as the fitness function in an optimization technique based on genetic algorithms. This method maximizes the success probability output of a prediction model relative to cost. The optimization method was tested with several software risk prediction models that have been developed based on the literature and using data from a survey which collected information from in-house and outsourced software development projects in the Chilean software industry. These models predict the probability of success of a project based on the activities undertaken by the project manager and development team. The results show that the proposed method is very useful to identify those activities needing greater allocation of resources, and which of these will have a higher impact on the projects success probability. Therefore using the measure of efficiency has allowed a modular approach to identify those activities in software development on which to focus the project's limited resources to improve its probability of success. The genetic algorithm and the measure of efficiency presented in this paper permit model independence, in both prediction of success and cost evaluation.

[1]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007, IEEE Transactions on Software Engineering.

[2]  Dimitrios Gunopulos,et al.  Feature selection for the naive bayesian classifier using decision trees , 2003, Appl. Artif. Intell..

[3]  June M. Verner,et al.  In-house software development: what project management practices lead to success? , 2005, IEEE Software.

[4]  June M. Verner,et al.  Why did your project fail? , 2009, Commun. ACM.

[5]  Stuart Anderson,et al.  Requirements Evolution from Process to Product Oriented Management , 2001, PROFES.

[6]  June M. Verner,et al.  In the 25 years since The Mythical Man-Month what have we learned about project management? , 1999, Inf. Softw. Technol..

[7]  Qinbao Song,et al.  Missing Data Imputation Techniques , 2007, Int. J. Bus. Intell. Data Min..

[8]  Dr. Zbigniew Michalewicz,et al.  How to Solve It: Modern Heuristics , 2004 .

[9]  John Wateridge,et al.  IT projects: a basis for success , 1995 .

[10]  Paul Sparrow,et al.  Strategy and cognition: understanding the role of management knowledge structures, organizational memory and information overload , 1999 .

[11]  C. A. Coello Coello,et al.  A Comprehensive Survey of Evolutionary-Based Multiobjective Optimization Techniques , 1999, Knowledge and Information Systems.

[12]  Steve McConnell The Software Manager's Toolkit , 2000 .

[13]  Kurt R. Linberg Software developer perceptions about software project failure: a case study , 1999, J. Syst. Softw..

[14]  Elaine M. Hall,et al.  Managing Risk: Methods for Software Systems Development , 1998 .

[15]  David Gefen,et al.  What do software practitioners really think about project success: an exploratory study , 2005, J. Syst. Softw..

[16]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[17]  Roger S. Pressman,et al.  Manager: Fear of Trying - The Plight of Rookie Project Managers , 1998, IEEE Softw..

[18]  Fred G. W. C. Paas,et al.  The Efficiency of Instructional Conditions: An Approach to Combine Mental Effort and Performance Measures , 1992 .

[19]  Jr. Frederick P. Brooks,et al.  The Mythical Man-Month: Essays on Softw , 1978 .

[20]  Steve McConnell,et al.  Sitting on the Suitcase , 2000 .

[21]  Yadran Eterovic,et al.  Adopting the SW-CMM in a small IT organization , 2004, IEEE Software.

[22]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007 .

[23]  J.D. Harry,et al.  Balancing act [noise based sensory enhancement technology] , 2005, IEEE Spectrum.

[24]  Dimitrios Gunopulos,et al.  Selective Bayesian Classifier: Feature Selection For The Naive Bayesian Classifier Using Decision Trees , 2002 .

[25]  Rosina O. Weber,et al.  Predicting Software Development Project Outcomes , 2003, ICCBR.

[26]  Karl Cox,et al.  Requirements Engineering and Software Project Success: an industrial survey in Australia and the U.S , 2005, Australas. J. Inf. Syst..

[27]  Barry W. Boehm,et al.  Software development cost estimation approaches — A survey , 2000, Ann. Softw. Eng..

[28]  June M. Verner,et al.  Australian software development: what software project management practices lead to success? , 2005, 2005 Australian Software Engineering Conference.

[29]  Russell Greiner,et al.  Learning Bayesian Belief Network Classifiers: Algorithms and System , 2001, Canadian Conference on AI.

[30]  David P. Wipf,et al.  A New View of Automatic Relevance Determination , 2007, NIPS.

[31]  June M. Verner,et al.  Case study: factors for early prediction of software development success , 2002, Inf. Softw. Technol..

[32]  Jessica Andrea Carballido,et al.  On Stopping Criteria for Genetic Algorithms , 2004, SBIA.

[33]  Dorothea Heiss-Czedik,et al.  An Introduction to Genetic Algorithms. , 1997, Artificial Life.

[34]  Jeffrey K. Pinto,et al.  The causes of project failure , 1990 .

[35]  R. Hill,et al.  Improving genetic algorithm convergence using problem structure and domain knowledge in multidimensional knapsack problems , 2005 .

[36]  R.N. Charette,et al.  Why software fails [software failure] , 2005, IEEE Spectrum.

[37]  Anette C. Lien,et al.  A survey on software estimation in the Norwegian industry , 2004 .

[38]  Capers Jones,et al.  Why software fails , 1996 .

[39]  June M. Verner,et al.  State of the practice: An exploratory analysis of schedule estimation and software project success prediction , 2007, Inf. Softw. Technol..

[40]  Claes Wohlin,et al.  Evaluation of Three Methods to Predict Project Success: A Case Study , 2005, PROFES.

[41]  Magne Jørgensen,et al.  How large are software cost overruns? A review of the 1994 CHAOS report , 2006, Inf. Softw. Technol..

[42]  Jennifer Sampson,et al.  What factors lead to software project failure? , 2008, 2008 Second International Conference on Research Challenges in Information Science.

[43]  Robert L. Glass Software Runaways: Monumental Software Disasters , 1997 .

[44]  June M. Verner,et al.  Software practitioner's perception of project success: a pilot study , 2002 .

[45]  Osamu Mizuno,et al.  Estimation of project success using Bayesian classifier , 2006, ICSE '06.

[46]  Min-Yuan Cheng,et al.  Dynamic Prediction of Project Success Using Evolutionary Support Vector Machine Inference Model , 2008 .

[47]  Cmmi Product Team CMMI for Development, Version 1.2 , 2010 .

[48]  Kjetil Moløkken-Østvold,et al.  A survey on software estimation in the Norwegian industry , 2004, 10th International Symposium on Software Metrics, 2004. Proceedings..

[49]  Karl Cox,et al.  Predicting good requirements for in-house development projects , 2006, ISESE '06.

[50]  John Wateridge,et al.  How can IS/IT projects be measured for success? , 1998 .

[51]  Mario Rivas,et al.  What do software practitioners really think about project success: A cross-cultural comparison , 2008, J. Syst. Softw..

[52]  John R. Schuyler,et al.  Risk and Decision Analysis in Projects , 2001 .

[53]  Barbara A. Kitchenham,et al.  Evaluating logistic regression models to estimate software project outcomes , 2010, Inf. Softw. Technol..

[54]  Rosina O. Weber,et al.  Identifying Critical Factors in Case-Based Prediction , 2004, FLAIRS Conference.

[55]  Roger Jianxin Jiao,et al.  A heuristic genetic algorithm for product portfolio planning , 2007, Comput. Oper. Res..