(2) Rozilawati Razali (Center for Software Technology and Management, FTSM, Universiti Kebangsaan Malaysia, Bangi, Selangor, Malaysia)
(3) Mohd Zakree Ahmad Nazree (Center for Artificial Intelligence and Technology, FTSM, Universiti Kebangsaan Malaysia, Bangi, Selangor, Malaysia)
*corresponding author
AbstractRequirement prioritization (RP) is a crucial task in managing requirements as it determines the order of implementation and, thus, the delivery of a software system. Improper RP may cause software project failures due to over budget and schedule as well as a low-quality product. Several factors influence RP. One of which is requirements dependency. Handling inappropriate handling of requirements dependencies can lead to software development failures. If a requirement that serves as a prerequisite for other requirements is given low priority, it affects the overall project completion time. Despite its importance, little is known about requirements dependency in RP, particularly its impacts, types, and techniques. This study, therefore, aims to understand the phenomenon by analyzing the existing literature. It addresses three objectives, namely, to investigate the impacts of requirements dependency on RP, to identify different types of requirements dependency, and to discover the techniques used for requirements dependency problems in RP. To fulfill the objectives, this study adopts the Systematic Literature Review (SLR) method. Applying the SLR protocol, this study selected forty primary articles, which comprise 58% journal papers, 32% conference proceedings, and 10% book sections. The results of data synthesis indicate that requirements dependency has significant impacts on RP, and there are a number of requirements dependency types as well as techniques for addressing requirements dependency problems in RP. This research discovered various techniques employed, including the use of Graphs for RD visualization, Machine Learning for handling large-scale RP, decision making for multi-criteria handling, and optimization techniques utilizing evolutionary algorithms. The study also reveals that the existing techniques have encountered serious limitations in terms of scalability, time consumption, interdependencies of requirements, and limited types of requirement dependencies.
KeywordsRequirement prioritization; Requirements dependencies; Systematic literature review; Machine learning; Optimization technique
|
DOIhttps://doi.org/10.26555/ijain.v9i2.1082 |
Article metricsAbstract views : 867 | PDF views : 209 |
Cite |
Full TextDownload |
References
[1] S. Fahmy and J. H. Yahaya, “The Role of Human in Software Configuration Management,” in The 2018 7th International Conference on Software and Computer Applications, 2018, pp. 56–60, doi: 10.1145/3185089.3185117.
[2] F. Hujainah, R. Binti, A. B. U. Bakar, and M. A. Abdulgabber, “Investigation of Requirements Interdependencies in Existing Techniques of Requirements Prioritization,” Hrčak, vol. 26, no. 4, pp. 1186–1190, 2019, doi: 10.17559/TV-20171129125407.
[3] N. Garg, “Recent Advancements in Requirement Elicitation and Prioritization Techniques,” in 2015 International Conference on Advances in Computer Engineering and Applications, Ghaziabad, India: IEEE, 2015, pp. 237–240. doi: 10.1109/ICACEA.2015.7164702.
[4] M. Soumya Krishnan, “RFP based Requirement Prioritization - A One-Step Solution,” Mater. Today Proc., vol. 5, no. 1, pp. 642–649, 2018, doi: 10.1016/j.matpr.2017.11.128.
[5] P. Bajaj and V. Arora, “Multi-Person Decision-Making for Requirements Prioritization using Fuzzy AHP,” ACM SIGSOFT Software Engineering Notes, vol. 38, no. 5, pp. 1–6, 2013. doi: 10.1145/2507288.2507302.
[6] R. H. Al-Ta’ani and R. Razali, “A Framework for Requirements Prioritisation Process in an Agile Software Development Environment: Empirical Study,” Int. J. Adv. Sci. Eng. Inf. Technol., vol. 6, no. 6, p. 846, 2016, doi: 10.18517/ijaseit.6.6.1375.
[7] M. Alrashoud, M. Al-hammadi, A. Ghoneim, E. Hazza, F. Alqahtani, and A. Abhari, “Cognitive and Hierarchical Fuzzy Inference System for Generating Next Release Planning in SaaS Applications,” IEEE Access, vol. 7, pp. 102966–102974, 2019, doi: 10.1109/ACCESS.2019.2929214.
[8] M. Masood, F. Azam, M. W. Anwar, and A. Amjad, “Defining Meta-Model for Value-Oriented Requirement Prioritization Technique,” in Proceedings of the 2019 7th International Conference on Computer and Communications Management, Bangkok, Thailand: ACM New York, NY, USA, 2019, pp. 72–77. doi: https://doi.org/10.1145/3348445.3352739.
[9] R. K. Chopra, V. Gupta, and D. S. Chauhan, “Experimentation on accuracy of non functional requirement prioritization projects ଝ,” Perspect. Sci., vol. 8, pp. 79–82, 2016, doi: 10.1016/j.pisc.2016.04.001.
[10] M. A. Rahman, R. Razali, and D. Singh, “A Risk Model of Requirements Change Impact Analysis,” J. Softw., vol. 9, no. 1, pp. 76–81, 2014, doi: 10.4304/jsw.9.1.76-81.
[11] N. C. Pa and A. M. Zain, “A Survey of Communication Content in Software Requirements Elicitation involving Customer and Developer,” J. Softw. Syst. Dev., vol. 2011, pp. 1-12, 2011, doi: 10.5171/2011.742200.
[12] A. Gupta and C. Gupta, “Towards Dependency Based Collaborative Method for Requirement Prioritization,” 2018 11th Int. Conf. Contemp. Comput. IC3 2018, pp. 1–3, 2018, doi: 10.1109/IC3.2018.8530542.
[13] H. Sheemar, “Enhancing User-Stories Prioritization Process in Agile Environment,” in 2017 International Conference on Innovations in Control, Communication and Information Systems (ICICCI), Greater Noida, India: IEEE, pp. 1-6, 2017. doi: 10.1109/ICICCIS.2017.8660760.
[14] F. F. Ismail, R. Razali, and Z. Mansor, “Considerations for Cost Estimation of Software Testing Outsourcing Projects,” Int. J. Adv. Sci. Eng. Inf. Technol., vol. 9, no. 1, pp. 142–152, 2019. doi: 10.18517/ijaseit.9.1.6382.
[15] A. Sureka, “Requirements Prioritization and Next-Release Problem under Non-Additive Value Conditions,” in 2014 23rd Australian Software Engineering Conference, Milsons Point, NSW, Australia: IEEE, 2014, pp. 120–123. doi: 10.1109/ASWEC.2014.12.
[16] P. Achimugu, A. Selamat, R. Ibrahim, and M. N. R. Mahrin, “A systematic literature review of software requirements prioritization research,” Inf. Softw. Technol., vol. 56, no. 6, pp. 568–585, 2014, doi: 10.1016/j.infsof.2014.02.001.
[17] N. Kukreja, S. S. Payyavula, B. Boehm, and S. Padmanabhuni, “Value-based requirements prioritization: Usage experiences,” Procedia Comput. Sci., vol. 16, pp. 806–813, 2013, doi: 10.1016/j.procs.2013.01.084.
[18] A. Mustapha and N. Ibrahim, “Minimizing Inter-Dependency Issues Of Requirements In Parallel Developing Software Projects With Ahp,” COMPUSOFT, An Int. J. Adv. Comput. Technol., vol. 8, no. Viii, pp. 3317–3323, 2019. Available at: https://search.proquest.com/openview/be41202e4771ac573941bf7633203a2c/1?pq-origsite=gscholar&cbl=2032622.
[19] A. Martakis, “Handling Requirements Dependencies in Agile Projects : A Focus Group with Agile Software Development Practitioners,” in IEEE 7th International Conference on Research Challenges in Information Science (RCIS), Paris, France: IEEE, 2013, pp. 1–11. doi: 10.1109/RCIS.2013.6577679.
[20] T. S. G. International, “Chaos Report 2015,” pp. 1-13, 2015. Available at: https://www.standishgroup.com/sample_research_files/CHAOSReport2015-Final.pdf
[21] F. Hujainah, R. B. A. Bakar, M. A. Abdulgabber, and K. Z. Zamli, “Software Requirements Prioritisation: A Systematic Literature Review on Significance, Stakeholders, Techniques and Challenges,” IEEE Access, vol. 6, pp. 71497–71523, 2018, doi: 10.1109/ACCESS.2018.2881755.
[22] T. Amelia and R. B. Mohamed, “Review on Cost-Value Approach for Requirements Prioritization Techniques,” Proc. - 2018 5th Int. Conf. Inf. Technol. Comput. Electr. Eng. ICITACEE 2018, pp. 310–314, 2018, doi: 10.1109/ICITACEE.2018.8576908.
[23] F. Sher, D. N. A. Jawawi, R. Mohamad, and M. I. Babar, “Requirements prioritization techniques and different aspects for prioritization a systematic literature review protocol,” 2014 8th Malaysian Softw. Eng. Conf. MySEC 2014, no. December, pp. 31–36, 2014, doi: 10.1109/MySec.2014.6985985.
[24] M. Sufian, Z. Khan, S. Rehman, and W. H. Butt, “A Systematic Literature Review : Software Requirements Prioritization Techniques,” in 2018 International Conference on Frontiers of Information Technology (FIT), Islamabad, Pakistan, Pakistan: IEEE Computer Society, 2018, pp. 35–40. doi: 10.1109/FIT.2018.00014.
[25] A. M. Pitangueira, R. S. P. Maciel, M. De Oliveira Barros, and A. S. Andrade, “A systematic review of software requirements selection and prioritization using SBSE approaches,” Lect. Notes Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics), vol. 8084 LNCS, pp. 188–208, 2013, doi: 10.1007/978-3-642-39742-4_15.
[26] R. H. Al-Ta’ani and R. Razali, “A Framework for Requirements Prioritisation Process in an Agile Software Development Environment: Empirical Study,” Int. J. Adv. Sci. Eng. Inf. Technol., vol. 6, no. 6, p. 846, 2016, doi: 10.18517/ijaseit.6.6.1375.
[27] B. Kitchenham et al., “Guidelines for performing Systematic Literature Reviews in Software Engineering,” Durham, UK, pp. 1-65, 2007. Available at: https://www.elsevier.com/__data/promis_misc/525444systematicreviewsguide.pdf
[28] N. Misaghian, H. Motameni, and M. Rabbani, “Prioritizing interdependent software requirements using tensor and fuzzy graphs,” Turkish J. Electr. Eng. Comput. Sci., vol. 27, no. 4, pp. 2697–2717, 2019, doi: 10.3906/elk-1806-179.
[29] A. Gupta and C. Gupta, “CDBR: A semi-automated collaborative execute-before-after dependency-based requirement prioritization approach,” J. King Saud Univ. - Comput. Inf. Sci., vol. 34, no. 2, pp. 421-432, 2018, doi: 10.1016/j.jksuci.2018.10.004.
[30] H. Ahuja and U. Batra, “Performance Enhancement in Requirement Prioritization by Using Least-Squares-Based Random Genetic Algorithm,” in Innovations in Computational Intelligence, Singapore: Springer, Singapore,vol. 713, pp. 251–263, 2018. doi: 10.1007/978-981-10-4555-4_17
[31] L. Alawneh, “Requirements Prioritization Using Hierarchical Dependencies,” in Advances in Intelligent Systems and Computing, AISC, Volu.Cham: Springer, Cham, vol. 558, pp. 459–464, 2018. doi: 10.1007/978-3-319-54978-1.
[32] N. Condori-Fernandez, M. F. Granda, and T. E. J. Vos, “Towards a functional requirements prioritization with early mutation testing,” 2018 IEEE/ACM 5th Int. Work. Requir. Eng. Test., pp. 21–24, 2018, doi: 10.1145/3195538.3195539.
[33] A. Felfernig and M. Stettinger, “Towards Utility-based Prioritization of Requirements in Open Source Environments,” in 2018 IEEE 26th International Requirements Engineering Conference, IEEE, Ed., Banff, Canada, 2018, pp. 406–411. doi: 10.1109/RE.2018.00-17.
[34] S. Jayatilleke, R. Lai, and K. Reed, “A method of requirements change analysis,” Requir. Eng., vol. 23, no. 4, pp. 493-508, 2017, doi: 10.1007/s00766-017-0277-7.
[35] F. Shao, R. Peng, H. Lai, and B. Wang, “DRank: A semi-automated requirements prioritization method based on preferences and dependencies,” J. Syst. Softw., vol. 126, pp. 141–156, 2017, doi: 10.1016/j.jss.2016.09.043.
[36] M. Alkandari and A. Al-shammeri, “Enhancing the Process of Requirements Prioritization in Agile Software Development - A Proposed Model,” J. Softw., vol. 12, no. 6, pp. 439–453, 2017, doi: 10.17706/jsw.12.6.439-453.
[37] R. M. Liaqat, M. A. Ahmed, F. Azam, and B. Mehboob, “A Majority Voting Goal Based technique for Requirement Prioritization,” 2016 22nd Int. Conf. Autom. Comput. ICAC 2016 Tackling New Challenges Autom. Comput., pp. 435–439, 2016, doi: 10.1109/IConAC.2016.7604958.
[38] Z. Peng, J. W. B, K. He, and H. Li, “An Approach for Prioritizing Software Features Based on Node Centrality in Probability,” in Computer Science, in vol 9679, vol. 1. Cham: Springer, Cham, 2016, pp. 106–121. doi: 10.1007/978-3-319-35122-3.
[39] A. Allex, A. Matheus, I. Yeltsin, A. Dantas, and J. Souza, “An Architecture based on interactive optimization and machine learning applied to the next release problem,” Autom. Softw. Eng., vol. 24, no. 3, pp. 623–671, 2016, doi: 10.1007/s10515-016-0200-3.
[40] D. Mougouei, “Factoring Requirement Dependencies in Software Requirement Selection using Graphs and Integer Programming,” in 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE), Singapore: IEEE International Conference, 2016, pp. 884–887. doi: 10.1145/2970276.2975936
[41] R. Lagerström, M. Addibpour, and F. Heiser, “Product Feature Prioritization Using the Hidden Structure Method: A Practical Case at Ericsson,” in 2016 Proceedings of PICMET ’16: Technology Management for Social Innovation, Honolulu, Hawaii, USA: PICMET, 2016, pp. 2308–2315. doi: 10.1109/PICMET.2016.7806519.
[42] S. Valsala and A. R. Nair, “Requirement Prioritization and Scheduling in Software Release Planning Using Hybrid Enriched Genetic Revamped Integer Linear Programming Model Karpagam University , Coimbatore , Scientist Department , Bangalore , India,” Res. J. Appl. Sci. Eng. Technol., vol. 12, no. 3, pp. 347–354, 2016, doi: 10.19026/rjaset.12.2342.
[43] R. Alzyoudi, K. Almakadmeh, and H. Natoureah, “A Probability Algorithm for Requirement Selection In Component-Based Software Development,” IPAC ’15 Proc. Int. Conf. Intell. Inf. Process. Secur. Adv. Commun., pp. 1–6. doi: 10.1145/2816839.2816871.
[44] P. R. B and M. Patrick, “Estimating the Implementation Risk of Requirements in Agile Software Development Projects with Traceability Metrics,” in International Working Conference on Requirements Engineering: Foundation for Software Quality, Switzerland: Springer International Publishing, 2015, pp. 81–97. doi: 10.1007/978-3-319-16101-3.
[45] M. Alrashoud and A. Abhari, “Intelligent Automation & Soft Computing Perception-Based Software Release Planning,” Intell. Autom. Soft Comput., vol. 21, no. 2, pp. 175–195, 2015, doi: 10.1080/10798587.2014.960229.
[46] J. Cox, E. Bouwers, M. Van Eekelen, and J. Visser, “Measuring Dependency Freshness in Software Systems,” in 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Florence, Italy: IEEE, 2015, pp. 109–118. doi: 10.1109/ICSE.2015.140.
[47] A. Sureka, “Requirements Prioritization and Next-Release Problem under Non-Additive Value Conditions,” in 2014 23rd Australasian Software Engineering Conference, Sydney: IEEE, 2014, pp. 120–123. doi: 10.1109/ASWEC.2014.12.
[48] Z. Tong, Q. Zhuang, Q. Guo, and P. Ma, “Research on Technologies of Software Requirements Prioritization,” in International Conference on Trustworthy Computing and Services ISCTCS 2013, Beijing, China: Springer, Berlin, Heidelberg, 2014, pp. 9–21. doi: 10.1007/978-3-662-43908-1.
[49] J. Mczara, S. Sarkani, T. Holzer, and T. Eveleigh, “Software requirements prioritization and selection using linguistic tools and constraint solvers — a controlled experiment,” Empir. Softw. Eng., vol. 20, no. 6, pp. 1721–1761, 2014, doi: 10.1007/s10664-014-9334-8.
[50] F. Fellir, K. Nafil, and Rajaa Touahni, “System requirements prioritization based on AHP,” in 2014 Third IEEE International Colloquium in Information Science and Technology (CIST), Tetouan, Morocco: IEEE, 2014, pp. 163–167. doi: 10.1109/CIST.2014.7016612.
[51] P. Tonella, A. Susi, and F. Palma, “Interactive requirements prioritization using a genetic algorithm,” Inf. Softw. Technol., vol. 55, no. 1, pp. 173–187, 2013, doi: 10.1016/j.infsof.2012.07.003.
[52] M. Daneva et al., “Agile requirements prioritization in large-scale outsourced system projects : An empirical study,” J. Syst. Softw., vol. 86, no. 5, pp. 1333–1353, 2013, doi: 10.1016/j.jss.2012.12.046.
[53] A. Koziolek, “Architecture-Driven Quality Requirements Prioritization,” in 2012 First IEEE International Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks), Chicago, Illinois, USA: IEEE, 2012, pp. 15–19. doi: 10.1109/TwinPeaks.2012.6344554.
[54] R. Samer, M. Stettinger, and A. Felfernig, “Group Recommender User Interfaces for Improving Requirements Prioritization,” UMAP 2020 - Proc. 28th ACM Conf. User Model. Adapt. Pers., pp. 221–229, 2020, doi: 10.1145/3340631.3394851.
[55] M. Atas, R. Samer, and A. Felfernig, “Automated Identification of Type-Specific Dependencies between Requirements,” Proc. - 2018 IEEE/WIC/ACM Int. Conf. Web Intell. WI 2018, pp. 688–695, 2019, doi: 10.1109/WI.2018.00-10.
[56] H. Saeeda, J. Dong, Y. Wang, and M. A. Abid, “A proposed framework for improved software requirements elicitation process in SCRUM: Implementation by a real-life Norway-based IT project,” J. Softw. Evol. Process, vol. 32, no. 7, pp. 1–24, 2020, doi: 10.1002/smr.2247.
[57] D. Mougouei and D. M. W. Powers, “Dependency-aware software release planning through mining user preferences,” Soft Comput., vol. 24, no. 15, pp. 11673–11693, 2020, doi: 10.1007/s00500-019-04630-y.
[58] H. Zhang, M. Zhang, T. Yue, S. Ali, and Y. Li, “Uncertainty-wise Requirements Prioritization with Search,” ACM Trans. Softw. Eng. Methodol., vol. 30, no. 1, pp. 1-54, 2021, doi: 10.1145/3408301.
[59] F. Hujainah, R. Binti Abu Bakar, A. B. Nasser, B. Al-haimi, and K. Z. Zamli, “SRPTackle: A semi-automated requirements prioritisation technique for scalable requirements of software system projects,” Inf. Softw. Technol., vol. 131, no. November 2020, p. 106501, 2021, doi: 10.1016/j.infsof.2020.106501.
[60] G. Deshpande et al., “Requirements Dependency Extraction by Integrating Active Learning with Ontology-Based Retrieval,” Proc. IEEE Int. Conf. Requir. Eng., vol. 2020-Augus, pp. 78–89, 2020, doi: 10.1109/RE48521.2020.00020.
[61] A. Ali, Y. Hafeez, S. Hussain, and S. Yang, “Role of Requirement Prioritization Technique to Improve the Quality of Highly-Configurable Systems,” IEEE Access, vol. 8, pp. 27549–27573, 2020, doi: 10.1109/ACCESS.2020.2971382.
[62] A. Vescan and C. Serban, “Towards a new Test Case Prioritization Approach based on Fuzzy Clustering Analysis,” Proc. - 2020 IEEE Int. Conf. Softw. Maint. Evol. ICSME 2020, pp. 786–788, 2020, doi: 10.1109/ICSME46990.2020.00091.
[63] M. Sadiq and V. S. Devi, “A rough-set based approach for the prioritization of software requirements,” Int. J. Inf. Technol., vol. 14, no. 1, pp. 447–457, 2022, doi: 10.1007/s41870-021-00749-0.
[64] P. Carlshamre, K. Sandahl, M. Lindvall, B. Regnell, and J. Natt och Dag, “An industrial survey of requirements interdependencies in software product release planning,” Proc. IEEE Int. Conf. Requir. Eng., pp. 84–91, 2001, doi: 10.1109/ISRE.2001.948547.
[65] C. Li, M. van den Akker, S. Brinkkemper, and G. Diepen, “An integrated approach for requirement selection and scheduling in software release planning,” Requir. Eng., vol. 15, no. 4, pp. 375–396, May 2010, doi: 10.1007/S00766-010-0104-X.
[66] Å. G. Dahlstedt and A. Persson, “Requirements Interdependencies : State of the Art and Future Challenges,” in Engineering and Managing Software Requirements, Springer, pp. 95-116, 2005. doi: 10.1007/3-540-28244-0_5
[67] G. Deshpande, “SReYantra: Automated software requirement inter-dependencies elicitation, analysis and learning,” Proc. - 2019 IEEE/ACM 41st Int. Conf. Softw. Eng. Companion, ICSE-Companion 2019, pp. 186–187, May 2019, doi: 10.1109/ICSE-COMPANION.2019.00076.
[68] A. Felfernig et al., “Towards utility-based prioritization of requirements in open source environments,” Proc. - 2018 IEEE 26th Int. Requir. Eng. Conf. RE 2018, pp. 406–411, 2018, doi: 10.1109/RE.2018.00-17.
[69] T. L. Saaty, “Decision Making – The Analytic Hierarchy And Network Processes ( AHP / ANP ),” J. Syst. Sci. Syst. Eng., vol. 13, no. 1, pp. 1–35, 2004. doi: 10.1007/s11518-006-0151-5.
[70] J. McZara, S. Sarkani, T. Holzer, and T. Eveleigh, “Software requirements prioritization and selection using linguistic tools and constraint solvers—a controlled experiment,” Empir. Softw. Eng., vol. 20, no. 6, pp. 1721–1761, 2015, doi: 10.1007/s10664-014-9334-8.
[71] R. Lagerström, M. Addibpour, and F. Heiser, “Product feature prioritization using the Hidden Structure method: A practical case at Ericsson,” PICMET 2016 - Portl. Int. Conf. Manag. Eng. Technol. Technol. Manag. Soc. Innov. Proc., pp. 2308–2315, 2017, doi: 10.1109/PICMET.2016.7806519.
[72] N. Condori-Fernandez and P. Lago, “Characterizing the contribution of quality requirements to software sustainability,” J. Syst. Softw., vol. 137, pp. 289–305, 2018, doi: 10.1016/j.jss.2017.12.005.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
___________________________________________________________
International Journal of Advances in Intelligent Informatics
ISSN 2442-6571 (print) | 2548-3161 (online)
Organized by UAD and ASCEE Computer Society
Published by Universitas Ahmad Dahlan
W: http://ijain.org
E: info@ijain.org (paper handling issues)
andri.pranolo.id@ieee.org (publication issues)
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0