Skip to main content
Log in

Improving the Analytic Hierarchy Process for Requirements Prioritization Using Evolutionary Computing

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

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.

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.
Fig. 4.
Fig. 5.

Similar content being viewed by others

REFERENCES

  1. Newman, S., Building Microservices: Designing Fine-Grained Systems, 1st ed., O’Reilly Media, 2015.

    Google Scholar 

  2. 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

  3. 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.

    Google Scholar 

  4. Dick, J., Hull, E., and Jackson, K., Requirements Engineering, Cham: Springer Int. Publ., 2017. https://doi.org/10.1007/978-3-319-61073-3

    Book  MATH  Google Scholar 

  5. Wiegers, K.E. and Beatty, J., Software Requirements, 3rd ed., Redmond, WA: Microsoft Press, 2013.

    Google Scholar 

  6. 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

  7. 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

  8. 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

  9. 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/

  10. 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

  11. 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

    Article  Google Scholar 

  12. 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

  13. 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

  14. 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

  15. 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

    Article  Google Scholar 

  16. 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

  17. 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

  18. 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

  19. 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.

    Article  Google Scholar 

  20. 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

    Article  Google Scholar 

  21. 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

  22. 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

    Article  Google Scholar 

  23. 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

    Article  Google Scholar 

  24. 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.

    Google Scholar 

  25. 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.

  26. 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.

    MATH  Google Scholar 

  27. 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

  28. 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

    Article  Google Scholar 

  29. 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

    Article  Google Scholar 

  30. 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

  31. 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

  32. 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

  33. 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

    Article  Google Scholar 

  34. 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.

    Article  Google Scholar 

  35. 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

    Article  Google Scholar 

  36. 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

    Article  Google Scholar 

  37. 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

  38. 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

  39. 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

    Article  Google Scholar 

  40. 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

  41. 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

  42. 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

    Article  Google Scholar 

  43. 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Juan Carlos Benjamín Somohano-Murrieta, Jorge Octavio Ocharán-Hernández, Ángel J. Sánchez-García, Xavier Limón or María de los Ángeles Arenas-Valdés.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768821080235

Navigation