Abstract
Modern software development faces several challenges related to fast technological changes and shorter delivery cycles. This, is reflected in adopting agile approaches that try to lean as much as possible the software development process, from requirements engineering to system deployment. As part of this leaning effort, requirements prioritization is an important activity, as it is usually not possible to implement all requirements at once. Nevertheless, requirements prioritization is a complex activity where several stakeholder’s opinions have to be taken into account hierarchically. There are many techniques to prioritize requirements, being the most accurate and complex the Analytic Hierarchy Process (AHP). AHP is very reliable when prioritizing requirements in the most accurate way due to its mathematical founding, however, this method involves matrix and vectors operations as well as a defined number of pairwise comparisons, which makes it a CPU-intensive method. This paper presents an improved AHP using evolutionary computing techniques to try to optimize requirements prioritization. The proposed approach reduces the complexity of the overall AHP process, and shows to outperform traditional AHP in terms of prioritization accuracy, according to some industry-level requirements data sets extracted from developed software systems.





Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.REFERENCES
Newman, S., Building Microservices: Designing Fine-Grained Systems, 1st ed., O’Reilly Media, 2015.
Racheva, Z., Daneva, M., and Buglione, L., Supporting the dynamic reprioritization of requirements in agile development of software products, Proc. 2nd Int. Workshop on Software Product Management, ISWPM’08, Barcelona, 2008, pp. 49–57. https://doi.org/10.1109/IWSPM.2008.7
Pohl, K. and Rupp, C., Requirements Engineering Fundamentals: a Study Guide for the Certified Professional for Requirements Engineering Exam, Foundation Level, IREB Compliant, 2nd ed., Santa Barbara, CA: Rocky Nook, 2015.
Dick, J., Hull, E., and Jackson, K., Requirements Engineering, Cham: Springer Int. Publ., 2017. https://doi.org/10.1007/978-3-319-61073-3
Wiegers, K.E. and Beatty, J., Software Requirements, 3rd ed., Redmond, WA: Microsoft Press, 2013.
Pohl, K., Opdahl, A., and Rossi, M., Sixth international workshop on requirements engineering: foundation for software quality (REFSQ’00), Requir. Eng., 2001, vol. 6, no. 1, pp. 1–2. https://doi.org/10.1007/PL00010353
Svensson, R.B., et al., Prioritization of quality requirements: state of practice in eleven companies, Proc. 19th IEEE Int. Requirements Engineering Conf., RE 2011, Trento, 2011, pp. 69–78. https://doi.org/10.1109/RE.2011.6051652
Cleland-Huang, J. and Mobasher, B., Using data mining and recommender systems to scale up the requirements process, Proc. 2nd Int. Workshop on Ultra-Large-Scale Software Intensive Systems–ULSSIS’08, Leipzig, 2008, pp. 3–6. https://doi.org/10.1145/1370700.1370702
Eggen, D. and Witte, G., The FBI’s upgrade that wasn’t $170 million bought an unusable computer system, Washington Post, Aug. 18, 2006. Accessed Mar. 25, 2021. https://www.washingtonpost.com/archive/politics/2006/ 08/18/the-fbis-upgrade-thatwasnt-span-classbankhead 170-millionbought-an-unusable-computer-systemspan/ 8e0e8dca-e486-4a67-866c-389837cc6b5a/
Perini, A., Ricca, F., Susi, A., and Bazzanella, C., An empirical study to compare the accuracy of AHP and CBRanking techniques for requirements prioritization, Proc. 5th Int. Workshops on Comparative Evaluation in Requirements Engineering, CERE 2007, New Delhi, 2007, pp. 23–34. https://doi.org/10.1109/CERE.2007.1
Achimugu, P., Selamat, A., Ibrahim, R., and Mah-rin, M.N.R., A systematic literature review of software requirements prioritization research, Inf. Software Technol., 2014, vol. 56, no. 6, pp. 568–585. https://doi.org/10.1016/j.infsof.2014.02.001
Aasem, M., Ramzan, M., and Jaffar, A., Analysis and optimization of software requirements prioritization techniques, Proc. Int. Conf. on Information and Emerging Technologies, ICIET 2010, Bali, 2010, pp. 1–6. https://doi.org/10.1109/ICIET.2010.5625687
IEEE Sandard no. 830-1998: IEEE Recommended Practice for Software Requirements Specifications, Institute of Electrical and Electronics Engineers, 1998, pp. 1–40. https://doi.org/10.1109/IEEESTD.1998.88286
Alzaqebah, A., Masadeh, R., and Hudaib, A., Whale optimization algorithm for requirements prioritization, Proc. 9th Int. Conf. on Information and Communication Systems, ICICS 2018, Irbid, 2018, pp. 84–89. https://doi.org/10.1109/IACS.2018.8355446
Voola, P. and Babu, A.V., Comparison of requirements prioritization techniques employing different scales of measurement, ACM SIGSOFT Software Eng. Notes, 2013, vol. 38, no. 4, p. 1. https://doi.org/10.1145/2492248.2492278
Chatzipetrou, P., Angelis, L., Rovegard, P., and Wohlin, C., Prioritization of issues and requirements by cumulative voting: a compositional data analysis framework, Proc. 36th EUROMICRO Conf. on Software Engineering and Advanced Applications, SEAA 2010, Lille, 2010, pp. 361–370. https://doi.org/10.1109/SEAA.2010.35
Abou-Elseoud, M.A., Nasr, E.S., and Hefny, H.A., Enhancing requirements prioritization based on a hybrid technique, Proc. 11th Int. Conf. on Computer Engineering and Systems, ICCES 2016, Cairo, 2016, pp. 248–253. https://doi.org/10.1109/ICCES.2016.7822009
Elsood, M.A.A., Hefny, H.A., and Nasr, E.S., A goal-based technique for requirements prioritization, Proc. 9th Int. Conf. on Informatics and Systems, INFOS 2014, Cairo, 2014, pp. SW18–SW24. https://doi.org/10.1109/INFOS.2014.7036697
Khan, S.U.R., Lee, S.P., Dabbagh, M., Tahir, M., Khan, M., and Arif, M., RePizer: a framework for prioritization of software requirements, Front. Inf. Technol. Electron. Eng., 2016, vol. 17, no. 8, pp. 750–765.
Karlsson, J. and Ryan, K., A cost-value approach for prioritizing requirements, IEEE Software, 1997, vol. 14, no. 5, pp. 67–74. https://doi.org/10.1109/52.605933
Singh, Y.V., Kumar, B., and Chand, S., A novel approach of requirements prioritization using logarithmic fuzzy trapezoidal AHP for enhancing academic library service, Proc. Int. Conf. on Advances in Computing, Communication Control and Networking (ICACCCN), Greater Noida, Oct. 2018, pp. 1164–1172. https://doi.org/10.1109/ICACCCN.2018.8748329
Thakurta, R., A framework for prioritization of quality requirements for inclusion in a software project, Software Qual. J., 2013, vol. 21, no. 4, pp. 573–597. https://doi.org/10.1007/s11219-012-9188-5
Karlsson, L., Thelin, T., Regnell, B., Berander, P., and Wohlin, C., Pair-wise comparisons versus planning game partitioning-experiments on requirements prioritisation techniques, Empirical Software Eng., 2007, vol. 12, no. 1, pp. 3–33. https://doi.org/10.1007/s10664-006-7240-4
Binitha, S. and Sathya, S.S., A survey of bio inspired optimization algorithms, Int. J. Soft Comput. Eng., 2012, vol. 2, no. 2, pp. 137–151.
Araujo, L. and Cervigón, C., Algoritmos evolutivos: un enfoque práctico, 1st ed., Alfaomega Grupo Editor, S.A. de C.V., 2009, p. 332.
Smith, J.E., Introduction to Evolutionary Computing, Berlin, Heidelberg: Springer-Verlag, 2015, p. 294. https://link.springer.com/book/10.1007%2F978-3-662-44874-8.
Somohano-Murrieta, J.C.B., Ocharan-Hernandez, J.O., Sanchez-Garcia, A.J., and de los Angeles Arenas-Valdes, M., Requirements prioritization techniques in the last decade: a systematic literature review, Proc. 8th Int. Conf. in Software Engineering Research and Innovation (CONISOFT), Chetumal, Nov. 2020, pp. 11–20. https://doi.org/10.1109/CONISOFT50191.2020.00013
Kassab, M. and Kilicay-Ergin, N., Applying analytical hierarchy process to system quality requirements prioritization, Innov. Syst. Software Eng., 2015, vol. 11, no. 4, pp. 303–312. https://doi.org/10.1007/s11334-015-0260-8
Saaty, T.L., The analytic hierarchy process: a new approach to deal with fuzziness in architecture, Archit. Sci. Rev., 1982, vol. 25, no. 3, pp. 64–69. https://doi.org/10.1080/00038628.1982.9696499
Easmin, R., Ul Gias, A., and Khaled, S.M., A partial order assimilation approach for software requirements prioritization, Proc. Int. Conf. on Informatics, Electronics and Vision, ICIEV 2014, Dhaka, 2014, pp. 1–5. https://doi.org/10.1109/ICIEV.2014.6850776
Kifetew, F., Munante, D., Perini, A., Susi, A., Siena, A., and Busetta, P., DMGame: a gamified collaborative requirements prioritisation tool, Proc. 25th IEEE Int. Requirements Engineering Conf., RE 2017, Lisbon, 2017, pp. 468–469. https://doi.org/10.1109/RE.2017.46
Ahuja, H., Sujata, and Purohit, G.N., Understanding requirement prioritization techniques, Proc. Int. Conf. on Computing, Communication and Automation (ICCCA), Greater Noida, 2016, pp. 257–262. https://doi.org/10.1109/CCAA.2016.7813759
Alonso, J.A. and Lamata, M.T., Consistency in the analytic hierarchy process: a new approach, Int. J. Uncertainty, Fuzziness Knowl.-Based Syst., 2006, vol. 14, no. 4, pp. 445–459. https://doi.org/10.1142/S0218488506004114
Nikitin, A.V. and Nikitina, L.I., Evolutionary model of optimization of modular associative memory for dataflow machines based on genetic algorithm, Progr. Comput. Software, 2002, vol. 28, no. 6, p. 9.
Franceschini, F., Maisano, D., and Mastrogiacomo, L., Customer requirement prioritization on QFD: a new proposal based on the generalized Yager’s algorithm, Res. Eng. Design, 2015, vol. 26, no. 2, pp. 171–187. https://doi.org/10.1007/s00163-015-0191-2
Masadeh, R., Alzaqebah, A., and Hudaib, A., Grey wolf algorithm for requirements prioritization, Mod. Appl. Sci., 2018, vol. 12, no. 2, p. 54. https://doi.org/10.5539/mas.v12n2p54
Putri, M.A. and Mahmudy, W.F., Optimization of analytic hierarchy process using genetic algorithm for selecting tutoring agencies in Kampung Inggris Pare, Proc. Int. Conf. on Advanced Computer Science and Information Systems, ICACSIS 2016, Malang, 2016, pp. 227–232. https://doi.org/10.1109/ICACSIS.2016.7872740
Gerogiannis, V.C., Fitsilis, P., Kakarontzas, G., and Born, C., Handling vagueness and subjectivity in requirements prioritization, Proc. 22nd Pan-Hellenic Conf. on Informatics, PCI’18, Athens, 2018, pp. 150–155. https://doi.org/10.1145/3291533.3291574
Alonso, S., Chiclana, F., Herrera, F., Herrera-Viedma, E., Alcala-Fdez, J., and Porcel, C., A consistency-based procedure to estimate missing pairwise preference values, Int. J. Intell. Syst., 2008, vol. 23, no. 2, pp. 155–175. https://doi.org/10.1002/int.20262
Sharif, N., Zafar, K., and Zyad, W., Optimization of requirement prioritization using computational intelligence technique, Proc. Int. Conf. on Robotics and Emerging Allied Technologies in Engineering, iCREATE 2014, Islamabad, 2014, pp. 228–234. https://doi.org/10.1109/iCREATE.2014.6828370
Sureka, A., Requirements prioritization and next-release problem under nonadditive value conditions, Proc. Australian Software Engineering Conf., ASWEC 2014, Sydney, 2014, pp. 120–123. https://doi.org/10.1109/ASWEC.2014.12
McZara, J., Sarkani, S., Holzer, T., and Eveleigh, T., Software requirements prioritization and selection using linguistic tools and constraint solvers – a controlled experiment, Empirical Software Eng., 2015, vol. 20, no. 6, pp. 1721–1761. https://doi.org/10.1007/s10664-014-9334-8
Xuan, J., Jiang, H., Ren, Z., and Luo, Z., Solving the large scale next releaseьproblem with a backbone-based multilevel algorithm, IEEE Trans. Software Eng., 2012, vol. 38, no. 5, pp. 1–18. https://doi.org/10.1109/TSE.2011.92
Author information
Authors and Affiliations
Corresponding authors
Rights and permissions
About this article
Cite this article
Somohano-Murrieta, J.C., Ocharán-Hernández, J.O., Sánchez-García, Á.J. et al. Improving the Analytic Hierarchy Process for Requirements Prioritization Using Evolutionary Computing. Program Comput Soft 47, 746–756 (2021). https://doi.org/10.1134/S0361768821080235
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S0361768821080235