Creating a Framework for Quality Decisions in Software Projects

This work analyzes the challenges that quality decisions represent to software project managers. Projects’ goals are normally determined by the paradigm of the Iron Triangle of project management. Managers need to know which are the effects of a quality assurance (QA) decision on the three axis: which effects in quality they can get but at what cost and which effects may appear in terms of schedule. This decision problem is clearly related to existing disciplines like SBSE, multi-objective optimization and methods for ROI calculation and value-based software engineering. This survey paper critically reviews the contributions of these disciplines to support QA decisions together with basic information from a pilot survey carried out as part of the developments of the Iceberg project funded by EU Programme Marie Curie.

[1]  Hemanta Doloi,et al.  Understanding stakeholders' perspective of cost estimation in project management , 2011 .

[2]  Michele Lanza,et al.  An extensive comparison of bug prediction approaches , 2010, 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010).

[3]  Raffaela Mirandola,et al.  Adaptation space exploration for service-oriented applications , 2014, Sci. Comput. Program..

[4]  Rainer Kolisch,et al.  Scheduling and staffing multiple projects with a multi-skilled workforce , 2010, OR Spectr..

[5]  Mark Harman,et al.  AUSTIN: An open source tool for search based software testing of C programs , 2013, Inf. Softw. Technol..

[6]  Stefan Biffl,et al.  Process-driven feature modeling for variability management of project environment configurations , 2010, PROFES '10.

[7]  Paolo Tonella,et al.  Orthogonal exploration of the search space in evolutionary test case generation , 2013, ISSTA.

[8]  Athman Bouguettaya,et al.  Genetic Algorithm Based QoS-Aware Service Compositions in Cloud Computing , 2011, DASFAA.

[9]  Mark-Alexander Sujan,et al.  Computer Safety, Reliability, and Security , 2014, Lecture Notes in Computer Science.

[10]  Mark Klein,et al.  Quantifying the costs and benefits of architectural decisions , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[11]  Norbert Oster,et al.  Automatic Test Data Generation by Multi-objective Optimisation , 2006, SAFECOMP.

[12]  Hui Zeng,et al.  Estimation of software defects fix effort using neural networks , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[13]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[14]  José Ramón Hilera,et al.  Factors with Negative Influence on Software Testing Practice in Spain: A Survey , 2009, EuroSPI.

[15]  Stefan Wagner,et al.  Towards Software Quality Economics for Defect-Detection Techniques , 2005, 29th Annual IEEE/NASA Software Engineering Workshop.

[16]  Arina Buzdalova,et al.  Generation of tests for programming challenge tasks using multi-objective optimization , 2013, GECCO '13 Companion.

[17]  Murat Firat,et al.  An improved MIP-based approach for a multi-skill workforce scheduling problem , 2012, J. Sched..

[18]  Bradley R. Schmerl,et al.  Evolving an adaptive industrial software system to use architecture-based self-adaptation , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[19]  Paola Inverardi,et al.  Model-based performance prediction in software development: a survey , 2004, IEEE Transactions on Software Engineering.

[20]  John A. Clark,et al.  The GISMOE challenge: constructing the pareto program surface using genetic programming to find better programs (keynote paper) , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[21]  Gil Taran,et al.  Evaluating Project Decisions: Case Studies in Software Engineering , 2009 .

[22]  Donald F. Shafer,et al.  Quality Software Project Management , 2001 .

[23]  Domenico Cotroneo,et al.  Testing techniques selection based on ODC fault types and software metrics , 2013, J. Syst. Softw..

[24]  Yann-Gaël Guéhéneuc,et al.  Design evolution metrics for defect prediction in object oriented systems , 2010, Empirical Software Engineering.

[25]  José Javier Dolado,et al.  A Validation of the Component-Based Method for Software Size Estimation , 2000, IEEE Trans. Software Eng..

[26]  Mark Harman,et al.  Search-Based Software Project Management , 2014, Software Project Management in a Changing World.

[27]  Tracy Hall,et al.  A Systematic Literature Review on Fault Prediction Performance in Software Engineering , 2012, IEEE Transactions on Software Engineering.

[28]  C. Bliss,et al.  Build or buy? , 1976, Microprocess..

[29]  Gerardo Canfora,et al.  Multi-objective Cross-Project Defect Prediction , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation.

[30]  Gregor Engels,et al.  TORC: test plan optimization by requirements clustering , 2011, Software Quality Journal.

[31]  Daniela E. Damian,et al.  An Industrial Case Study of Immediate Benefits of Requirements Engineering Process Improvement at the Australian Center for Unisys Software , 2004, Empirical Software Engineering.

[32]  Giuliano Antoniol,et al.  Software project planning for robustness and completion time in the presence of uncertainty using multi objective search based software engineering , 2009, GECCO.

[33]  Magne Jørgensen,et al.  The influence of selection bias on effort overruns in software development projects , 2013, Inf. Softw. Technol..

[34]  Claes Wohlin,et al.  Software Project Management in a Changing World , 2014, Springer Berlin Heidelberg.

[35]  Martin S. Feather,et al.  Optimizing the V&V process for critical systems , 2007, GECCO '07.

[36]  Mark Harman,et al.  Not going to take this anymore: Multi-objective overtime planning for Software Engineering projects , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[37]  Vittorio Cortellessa,et al.  An optimization framework for "build-or-buy" decisions in software architecture , 2008, Comput. Oper. Res..

[38]  Domenico Cotroneo,et al.  Combining Operational and Debug Testing for Improving Reliability , 2013, IEEE Transactions on Reliability.

[39]  Richard N. Taylor,et al.  Coupling software architecture and human architecture for collaboration-aware system adaptation , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[40]  Katerina Goseva-Popstojanova,et al.  Empirical Characterization of Session–Based Workload and Reliability for Web Servers , 2006, Empirical Software Engineering.

[41]  Andreas S. Andreou,et al.  A Novel Prototype Tool for Intelligent Software Project Scheduling and Staffing Enhanced with Personality Factors , 2012, 2012 IEEE 24th International Conference on Tools with Artificial Intelligence.

[42]  Katerina Goseva-Popstojanova,et al.  Session Reliability of Web Systems under Heavy-Tailed Workloads: An Approach Based on Design and Analysis of Experiments , 2013, IEEE Transactions on Software Engineering.

[43]  Ming Zhao,et al.  Planning Models for Software Reliability and Cost , 1998, IEEE Trans. Software Eng..

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

[45]  Haitao Li,et al.  Scheduling projects with multi-skilled personnel by a hybrid MILP/CP benders decomposition algorithm , 2009, J. Sched..

[46]  Emilia Mendes,et al.  Using tabu search to configure support vector regression for effort estimation , 2013, Empirical Software Engineering.

[47]  Rachel Harrison,et al.  Multiobjective simulation optimisation in software project management , 2011, GECCO '11.

[48]  Oded Berman,et al.  Resource allocation during tests for optimally reliable software , 2004, Comput. Oper. Res..

[49]  Raffaela Mirandola,et al.  Quantifying the influence of failure repair/mitigation costs on service-based systems , 2013, 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE).

[50]  Henry Muccini,et al.  Software architecture-based analysis and testing: a look into achievements and future challenges , 2013, Computing.

[51]  Lars Grunske,et al.  Software Architecture Optimization Methods: A Systematic Literature Review , 2013, IEEE Transactions on Software Engineering.

[52]  Pasqualina Potena,et al.  Optimization of adaptation plans for a service-oriented architecture with cost, reliability, availability and performance tradeoff , 2013, J. Syst. Softw..

[53]  Yuanyuan Zhang,et al.  Search-based software engineering: Trends, techniques and applications , 2012, CSUR.

[54]  Marija Mikic-Rakic,et al.  An Extensible Framework for Improving a Distributed Software System's Deployment Architecture , 2012, IEEE Transactions on Software Engineering.

[55]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[56]  Tibor Gyimóthy,et al.  Empirical validation of object-oriented metrics on open source software for fault prediction , 2005, IEEE Transactions on Software Engineering.