Facing scalability issues in requirements prioritization with machine learning techniques

Case-based driven approaches to requirements prioritization proved to be much more effective than first-principle methods in being tailored to a specific problem, that is they take advantage of the implicit knowledge that is available, given a problem representation. In these approaches, first-principle prioritization criteria are replaced by a pairwise preference elicitation process. Nevertheless case-based approaches, using the analytic hierarchy process (AHP) technique, become impractical when the size of the collection of requirements is greater than about twenty since the elicitation effort grows as the square of the number of requirements. We adopt a case-based framework for requirements prioritization, called case-based ranking, which exploits machine learning techniques to overcome the scalability problem. This method reduces the acquisition effort by combining human preference elicitation and automatic preference approximation. Our goal in this paper is to describe the framework in details and to present empirical evaluations which aim at showing its effectiveness in overcoming the scalability problem. The results prove that on average our approach outperforms AHP with respect to the trade-off between expert elicitation effort and the requirement prioritization accuracy.

[1]  P. Harker Incomplete pairwise comparisons in the analytic hierarchy process , 1987 .

[2]  Yoji Akao,et al.  Quality Function Deployment : Integrating Customer Requirements into Product Design , 1990 .

[3]  Bernard Roy,et al.  Aide multicritère à la décision : méthodes et cas , 1993 .

[4]  Agnar Aamodt,et al.  Case-Based Reasoning: Foundational Issues, Methodological Variations, and System Approaches , 1994, AI Commun..

[5]  Jyrki Kontio,et al.  OTSO: a systematic process for reusable software component selection , 1995 .

[6]  Joachim Karlsson,et al.  Software requirements prioritizing , 1996, Proceedings of the Second International Conference on Requirements Engineering.

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

[8]  A Straw,et al.  Guide to the Software Engineering Body of Knowledge , 1998 .

[9]  T. Saaty,et al.  Fundamentals of the analytic network process — Dependence and feedback in decision-making with a single network , 2004 .

[10]  Yoav Freund,et al.  A Short Introduction to Boosting , 1999 .

[11]  Martin Höst,et al.  An Industrial Case Study on Distributed Prioritisation in Market-Driven Requirements Engineering for Packaged Software , 2001, Requirements Engineering.

[12]  B. Nuseibeh,et al.  Linking the Selection of Requirements to Market Value : A Portfolio-Based Approach Siv , 2001 .

[13]  Hoh Peter In,et al.  Multi-criteria preference analysis for systematic requirements negotiation , 2002, Proceedings 26th Annual International Computer Software and Applications.

[14]  David Morera COTS Evaluation Using Desmet Methodology & Analytic Hierarchy Process (AHP) , 2002, PROFES.

[15]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[16]  Frank Moisiadis,et al.  The fundamentals of prioritising requirements , 2002 .

[17]  T.C. Lethbridge,et al.  Guide to the Software Engineering Body of Knowledge (SWEBOK) and the Software Engineering Education Knowledge (SEEK) - a preliminary mapping , 2001, 10th International Workshop on Software Technology and Engineering Practice.

[18]  Dietmar Pfahl,et al.  Quantitative WinWin: a new method for decision support in requirements negotiation , 2002, SEKE '02.

[19]  Angelo Susi,et al.  Case-Based Ranking for Decision Support Systems , 2003, ICCBR.

[20]  Günther Ruhe,et al.  Requirements Negotiation under Incompleteness and Uncertainty , 2003, SEKE.

[21]  Luo Si,et al.  A New Boosting Algorithm Using Input-Dependent Regularizer , 2003, ICML 2003.

[22]  Anna Perini,et al.  Supporting the Requirements Prioritization Process. A Machine Learning approach , 2004, SEKE.

[23]  Donald Firesmith,et al.  Prioritizing Requirements , 2004, J. Object Technol..

[24]  Anna Perini,et al.  Exploiting Domain Knowledge in Requirements Prioritization , 2005, SEKE.

[25]  Joachim Karlsson,et al.  Improved practical support for large-scale requirements prioritising , 1997, Requirements Engineering.