ICCSA 2014: Computational Science and Its Applications – ICCSA 2014 pp 434-448 | Cite as
Creating a Framework for Quality Decisions in Software Projects
Abstract
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.
Keywords
software quality QA decisions influence factors Iron trianglPreview
Unable to display preview. Download preview PDF.
References
- 1.Aleti, A., Buhnova, B., Grunske, L., Koziolek, A., Meedeniya, I.: Software Architecture Optimization Methods: A Systematic Literature Review. IEEE Transactions on Software Engineering 39(5), 658–683 (2013)CrossRefGoogle Scholar
- 2.APM. A History of the Association for Project Management 1972-2010. In: Association for Project Management, Buckinghamshire (2010)Google Scholar
- 3.Balsamo, S., Marco, A.D., Inverardi, P., Simeoni, M.: Model-Based Performance Prediction in Software Development: A Survey. IEEE Trans. Soft. Eng. 30(5), 295–310 (2004)CrossRefGoogle Scholar
- 4.Berman, O., Cutler, M.: Resource allocation during tests for optimally reliable software. Computers & OR 31(11), 1847–1865 (2004)MATHCrossRefGoogle Scholar
- 5.Bertolino, A., Inverardi, P., Muccini, H.: Software architecture-based analysis and testing: a look into achievements and future challenges. Computing 95(8), 633–648 (2013)CrossRefGoogle Scholar
- 6.Buzdalov, M., Buzdalova, A., Petrova, I.: Generation of tests for programming challenge tasks using multi-objective optimization. In: Blum, C., Alba, E. (eds.) GECCO (Companion), pp. 1655–1658. ACM (2013)Google Scholar
- 7.Camara, J., Correia, P., de Lemos, R., Garlan, D., Gomes, P., Schmerl, B., Ventura, R.: Evolving an adaptive industrial software system to use architecture-based self-adaptation. In: 2013 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), pp. 13–22 (May 2013)Google Scholar
- 8.Canfora, G., Lucia, A.D., Penta, M.D., Oliveto, R., Panichella, A., Panichella, S.: Multiobjective Cross-Project Defect Prediction. In: ICST, pp. 252–261. IEEE (2013)Google Scholar
- 9.Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Merson, P., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond, 2nd edn. Addison Wesley (2011)Google Scholar
- 10.CMMi Team, CMMI® for Development, Version 1.2 CMMI-DEV, V1.2, CMU/SEI-2006-TR-008, ESC-TR-2006-008, Software Engineering Institute (2006)Google Scholar
- 11.Corazza, A., Martino, S.D., Ferrucci, F., Gravino, C., Sarro, F., Mendes, E.: Using tabu search to configure support vector regression for effort estimation. Empirical Software Engineering 18(3), 506–546 (2013)CrossRefGoogle Scholar
- 12.Cortellessa, V., Marinelli, F., Mirandola, R., Potena, P.: Quantifying the influence of failure repair/mitigation costs on service-based systems. In: 24th International Symposium on Software Reliability Engineering, ISSRE 2013 (2013) (to appear)Google Scholar
- 13.Cortellessa, V., Marinelli, F., Potena, P.: An optimization framework for “build-or-buy” decisions in software architecture. Computers & OR 35(10), 3090–3106 (2008)MATHCrossRefGoogle Scholar
- 14.Cotroneo, D., Pietrantuono, R., Russo, S.: Combining operational and debug testing for improving reliability. IEEE Transactions on Reliability 62(2), 408–423 (2013)CrossRefGoogle Scholar
- 15.Cotroneo, D., Pietrantuono, R., Russo, S.: Testing techniques selection based on ODC fault types and software metrics. Journal of Systems and Software 86(6), 1613–1637 (2013)CrossRefGoogle Scholar
- 16.D’Ambros, M., Lanza, M., Robbes, R.: An extensive comparison of bug prediction approaches. In: 7th IEEE Working Conference on Mining Software Repositories (MSR), pp. 31–41Google Scholar
- 17.Damian, D., Zowghi, D., Vaidyanathasamy, L., Pal, Y.: An Industrial Case Study of Immediate Benefits of Requirements Engineering Process Improvement at the Australian Center for Unisys Software. Empirical Software Engineering 9(1-2), 45–75 (2004)CrossRefGoogle Scholar
- 18.Dolado, J.J.: A Validation of the Component-Based Method for Software Size Estimation. IEEE Trans. Software Eng. 26(10), 1006–1021 (2000)CrossRefGoogle Scholar
- 19.Doloi, H.K.: Understanding stakeholders’ perspective of cost estimation in project management. International Journal of Project Management 29(5), 622–636 (2011)CrossRefGoogle Scholar
- 20.Dorn, C., Taylor, R.N.: Coupling Software Architecture and Human Architecture for Collaboration-aware System Adaptation. In: Proceedings of the International Conference on Software Engineering, ICSE 2013, pp. 53–62. IEEE Press (2013)Google Scholar
- 21.Fernández-Sanz, L., Villalba, M.T., Hilera, J.R., Lacuesta, R.: Factors with negative influence on software testing practice in spain: A survey. In: O’Connor, R.V., Baddoo, N., Cuadrago Gallego, J., Rejas Muslera, R., Smolander, K., Messnarz, R. (eds.) EuroSPI 2009. CCIS, vol. 42, pp. 1–12. Springer, Heidelberg (2009)CrossRefGoogle Scholar
- 22.Ferrucci, F., Harman, M., Ren, J., Sarro, F.: Not going to take this anymore: multi-objective overtime planning for software engineering projects. In: ICSE, pp. 462–471. IEEE / ACM (2013)Google Scholar
- 23.Ferrucci, F., Harman, M., Sarro, F.: Search-Based Software Project Management. Software Project Management in a Changing World. Springer (to appear, 2014)Google Scholar
- 24.Firat, M., Hurkens, C.A.J.: An improved MIP-based approach for a multi-skill workforce scheduling problem. J. Scheduling 15(3), 363–380 (2012)MathSciNetMATHCrossRefGoogle Scholar
- 25.Futrell, R.T., Shafer, L.I., Shafer, D.F.: Quality Software Project Management. Prentice Hall PTR, Upper Saddle River (2001)Google Scholar
- 26.Goseva-Popstojanova, K., Singh, A.D., Mazimdar, S., Li, F.: Empirical Characterization of Session-Based Workload and Reliability for Web Servers. Empirical Software Engineering 11(1), 71–117 (2006)CrossRefGoogle Scholar
- 27.Gueorguiev, S., Harman, M., Antoniol, G.: Software Project Planning for Robustness and Completion Time in the Presence of Uncertainty Using Multi Objective Search Based Software Engineering. In: Proceedings of Conference on Genetic and Evolutionary Computation, GECCO 2009, pp. 1673–1680. ACM (2009)Google Scholar
- 28.Güldali, B., Funke, H., Sauer, S., Engels, G.: TORC: test plan optimization by requirements clustering. Software Quality Journal 19(4), 771–799 (2011)CrossRefGoogle Scholar
- 29.Gyimothy, T., Ferenc, R., Siket, I.: Empirical validation of object-oriented metrics on open source software for fault prediction. IEEE Transactions on Software Engineering 31(10), 897–910 (2005)CrossRefGoogle Scholar
- 30.Hall, T., Beecham, S., Bowes, D., Gray, D., Counsell, S.: A Systematic Literature Review on Fault Prediction Performance in Software Engineering. IEEE Trans. Software Eng. 38(6), 1276–1304 (2012)CrossRefGoogle Scholar
- 31.Harman, M., Langdon, W.B., Jia, Y., White, D.R., Arcuri, A., Clark, J.A.: The GISMOE Challenge: Constructing the Pareto Program Surface Using Genetic Programming to Find Better Programs (Keynote Paper). In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, ASE 2012, pp. 1–14 (2012)Google Scholar
- 32.Harman, M., Mansouri, S.A., Zhang, Y.: Search-based Software Engineering: Trends, Techniques and Applications. ACM Comput. Surv. 45(1), 11:1–11:61 (2012)Google Scholar
- 33.Heimerl, C., Kolisch, R.: Scheduling and staffing multiple projects with a multi-skilled workforce. OR Spectrum 32(2), 343–368 (2010)MathSciNetMATHCrossRefGoogle Scholar
- 34.Helander, M.E., Zhao, M., Ohlsson, N.: Planning models for software reliability and cost. IEEE Trans. Software Eng. 24(6), 420–434 (1998)CrossRefGoogle Scholar
- 35.Hoover, C., Rosso-Llopart, M., Taran, G.: Evaluating Project Decisions: Case Studies in Software Engineering. Addison-Wesley Professional (2009)Google Scholar
- 36.Iceberg consortium. Project proposal. How to estimate costs of poor quality in a Software QA project: a novel approach to support management decisions (2012)Google Scholar
- 37.Janevski, N., Goseva-Popstojanova, K.: Session Reliability of Web Systems Under Heavy-TailedWorkloads: An Approach based on Design and Analysis of Experiments. IEEE Transactions on Software Engineering 99(preprints), 1 (2013)Google Scholar
- 38.Jia, Y., Harman, M.: An Analysis and Survey of the Development of Mutation Testing. IEEE Transactions on Software Engineering 37(5), 649–678 (2011)CrossRefGoogle Scholar
- 39.Jørgensen, M.: The influence of selection bias on effort overruns in software development projects. Information & Software Technology 55(9), 1640–1650 (2013)CrossRefGoogle Scholar
- 40.Kazman, R., Asundi, J., Klein, M.: Quantifying the costs and benefits of architectural decisions. In: Proceedings of the 23rd International Conference on Software Engineering, ICSE 2001, pp. 297–306 (May 2001)Google Scholar
- 41.Kazman, R., Klein, M., Barbacci, M., Longstaff, T., Lipson, H., Carriere, J.: The architecture tradeoff analysis method. In: Proceedings of the Fourth IEEE Intern. Conference on Engineering of Complex Computer Systems, ICECCS 1998, pp. 68–78 (August 1998)Google Scholar
- 42.Kifetew, F.M., Panichella, A., De Lucia, A., Oliveto, R., Tonella, P.: Orthogonal Exploration of the Search Space in Evolutionary Test Case Generation. In: Proceedings of the Intern. Symposium on Software Testing and Analysis, ISSTA 2013, pp. 257–267. ACM (2013)Google Scholar
- 43.Kiper, J.D., Feather, M.S., Richardson, J.: Optimizing the V& V Process for Critical Systems. In: Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation, GECCO 2007, pp. 1139–1139. ACM, New York (2007)Google Scholar
- 44.Kitchenham, B.: Procedures for Performing Systematic Reviews (TR/SE-0401). Technical report, Keele University (2004)Google Scholar
- 45.Kpodjedo, S., Ricca, F., Galinier, P., Guéhéneuc, Y.-G., Antoniol, G.: Design evolution metrics for defect prediction in object oriented systems. Empirical Software Engineering 16(1), 141–175 (2011)CrossRefGoogle Scholar
- 46.Lakhotia, K., Harman, M., Gross, H.: Austin: An open source tool for search based software testing of c programs. Information and Software Technology 55(1), 112–125 (2013)CrossRefGoogle Scholar
- 47.Li, H., Womer, K.: Scheduling projects with multi-skilled personnel by a hybrid MILP/CP benders decomposition algorithm. J. Scheduling 12(3), 281–298 (2009)MathSciNetMATHCrossRefGoogle Scholar
- 48.Malek, S., Medvidovic, N., Mikic-Rakic, M.: An Extensible Framework for Improving a Distributed Software System’s Deployment Architecture. IEEE Transactions on Software Engineering 38(1), 73–100 (2012)CrossRefGoogle Scholar
- 49.Mead, N., Allen, J., Conklin, W., Drommi, A., Harrison, J., Ingalsbe, J., Rainey, J., Shoemaker, D.: Making the Business Case for Software Assurance (CMU/SEI-2009-SR-001). Technical report. Software Engineering Institute, Carnegie Mellon University, Pittsburgh (2009), http://resources.sei.cmu.edu/library/assetview.cfm?AssetID=8831
- 50.Mirandola, R., Potena, P., Scandurra, P.: Adaptation space exploration for service-oriented applications. Science of Computer Programming 80(Part B), 356–384 (2014)CrossRefGoogle Scholar
- 51.Moser, T., Biffl, S., Winkler, D.: Process-driven Feature Modeling for Variability Management of Project Environment Configurations. In: Proceedings of International Conference on Product Focused Software, PROFES 2010, pp. 47–50. ACM (2010)Google Scholar
- 52.Oster, N., Saglietti, F.: Automatic Test Data Generation by Multi-objective Optimisation. In: Górski, J. (ed.) SAFECOMP 2006. LNCS, vol. 4166, pp. 426–438. Springer, Heidelberg (2006)CrossRefGoogle Scholar
- 53.Pierantuono, R., Russo, S., Battipaglia, I., Gaiani, C., Fernandez, L., Rodriguez, D.: Industrial needs collection and state of the art surveys (2013)Google Scholar
- 54.Potena, P.: Optimization of adaptation plans for a service-oriented architecture with cost, reliability, availability and performance tradeoff. Journal of Systems and Software 6(3), 624–648 (2013)CrossRefGoogle Scholar
- 55.Rodriguez, D., Ruiz, M., Riquelme, J.C., Harrison, R.: Multiobjective Simulation Opti misation in Software Project Management. In: Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation, GECCO 2011, pp. 1883–1890. ACM (2011)Google Scholar
- 56.Stylianou, C., Gerasimou, S., Andreou, A.: A Novel Prototype Tool for Intelligent Software Project Scheduling and Staffing Enhanced with Personality Factors. In: IEEE Intern. Conference on Tools with Artificial Intelligence (ICTAI), vol. 1, pp. 277–284 (2012)Google Scholar
- 57.Wagner, S.: Towards Software Quality Economics for Defect-Detection Techniques. In: Software Engineering Worksho. 29th Annual IEEE/NASA, pp. 265–274 (April 2005)Google Scholar
- 58.Ye, Z., Zhou, X., Bouguettaya, A.: Genetic Algorithm Based QoS-Aware Service Compositions in Cloud Computing. In: Yu, J.X., Kim, M.H., Unland, R. (eds.) DASFAA 2011, Part II. LNCS, vol. 6588, pp. 321–334. Springer, Heidelberg (2011)CrossRefGoogle Scholar
- 59.Zeng, H., Rine, D.: Estimation of Software Defects Fix Effort Using Neural Networks. In: COMPSAC Workshops, pp. 20–21. IEEE Computer Society (2004)Google Scholar