Abstract
Requirements prioritization is essential for development of quality software products. Requirements prioritization helps focus on the most important requirements between the available software requirements. This process is also called preserving core vision according to customer viewpoint or managing the quality requirements. Many requirements prioritization techniques have been proposed in the Software Engineering field. However, one requirement prioritization technique can only be generalized for some software projects. This research effort aims to develop a sustainable hybrid model for requirements prioritization, utilizing critical software project factors. The prioritization technique is shortlisted from a pool of software prioritization techniques, based on these project factors and their quantized scores. The proposed model is equipped with state-of-the-art literature to provide a customized prioritization technique improving the requirements prioritization process for a specific software project. The paper also presents popular software prioritization techniques used in the software industry and an extensive comparison using a thorough empirical analysis. Finally, the quantization of the software project factors for each technique has been assessed for better understanding, and a sustainable hybrid model has been constructed. With the proposed hybrid model, requirements prioritization in software development has been controlled effectively, reducing the failure risks and increasing the overall benefit and success rate. The success of the proposed hybrid approach is verified with two software case studies attaining satisfactory results and improving the organization's productivity by incorporating pivotal software requirements on which all the stakeholders agree. Furthermore, an automated approach will be developed by implementing the proposed approach to benefit from human–machine collaboration, improving user satisfaction by incorporating end-user opinions effectively and timely.
Similar content being viewed by others
Data Availability
The data used to support the findings of this research study are available from the corresponding author upon request.
References
Achimugu P, Selamat A, Ibrahim R (2014a) A clustering based technique for large scale prioritization during requirements elicitation. In Recent Advances on Soft Computing and Data Mining: Proceedings of The First International Conference on Soft Computing and Data Mining (SCDM-2014) Universiti Tun Hussein Onn Malaysia, Johor, Malaysia June 16th–18th, 2014:623–632. Springer International Publishing.
Achimugu P, Selamat A, Ibrahim R, Mahrin MN (2014b) A systematic literature review of software requirements prioritization research. Inf Softw Technol 56:568–585
Ahl V (2005) An experimental comparison of five prioritization methods: investigating ease of use, accuracy and scalability. School of Engineering, Blekinge Institute of Technology Sweden,1–89
Ahmad A, Feng C, Khan M, Khan A, Ullah A, Nazir S, Tahir A (2020) A systematic literature review on using machine learning algorithms for software requirements identification on stack overflow. Secur Commun Netw 2020:1–19.
Ahmed M, Rehman S, Aslam K (2023) An NLP-based quality attributes extraction and prioritization framework in Agile-driven software development. Autom Softw Eng 30(7):1–24
Ali A, Hafeez Y, Hussain S, Yang S (2020) Role of requirement prioritization technique to improve the quality of highly-configurable systems. IEEE Access 8:27549–27573
Amelia T, Mohamed RB (2021) A proposed requirements prioritization model based on cost-value approach with collaboration perspective. In: International conference on software engineering and computer systems and 4th international conference on computational science and information management (ICSECS-ICOCSIM),10–15
Amelia T, Mohamed R (2023) A review: requirements prioritization criteria within collaboration perspective. Sci Technol 31(1):161–185
Avdic A, Lambrinos T (2015) Modeling and illustrating requirement prioritization in public E-service development from a value-based perspective. Electron J e-Government 13(1):3–17.
Ayub K, Azam F, Anwar MW, Jahan AA (2019) A novel approach for software requirement prioritization based upon non functional requirements. In: 7th international conference in software engineering research and innovation (CONISOFT), 8–15
Azar J, Smith RK, Cordes D (2007) Value-oriented requirements prioritization in a small development organization. IEEE software 24(1):32–37
Barbosa P, Pinheiro P, Silveira F (2019) Selection and prioritization of software requirements applying verbal decision analysis. Complexity 2019:1–21
Berander PA (2005) Requirements prioritization. Springer, Berlin, 69–94
Borhan N, Zulzalil H, Sa’adah Hassan NM (2019) Requirements prioritization techniques focusing on agile software development: a systematic literature. Int J Sci Technol Res 8(11):2118–2125
Chua F-F, Lim T-Y, Tajuddin B, Yanuarifiani AP (2022) Incorporating semi-automated approach for effective software requirements prioritization: A framework design. J Inform Web Eng 1(1):1–15
Dabbagh MA (2015) An approach for prioritizing NFRs according to their relationship with FRs. Lect Notes Softw Eng 3:1–5
Devadas R, Cholli N (2022) Interdependency aware Qubit and Brownboost Rank requirement learning for large scale software requirement prioritization. Int J Comput Digit Syst 1(1):625–634
Greer D, Ruhe G (2004) Software release planning: an evolutionary and iterative approach. Inf Softw Technol 46:243–253
Gupta A, Gupta C (2022) CDBR: a semi-automated collaborative execute-before-after dependency-based requirement prioritization approach. J King Saud Univ Comput Inf Sci 34:421–432
Hamad M, Elsayed A, El-Borai M, Abdelmoez W (2016) Software product requirements prioritization techniques: hardly easy. Int J Artif Intell Mechatron 4(6):198–209
Hatton S (2008) Choosing the right prioritisation method. In: 19th Australian conference on software engineering (ASWEC 2008), 517–526
Hofmann HF, Lehner F (2001) Requirements engineering as a success factor in software projects. IEEE Softw 18:58–66
Hoy Z (2022) Sixteen limitations for five popular requirements prioritisation approaches. In: Emerging technologies for innovation management in the software industry 202–222, https://doi.org/10.4018/978-1-7998-9059-1.ch013
Hujainah F, Bakar R, Abdulgabber M, Zamli K (2018) Software requirements prioritisation: a systematic literature review on significance, stakeholders, techniques and challenges. IEEE Access 6:71497–71523
Ian Sommerville PS (1997) RE: a good practice guide. Wiley, New York
Ibriwesh I, Ho S, Chai I, Tan C (2019) Prioritizing solutionoriented software requirements using the multiple perspective prioritization technique algorithm: an empirical investigation. Concurr Eng 27(1):8–79
Iqbal J, Ahmad R, Khan M, Alyahya S, Nizam Nasir S, Akhunzada A, Shoaib M (2020) Requirements engineering issues causing software development outsourcing failure. PLoS ONE 15(4):e0229785
Karlsson L (2006) Requirements prioritisation and retrospective analysis for release planning process improvement. Lund University, Lund
Karlsson J, Ryan K (1997) A cost-value approach for prioritizing requirements. IET Softw 14:67–74
Karlsson L, Berander P, Regnell B, Wohlin C (2004) Requirements prioritisation: an experiment on exhaustive pair-wise comparisons versus planning game partitioning. In: 8th conference on empirical assessment in software engineering. Edinburg, UK
Kasauli R, Knauss E, Horkoff J, Liebel G, Neto FG (2021) Requirements engineering challenges and practices in large-scale agile system development. J Syst Softw 172:110851
Khalid S, Rasheed U, Munerr M, Haider W, Mehmood R, Qamar U (2023) Common problems in software requirement engineering process: an overview of Pakistani software industry. In: 2023 4th international conference on advancements in computational sciences (ICACS)
Khan JA, Izaz-ur-Rehman, Khan SP, Qasim I, Khan YH (2016a) Evaluation of requirement prioritization techniques with ANP. Int J Adv Comp Sci Appl 7(7):419–429
Khan J, Rehman I, Ali L Khan S, Khan I (2016b) Requirements prioritization using analytic network process (anp). Int J Sci Eng Res 7(11):35–41
Khan JA, Rehman IU, Khan YH, Rashid IJ (2016c) Comparison of requirement prioritization techniques to find best prioritization technique. Int Mod Edu Comp Sci 7(11):53–59
Khan JA, Liu L, Wen L, Ali R (2019a) Crowd intelligence in requirements engineering: current status and future directions. In: 25th international working conference, REFSQ. Essen 245–261
Khan JA, Xie Y, Liu L, Wen L (2019b) Analysis of requirements-related arguments in user forums. In: 27th international requirements engineering conference (RE) 63–74
Khan JA, Liu L, Wen L (2020) Requirements knowledge acquisition from online user forums. IET Softw 14(3):242–253
Khan JA, Liu L, Wen L, Ali R (2021) Conceptualising, extracting and analysing requirements arguments in users' forums: the CrowdRE‐Arg framework. In: 29th international requirements engineering conference workshops (REW). IEEE 87–95
Khan JA, Yasin A, Fatima R, Vasan D, Khan AA, Khan AW (2022) Valuating requirements arguments in the online user’s forum for requirements decision-making: the CrowdRE-VArg framework. Softw Prac Exp 52(12):2537–2573
Kifetew FM, Perini A, Susi A, Siena A, Muñante D, Morales-Ramirez I (2021) Automating user-feedback driven requirements prioritization. Inf Softw Technol 138:106635
Lawrence B, Ebert KW (2001) The top risk of requirements engineering. IEEE Softw 18:62–63
Marghny M, El-Hawary H, Dukhan W (2017) An effective method of systems requirement optimization based on genetic algorithms. Inf Sci Lett 6(1):15–28
Masood M, Azam F, Anwar A, Amjad A (2019) Defining metamodel for value-oriented requirement prioritization technique. In: Proceedings of the 2019 7th international conference on computer and communications management, 2019, 72–77
Mohd-Shafie M, Wan-Kadir W, Khatibsyarbini M, Isa MA (2020) Model-based test case prioritization using selective and even-spread count-based methods with scrutinized ordering criterion. PLoS ONE 15(2):e0229312
Nasir M, Sahibuddin S (2011) Critical success factors for software projects: a comparative study. J Sci Res Essays 6(10):2174–2186
Nazim M, Mohammad CW, Sadiq M (2022) Fuzzy-based methods for the selection and prioritization of software requirements: a systematic literature review. In: Proceedings of the 9th international conference on frontiers in intelligent computing: theory and applications (FICTA 2021). Singapore, 115–129
Nuseibeh B, Easterbrook S (2000) Requirements engineering: a roadmap. In: Proceedings of the conference on the future of software engineering, 46–50
Pinciroli F, Justo J, Forradellas R (2020) Systematic mapping study: on the coverage of aspect-oriented methodologies for the early phases of the software development life cycle. J King Saud University-Comp Inf Sci 34(6):2883–2896
Ramamohanreddy A (2019) A regression test based on the test case prioritization techniques by using the nature of bees. Int J Innov Tech Explor Eng 8:1–5. https://doi.org/10.35940/ijitee.i3059.0789s319
Sadiq M, Devi VS (2022) A rough-set based approach for the prioritization of software requirements. Int J Inf Technol 14:447–457
Sadiq M, Shahid M, Ahmad S (2010) Adding threat during software requirements elicitation and prioritization. Int J Computer Appl 1(9):44–49.
Saher N, Baharom F, Romli R (2018) A review of requirement prioritization techniques in agile software development. In: Knowledge management international conference (KMICe), 25–27
Sapunkov A, Afanasieva T (2019) Software for automation of user requirements prioritization. In: Proceedings of the 2019 2nd international conference on geoinformatics and data analysis, 2019, 1–5
Silva G, Canedo E (2022) Requirements engineering challenges and techniques in building chatbots. In: Proceedings of the 14th international conference on agents and artificial intelligence (ICAART 2022) 1:180–187
Thakurta R (2016) A proposition of a set of design principles for requirement prioritization artifacts. J Inf Tech Manag 27(1):28–47.
Ullah MA, Saeed M, Dar HS (2015) Stakeholder’s influence in requirement engineering: identification and prioritization. In: 1st international multi-disciplinary conference (IMDC). Lahore, Pakistan.
Zhang H, Zhang M, Yue T, Ali S, Li Y (2020) Uncertainty wise requirements prioritization with search. ACM Trans Softw Eng Methodol (TOSEM) 30(1):1–54
Acknowledgements
This research is funded by Research Supporting Project Number (RSPD2023R553), King Saud University, Riyadh, Saudi Arabia.
Author information
Authors and Affiliations
Contributions
Conceptualization, HA, and JAK; methodology, SS; software, MSA; validation, KA, and MA; formal analysis, JAK; investigation, HA; resources, SS; data curation, HA; writing—original draft preparation, MSA; writing—review and editing, JAK; visualization, MSA; supervision, KA, project administration, MA and KA; funding acquisition. All authors have read and agreed to the published version of the manuscript.
Corresponding authors
Ethics declarations
Conflict of interest
The authors declare no competing interests.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix A: Demographics of respondents
Appendix A: Demographics of respondents
Sr. no. | Job title | Age | Experience (years) | Company size |
---|---|---|---|---|
1 | Project Manager | 40 | 5 | Large |
2 | Project Manager | 34 | 7 | Large |
3 | Associate Vice President | 39 | 21 | Large |
4 | Project Director | 36 | 11 | Large |
5 | Senior Team Lead | 39 | 4 | Large |
6 | Senior Project Manager | 41 | 6 | Large |
7 | Program Manager | 43 | 7 | Large |
8 | Corresponder | 35 | 9 | Large |
9 | IT Consultant | 37 | 10 | Large |
10 | IT Consultant | 40 | 8 | Large |
11 | Project Director | 34 | 14 | Large |
12 | Client Relationship Manager | 38 | 9 | Large |
13 | Senior Developer | 39 | 8 | Large |
14 | Project Manager | 36 | 13 | Large |
15 | Business Analyst | 39 | 10 | Small |
16 | Project Consultant | 41 | 7 | Small |
17 | Project Coordinator | 43 | 6 | Large |
18 | Project Manager | 40 | 10 | Large |
19 | Senior Team Lead | 35 | 4 | Medium |
20 | Developer | 40 | 3 | Large |
21 | Project Manager | 37 | 7 | Small |
22 | Senior Developer | 39 | 5 | Medium |
23 | Business Analyst | 38 | 6 | Medium |
24 | Program Manager | 36 | 10 | Large |
25 | Department vice president | 46 | 18 | Large |
26 | Project Manager | 33 | 5 | Small |
27 | Developer | 38 | 3 | Medium |
28 | Project Manager | 41 | 8 | Large |
29 | Project Consultant | 33 | 3 | Medium |
30 | Program Manager | 45 | 6 | Large |
31 | Software Engineer | 38 | 3 | Medium |
32 | Project Leader | 34 | 5 | Large |
33 | Project Coordinator | 32 | 3 | Medium |
34 | Process Consultant | 33 | 9 | Large |
35 | Project Coordinator | 30 | 6 | Large |
36 | Assistant Manager | 41 | 12 | Large |
37 | Senior Team Lead | 43 | 4 | Medium |
38 | Business Analyst | 35 | 6 | Medium |
39 | Project Manager | 42 | 7 | Large |
40 | Project Leader | 37 | 5 | Large |
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Arshad, H., Shaheen, S., Khan, J.A. et al. A novel hybrid requirement’s prioritization approach based on critical software project factors. Cogn Tech Work 25, 305–324 (2023). https://doi.org/10.1007/s10111-023-00729-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10111-023-00729-3