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.
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.
Boehm, B. W. (1991). Software risk management: Principles and practices. IEEE Software, 8(1), 32–41.
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.
Clements, P., Kazman, R., & Klein, M. (2002). Evaluating software architectures: Methods and case studies. Boston, MA: Addison-Wesley.
Cronk, M. C., & Fitzgerald, E. P. (1999). Understanding “IS business value”: Derivation of dimensions. Logistics Information Management, 12(1/2), 40–49.
Deutsch, M. S., & Willis, R. R. (1988). Software quality engineering—A total technical and management approach. New Jersey: Prentice-Hall.
Devaraj, S., & Kohli, R. (2002). The IT payoff: Measuring the business value of information technology investments. Upper Saddle River: FT Press.
Ebert, C. (1998). Putting requirement management into praxis: Dealing with nonfunctional requirements. Information and Software Technology, 40, 175–185.
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.
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.
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.
Grimshaw, D. J., & Draper, G. W. (2001). Non-functional requirements analysis: Deficiencies in structured methods. Information and Software Technology, 43, 629–634.
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.
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.
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.
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.
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.
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.
Leffingwell, D., & Widrig, D. (2000). Managing software requirements—A unified approach. Upper Saddle River: Addison-Wesley.
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.
Reifer, D. J. (2000). Requirements management: The search for nirvana. IEEE Software, 17(3), 45–47.
Robertson, S., & Robertson, J. (1999). Mastering the requirements process. Reading: Addison Wesley.
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.
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.
Sommerville, I., & Sawyer, P. (1997a). Requirements engineering—A good practice guide. Chichester: Wiley.
Sommerville, I., & Sawyer, P. (1997b). Requirements engineering: A good practice guide. Chichester: Wiley.
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.
Wiegers, K. E. (2003). Software requirements. Redmond, WA: Microsoft Press.
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.
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.
Zhao, L., & Elbaum, S. (2003). Quality assurance under the open source development model. The Journal of Systems and Software, 66(1), 65–75.
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-012-9188-5