DRank: A semi-automated requirements prioritization method based on preferences and dependencies

Abstract There are many types of dependencies between software requirements, such as the contributions dependencies (Make, Some+, Help, Break, Some-, Hurt) and business dependencies modeled in the i * framework. However, current approaches for prioritizing requirements seldom take these dependencies into consideration, because it is difficult for stakeholders to prioritize requirements considering their preferences as well as the dependencies between requirements. To make requirement prioritization more practical, a method called DRank is proposed. DRank has the following advantages: 1) a prioritization evaluation attributes tree is constructed to make the ranking criteria selection easier and more operable; 2) RankBoost is employed to calculate the subjective requirements prioritization according to stakeholder preferences, which reduces the difficulty of evaluating the prioritization; 3) an algorithm based on the weighted PageRank is proposed to analyze the dependencies between requirements, allowing the objective dependencies to be automatically transformed into partial order relations; and 4) an integrated requirements prioritization method is developed to amend the stakeholders’ subjective preferences with the objective requirements dependencies and make the process of prioritization more reasonable and applicable. A controlled experiment performed to validate the effectiveness of DRank based on comparisons with Case Based Ranking, Analytical Hierarchy Process, and EVOLVE. The results demonstrate that DRank is less time-consuming and more effective than alternative approaches. A simulation experiment demonstrates that taking requirement dependencies into consideration can improve the accuracy of the final prioritization sequence.

[1]  Liming Zhu,et al.  An initial evaluation of requirements dependency types in change propagation analysis , 2012, EASE.

[2]  Jane Huffman Hayes,et al.  Advancing candidate link generation for requirements tracing: the study of methods , 2006, IEEE Transactions on Software Engineering.

[3]  Björn Regnell,et al.  An industrial survey of requirements interdependencies in software product release planning , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[4]  Amir Seyed Danesh,et al.  Requirements Prioritization in On-line Banking Systems: Using Value-Oriented Framework , 2009, 2009 International Conference on Computer Technology and Development.

[5]  Rajeev Motwani,et al.  The PageRank Citation Ranking : Bringing Order to the Web , 1999, WWW 1999.

[6]  Tony Gorschek,et al.  Prioritization of quality requirements: State of practice in eleven companies , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[7]  Marjo Kauppinen,et al.  Requirements Prioritization Challenges in Practice , 2004, PROFES.

[8]  Ali Selamat,et al.  A systematic literature review of software requirements prioritization research , 2014, Inf. Softw. Technol..

[9]  Claes Wohlin,et al.  An evaluation of methods for prioritizing software requirements , 1998, Inf. Softw. Technol..

[10]  Daniel Méndez Fernández,et al.  In quest for requirements engineering oracles: dependent variables and measurements for (good) RE , 2014, EASE '14.

[11]  Anne Persson,et al.  Requirements Interdependencies: State of the Art and Future Challenges , 2005 .

[12]  Liming Zhu,et al.  Investigating dependencies in software requirements for change propagation analysis , 2014, Inf. Softw. Technol..

[13]  Wenpu Xing,et al.  Weighted PageRank algorithm , 2004, Proceedings. Second Annual Conference on Communication Networks and Services Research, 2004..

[14]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[15]  Jason McZara,et al.  Software requirements prioritization and selection using linguistic tools and constraint solvers—a controlled experiment , 2014, Empirical Software Engineering.

[16]  Anna Perini,et al.  Facing scalability issues in requirements prioritization with machine learning techniques , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[17]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[18]  John Mylopoulos,et al.  Representing and reasoning about preferences in requirements engineering , 2011, Requirements Engineering.

[19]  Ashish Sureka,et al.  Requirements Prioritization and Next-Release Problem under Non-additive Value Conditions , 2014, 2014 23rd Australian Software Engineering Conference.

[20]  Mohd. Sadiq,et al.  Stakeholder identification method in goal oriented requirements elicitation process , 2014, 2014 IEEE 5th International Workshop on Requirements Prioritization and Communication (RePriCo).

[21]  Barry W. Boehm,et al.  Value-Based Requirements Prioritization: Usage Experiences , 2013, CSER.

[22]  André L. M. Santos,et al.  Six years of systematic literature reviews in software engineering: An updated tertiary study , 2011, Inf. Softw. Technol..

[23]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[24]  Anna Perini,et al.  A Machine Learning Approach to Software Requirements Prioritization , 2013, IEEE Transactions on Software Engineering.

[25]  Yoram Singer,et al.  An Efficient Boosting Algorithm for Combining Preferences by , 2013 .

[26]  Márcio de Oliveira Barros,et al.  Software requirements selection and prioritization using SBSE approaches: A systematic review and mapping of the literature , 2015, J. Syst. Softw..

[27]  Des Greer,et al.  Software release planning: an evolutionary and iterative approach , 2004, Inf. Softw. Technol..

[28]  Forrest Shull,et al.  The empirical investigation of Perspective-Based Reading , 1995, Empirical Software Engineering.

[29]  Paolo Tonella,et al.  Using an SMT solver for interactive requirements prioritization , 2011, ESEC/FSE '11.

[30]  Khalid Nafil,et al.  System requirements prioritization based on AHP , 2014, 2014 Third IEEE International Colloquium in Information Science and Technology (CIST).

[31]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[32]  Jörg Dörr,et al.  A Systematic Literature Review of Requirements Prioritization Criteria , 2015, REFSQ.

[33]  Klaus Pohl,et al.  Requirements Engineering - Fundamentals, Principles, and Techniques , 2010 .

[34]  Laura Lehtola,et al.  The challenge of release planning , 2011, 2011 Fifth International Workshop on Software Product Management (IWSPM).