Skip to main content
Log in

A framework for prioritization of quality requirements for inclusion in a software project

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Non-functional requirements (NFRs) determine the characteristics of a software product or service as a whole. The research described in this paper presents a quantitative framework involving respondents of both the project and the business organization, in order to determine the priority of a list of NFRs to be considered for implementation during a software development. The framework also provides a quantitative basis for evaluating the extent of value addition that can be achieved while deciding upon whether or not to consider a particular non-functional requirement for inclusion to the project’s requirement set. The assessment process also indicates the extent to which different business values are perceived important by representatives of business organizations, and their perception of the importance of the different NFRs. The work distinguishes from others by explicitly considering dependencies among NFRs in the evaluation process. The final results are expected to be beneficial to both the business and the project organization by identifying and implementing the desired NFRs that contribute to business value in a cost-effective manner.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  • ATAM: Method for architecture evaluation. (2012). ATAM—Architecture trade-off analysis method report. http://www.sei.cmu.edu/ata/ata_method.html. Accessed 25 June 2012.

  • Azar, J., Smith, R. K., & Cordes, D. (2007). Value-oriented requirements prioritization in a small development organization. IEEE Software, 24(1), 32–37.

    Article  Google Scholar 

  • Boehm, B. W. (1991). Software risk management: Principles and practices. IEEE Software, 8(1), 32–41.

    Article  Google Scholar 

  • CBAM: CCost-value. (2012). http://www.sei.cmu.edu/ata/products_services/cbam.html. Accessed 26 June 2012.

  • Chung, L., Nixon, B. A., Yu, E., & Mylopoulos, J. (2000). Non-functional requirements in software engineering. Boston: Kluwer Academic Publishers.

    Book  MATH  Google Scholar 

  • Clements, P., Kazman, R., & Klein, M. (2002). Evaluating software architectures: Methods and case studies. Boston, MA: Addison-Wesley.

    Google Scholar 

  • Cronk, M. C., & Fitzgerald, E. P. (1999). Understanding “IS business value”: Derivation of dimensions. Logistics Information Management, 12(1/2), 40–49.

    Article  Google Scholar 

  • Deutsch, M. S., & Willis, R. R. (1988). Software quality engineering—A total technical and management approach. New Jersey: Prentice-Hall.

    Google Scholar 

  • Devaraj, S., & Kohli, R. (2002). The IT payoff: Measuring the business value of information technology investments. Upper Saddle River: FT Press.

    Google Scholar 

  • Ebert, C. (1998). Putting requirement management into praxis: Dealing with nonfunctional requirements. Information and Software Technology, 40, 175–185.

    Article  Google Scholar 

  • Ferreira, S., Collofello, J., Shunk, D., & Mackulak, G. (2009). Understanding the effects of requirements volatility in software engineering by using analytical modeling and software process simulation. Journal of Systems and Software, 82(10), 1568–1577.

    Article  Google Scholar 

  • Gammelgård, M. (2006). Dimensions of benefits from IS/IT. EARP Working papers series, Department of Industrial Information and Control Systems, Royal Institute of Technology. http://www.ics.kth.se/Publikationer/Working%20Papers/publikationer_working%20papers.htm, Accessed 11 November 2009.

  • Gammelgård, M. (2007). Business value assessment of IT investments—An evaluation method applied to the electrical power industry. PhD Thesis, Royal Institute of Technology (KTH), Stockholm, Sweeden.

  • Gammelgård, M., Ekstedt, M., & Gustafsson, P. (2006). A categorization of benefits from IS/IT investments. In Proceedings of the 13th European conference on information technology evaluation.

  • Greer, D., Bustard, D., & Sunazuka, T. (1999a). Effecting and measuring risk reduction in software development. NEC Journal of Research and Development, 40(3), 378–383.

    Google Scholar 

  • Greer, D., Bustard, D., & Sunazuka, T. (1999b). Prioritization of system changes using cost-benefit and risk assessments. In Proceedings of the fourth IEEE international symposium on requirements engineering (pp. 180–187).

  • Greer, D., & Ruhe, G. (2004). Software release planning: An evolutionary and iterative approach. Journal Information and Software Technology, 46(4), 243–253.

    Article  Google Scholar 

  • Grimshaw, D. J., & Draper, G. W. (2001). Non-functional requirements analysis: Deficiencies in structured methods. Information and Software Technology, 43, 629–634.

    Article  Google Scholar 

  • Herrmann, A., & Daneva, M. (2008). Requirements prioritization based on benefit and cost prediction: An agenda for future research. In Proceedings of the 16th IEEE international requirements engineering conference (pp. 125–134).

  • Heumesser, N., Trendowicz, A., Kerkow, D., Gross, H., & Loomans, L. (2003). Essential and requisites for the management of evolution—requirements and incremental validation. Information Technology for European Advancement, ITEA-EMPRESS consortium.

  • IEEE Std 830-1998. (1998). Recommended practice for software requirements specifications. New York: Software Engineering Standards Committee of the IEEE Computer Society.

    Google Scholar 

  • Ionita, M. T., Hammer, D. K., & Obbink, H. (2002). Scenario-based software architecture evaluation methods: An overview. Workshop on methods and techniques for software architecture review and assessment at the international conference on software engineering.

  • Iqbal, A., Khan, F. M., & Khan, S. A. (2009). A critical analysis of techniques for requirement prioritization and open research issues. International Journal of Reviews in Computing, 1, 1–11.

    Google Scholar 

  • ISO/IEC 9126-1 (2001). Software engineering—Product quality—Part 1: Quality model.

  • Ives, B., & Olson, M. H. (1984). User involvement and MIS success: A review of research. Management Science, 30(5), 586–603.

    Article  Google Scholar 

  • Karlsson, J. (1996). Software requirements prioritizing. In Proceedings of the 2nd IEEE international conference on requirements engineering (RE 96). doi:10.1109/ICRE1996.491435.

  • Karlsson, J., & Ryan, K. (1997). A cost-value approach for prioritizing requirements. IEEE Software, 14, 67–74. doi:10.1109/52.605933.

    Article  Google Scholar 

  • Karlsson, J., Wohlin, C., & Regnell, B. (1998). An evaluation of methods for prioritizing software requirements. Information and Software Technology, 39, 939–947. doi:10.1016/S0950-5849(97)00053-0.

    Article  Google Scholar 

  • Kassab, M., Ormandjieva, O., Daneva, M., & Abran, A. (2007). Non-functional requirements: Size measurement and testing with COSMIC-FFP. In Proceedings of the international conference on software process and product measurement, IWSM-MENSURA (pp. 247–259).

  • Kazman, R., Bass, L., Abowd, G., & Webb, M. (1994). SAAM: A method for analyzing the properties software architectures. In Proceedings of the 16th international conference on software engineering (pp. 81–90). Sorrento, Italy. http://www.sei.cmu.edu/ata/publications.html#reports.

  • Kotonya, G., & Sommerville, I. (1998). Requirements engineering: Processes and techniques. Chichester, UK: John Wiley & Sons.

    Google Scholar 

  • Leffingwell, D., & Widrig, D. (2000). Managing software requirements—A unified approach. Upper Saddle River: Addison-Wesley.

    Google Scholar 

  • Mairiza, D., Zowghi, D., & Nurmuliani, N. (2010a). An investigation into the notion of non-functional requirements. ACM symposium on applied computing—SAC (pp. 311–317).

  • Mairiza, D., Zowghi, D., & Nurmuliani, N. (2010b). An investigation into the notion of non-functional requirements. In Proceeding of the 25th ACM symposium on applied computing. Sierre, Switzerland.

  • Monk, E. F., & Wagner, B. J. (2008). Concepts in enterprise resource planning. London: Cengage Learning EMEA.

    Google Scholar 

  • Reifer, D. J. (2000). Requirements management: The search for nirvana. IEEE Software, 17(3), 45–47.

    Google Scholar 

  • Robertson, S., & Robertson, J. (1999). Mastering the requirements process. Reading: Addison Wesley.

    Google Scholar 

  • Ruhe, G., Eberlein, A., & Pfahl, D. (2002). Quantitative winwin—a new method for decision support in requirements negotiation. In Proceedings of the 14th international conference on software engineering and knowledge engineering (SEKE 02). doi:10.1145/568760.568789.

  • Saaty, T. L. (1980). The analytic hierarchy process. New York: McGraw-Hill.

    MATH  Google Scholar 

  • Sackman, H. (1974). Delphi assessment: Expert opinion, forecasting, and group process. The Rand Corporation, R-1283-PR, 23-24.

  • Sommerville, I. (2004). Software engineering. Essex: Pearson Education Limited.

    Google Scholar 

  • Sommerville, I., & Sawyer, P. (1997a). Requirements engineering—A good practice guide. Chichester: Wiley.

    MATH  Google Scholar 

  • Sommerville, I., & Sawyer, P. (1997b). Requirements engineering: A good practice guide. Chichester: Wiley.

    MATH  Google Scholar 

  • Svensson, R. B., Gorschek, T., Regnell, B., Torkar, R., Shahrokni, A., Feldt, R., & Aurum, A. (2011). Prioritization of quality requirements: State of practice in eleven companies. In Proceedings of the 19th IEEE International Requirements Engineering Conference, Trento, Italy.

  • Wiegers, K. E. (1999). First thing first: Prioritizing requirements. Software Development Magazine, 7(9), 24–30.

    Google Scholar 

  • Wiegers, K. E. (2003). Software requirements. Redmond, WA: Microsoft Press.

    Google Scholar 

  • Yang, J., & Xu, D. (2002). On the evidential reasoning algorithm for multiple attribute decision analysis under uncertainty. IEEE Transactions on Systems, Man, and Cybernetics Part A: Systems and Humans, 32(3), 289–304.

    Article  Google Scholar 

  • Yusop, N., Zowghi, D., & Lowe, D. (2008). The impacts of non-functional requirements in web system projects. International Journal of Value Chain Management, 2, 18–32.

    Article  Google Scholar 

  • Zhao, L., & Elbaum, S. (2003). Quality assurance under the open source development model. The Journal of Systems and Software, 66(1), 65–75.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rahul Thakurta.

Appendix

Appendix

See Tables 11, 12 and 13.

Table 11 Description, strengths and weaknesses of some prioritization techniques
Table 12 Business value dimensions
Table 13 Description of selected non-functional requirements

Rights and permissions

Reprints and permissions

About this article

Cite this article

Thakurta, R. A framework for prioritization of quality requirements for inclusion in a software project. Software Qual J 21, 573–597 (2013). https://doi.org/10.1007/s11219-012-9188-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-012-9188-5

Keywords

Navigation