Creating a Framework for Quality Decisions in Software Projects

  • Pasqualina Potena
  • Luis Fernandez-Sanz
  • Carmen Pages
  • Teresa Diez
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8583)

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 triangl 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 2.
    APM. A History of the Association for Project Management 1972-2010. In: Association for Project Management, Buckinghamshire (2010)Google Scholar
  3. 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. 4.
    Berman, O., Cutler, M.: Resource allocation during tests for optimally reliable software. Computers & OR 31(11), 1847–1865 (2004)MATHCrossRefGoogle Scholar
  5. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 25.
    Futrell, R.T., Shafer, L.I., Shafer, D.F.: Quality Software Project Management. Prentice Hall PTR, Upper Saddle River (2001)Google Scholar
  26. 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. 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. 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. 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. 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. 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. 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. 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. 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. 35.
    Hoover, C., Rosso-Llopart, M., Taran, G.: Evaluating Project Decisions: Case Studies in Software Engineering. Addison-Wesley Professional (2009)Google Scholar
  36. 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. 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. 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. 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. 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. 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. 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. 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. 44.
    Kitchenham, B.: Procedures for Performing Systematic Reviews (TR/SE-0401). Technical report, Keele University (2004)Google Scholar
  45. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Pasqualina Potena
    • 1
  • Luis Fernandez-Sanz
    • 1
  • Carmen Pages
    • 1
  • Teresa Diez
    • 1
  1. 1.Computer Science DepartmentUniversity of AlcaláMadridSpain

Personalised recommendations