Abstract
The standard software development life cycle heavily depends on requirements elicited from stakeholders. Based on those requirements, software development is planned and managed from its inception phase to closure. Due to time and resource constraints, it is imperative to identify the high-priority requirements that need to be considered first during the software development process. Moreover, existing prioritization frameworks lack a store of historical data useful for selecting the most suitable prioritization technique of any similar project domain. In this paper, we propose a framework for prioritization of software requirements, called RePizer, to be used in conjunction with a selected prioritization technique to rank software requirements based on defined criteria such as implementation cost. RePizer assists requirements engineers in a decision-making process by retrieving historical data from a requirements repository. RePizer also provides a panoramic view of the entire project to ensure the judicious use of software development resources. We compared the performance of RePizer in terms of expected accuracy and ease of use while separately adopting two different prioritization techniques, planning game (PG) and analytical hierarchy process (AHP). The results showed that RePizer performed better when used in conjunction with the PG technique.
Similar content being viewed by others
References
Achimugu, P., Selamat, A., Ibrahim, R., et al., 2014. A systematic literature review of software requirements prioritization research. Inform. Softw. Technol., 56(6):568–585. http://dx.doi.org/10.1016/j.infsof.2014.02.001
Ahl, V., 2005. An Experimental Comparison of Five Prioritization Methods—Investigating Ease of Use, Accuracy and Scalability. MS Thesis, Blekinge Institute of Technology, Ronneby, Sweden.
Arias, T.B.C., America, P., Avgeriou, P., 2011. Defining and documenting execution viewpoints for a large and complex software-intensive system. J. Syst. Softw., 84(9):1447–1461. http://dx.doi.org/10.1016/j.jss.2010.11.908
Avesani, P., Bazzanella, C., Perini, A., et al., 2004. Supporting the requirements prioritization process: a machine learning approach. Proc. 16th Int. Conf. on Software Engineering and Knowledge Engineering, p.306–311.
Bebensee, T., van de Weerd, I., Brinkkemper, S., 2010. Binary priority list for prioritizing software requirements. LNCS, 6182:67–78. http://dx.doi.org/10.1007/978-3-642-14192-8_8
Beck, K., 2000. Extreme Programming Explained: Embrace Change. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
Berander, P., 2007. Evolving Prioritization for Software Product Management. PhD Thesis, Blekinge Institute of Technology, Sweden.
Berander, P., Andrews, A., 2005. Requirements prioritization. In: Aurum, A., Wohlin, C. (Eds.), Engineering and Managing Software Requirements. Springer, p.69–94. http://dx.doi.org/10.1007/3-540-28244-0_4
Berander, P., Jönsson, P., 2006. Hierarchical cumulative voting (HCV)—prioritization of requirements in hierarchies. Int. J. Softw. Eng. Knowl. Eng., 16(6):819–849. http://dx.doi.org/10.1142/S0218194006003026
Bourque, P., Fairley, R.E., 2014. Guide to the Software Engineering Body of Knowledge (SWEBOK®), Version 3.0. IEEE Computer Society Press, Piscataway, New Jersey.
Brackett, J.W., 1990. Software Requirements. Technical Report, No. SEI-CM-19-1.2. Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, USA.
Creswell, J.W., 2013. Research Design: Qualitative, Quantitative, and Mixed Methods Approaches (4th Ed.). Sage Publications.
Dabbagh, M., Lee, S.P., 2013. A consistent approach for prioritizing system quality attributes. Proc. 14th ACIS Int. Conf. on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, p.317–322. http://dx.doi.org/10.1109/SNPD.2013.9
Dabbagh, M., Lee, S.P., 2014. An approach for integrating the prioritization of functional and nonfunctional requirements. Sci. World J., Article ID 737626. http://dx.doi.org/10.1155/2014/737626
Dabbagh, M., Lee, S.P., 2015. An approach for prioritizing NFRs according to their relationship with FRs. Lect. Notes Softw. Eng., 3(1):1–5. http://dx.doi.org/10.7763/LNSE.2015.V3.154
Dabbagh, M., Lee, S.P., Parizi, R.M., 2014. Application of hybrid assessment method for priority assessment of functional and non-functional requirements. Proc. Int. Conf. on Information Science and Applications, p.1–4. http://dx.doi.org/10.1109/ICISA.2014.6847365
Danesh, A.S., Mortazavi, S.M., Danesh, S.Y.S., 2009. Requirements prioritization in on-line banking systems using value-oriented framework. Int. Conf. on Computer Technology and Development, p.158–161. http://dx.doi.org/10.1109/ICCTD.2009.41
Daneva, M., Damian, D., Marchetto, A., et al., 2014. Empirical research methodologies and studies in requirements engineering: how far did we come? J. Syst. Softw., 95:1–9. http://dx.doi.org/10.1016/j.jss.2014.06.035
Dominguez, J., 2009. The Curious Case of the Chaos Report 2009. Available from http://www.projectsmart.co.uk/thecurious-case-of-the-chaos-report-2009.html
Firesmith, D., 2004. Prioritizing requirements. J. Obj. Technol., 3(8):35–47. http://dx.doi.org/10.5381/jot.2004.3.8.c4
Gorschek, T., 2006. Requirements Engineering Supporting Technical Product Management. PhD Thesis, Blekinge Institute of Technology, Sweden.
Karlsson, J., Ryan, K., 1997. A cost-value approach for prioritizing requirements. IEEE Softw., 14(5):67–74. http://dx.doi.org/10.1109/52.605933
Khan, S.U.R., Rehman, I.U., Malik, S.U.R., 2009. The impact of test case reduction and prioritization on software testing effectiveness. Int. Conf. on Emerging Technologies, p.416–421. http://dx.doi.org/10.1109/ICET.2009.5353136
Lauesen, S., 2002. Software Requirements: Styles and Techniques. Addison-Wesley Professional.
Leffingwell, D., Widrig, D., 2003. Managing Software Requirements: a Unified Approach. Addison-Wesley.
Lehtola, L., 2006. Providing Value by Prioritizing Requirements Throughout Product Development: State of Practice and Suitability of Prioritization Methods. PhD Thesis, Helsinki University of Technology, Finland.
Lehtola, L., Kauppinen, M., 2006. Suitability of requirements prioritization methods for market-driven software product development. Softw. Process Improv. Pract., 11(1):7–19. http://dx.doi.org/10.1002/spip.249
Library of Congress Portals Applications Interest Group (LCPAIG), 2003. Functional Requirements for an Open-URL Resolver for the Library of Congress. Available from http://www.loc.gov/catdir/lcpaig/openurl_requirements_20031104.pdf
Likert, R., 1932. A technique for the measurement of attitudes. Arch. Psychol., 22:1–55.
Liu, X.Q., Veera, C.S., Sun, Y., et al., 2004. Priority assessment of software requirements from multiple perspectives. 28th Annual Int. Computer Software and Applications Conf., p.410–415. http://dx.doi.org/10.1109/CMPSAC.2004.1342872
Mead, N., 2006. Requirements Prioritization Introduction. Software Engineering Institute Web Publication, Carnegie Mellon University, Pittsburgh, USA.
Mohammadi, S., Nikkhahan, B., Sohrabi, S., 2008. An analytical survey of “on-site customer” practice in extreme programming. Int. Symp. on Computer Science and Its Applications, p.1–6. http://dx.doi.org/10.1109/CSA.2008.72
Moisiadis, F., 2002. The fundamentals of prioritising requirements. Proc. Systems Engineering, Test and Evaluation Conf., p.109–119.
Otero, C.E., Dell, E., Qureshi, A., et al., 2010. A quality-based requirement prioritization framework using binary inputs. 4th Asia Int. Conf. on Mathematical/Analytical Modelling and Computer Simulation, p.187–192. http://dx.doi.org/10.1109/AMS.2010.48
Perini, A., Ricca, F., Susi, A., 2009. Tool-supported requirements prioritization: comparing the AHP and CBRank methods. Inform. Softw. Technol., 51(6):1021–1032. http://dx.doi.org/10.1016/j.infsof.2008.12.001
Perini, A., Susi, A., Avesani, P., 2013. A machine learning approach to software requirements prioritization. IEEE Trans. Softw. Eng., 39(4):445–461. http://dx.doi.org/10.1109/TSE.2012.52
Ramzan, M., Jaffar, M.A., Iqbal, M.A., et al., 2009. Value based fuzzy requirement prioritization and its evaluation framework. Proc. 4th IEEE Int. Conf. on Innovative Computing, Information and Control, p.1464–1468. http://dx.doi.org/10.1109/ICICIC.2009.375
Ramzan, M., Jaffar, M.A., Shahid, A.A., 2011. Value based intelligent requirement prioritization (VIRP): expert driven fuzzy logic based prioritization technique. Int. J. Innov. Comput. Inform. Contr., 7(3):1017–1038.
Ribeiro, R.A., Moreira, A.M., van den Broek, P., et al., 2011. Hybrid assessment method for software engineering decisions. Dec. Supp. Syst., 51(1):208–219. http://dx.doi.org/10.1016/j.dss.2010.12.009
Saaty, T.L., 2008. Decision making with the analytic hierarchy process. Int. J. Serv. Sci., 1(1):83–98. http://dx.doi.org/10.1504/IJSSCI.2008.017590
Sadiq, M., Shahid, M., Ahmad, S., 2010. Adding threat during software requirements elicitation and prioritization. Int. J. Comput. Appl., 1(9):50–54. http://dx.doi.org/10.5120/200-339
Siegel, S., Castellan, N.J., 1988. Nonparametric Statistics for the Behavioral Sciences (2nd Ed.). McGraw-Hill.
Sommerville, I., 2010. Software Engineering (9th Ed.). Pearson.
Tahriri, F., Dabbagh, M., Ale Ebrahim, N., 2014. Supplier assessment and selection using fuzzy analytic hierarchy process in a steel manufacturing company. J. Sci. Res. Rep., 3(10):1319–1338.
Wiegers, K., Beatty, J., 2013. Software Requirements (3rd Ed.). Microsoft Press.
Wohlin, C., Runeson, P., Höst, M., et al., 2012. Experimentation in Software Engineering. Springer Science & Business Media. http://dx.doi.org/10.1007/978-3-642-29044-2
Young, R.R., 2004. The Requirements Engineering Handbook. Artech House, Norwood, MA, USA.
Author information
Authors and Affiliations
Corresponding author
Additional information
Project supported by the Ministry of Education, Malaysia (No. UM.C/625/1/HIR/MOHE/FCSIT/13) and the Bright Sparks Program of University of Malaya, Malaysia (No. BSP-151(3)11)
ORCID: Saif Ur Rehman KHAN, http://orcid.org/0000-0002-9643-6858
Rights and permissions
About this article
Cite this article
Khan, S.U.R., Lee, S.P., Dabbagh, M. et al. RePizer: a framework for prioritization of software requirements. Frontiers Inf Technol Electronic Eng 17, 750–765 (2016). https://doi.org/10.1631/FITEE.1500162
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1631/FITEE.1500162
Keywords
- Software requirements
- Requirements prioritization techniques
- Prioritization framework
- Planning game
- Analytical hierarchy process