Interactive requirements prioritization using a genetic algorithm

Context: The order in which requirements are implemented affects the delivery of value to the end-user, but it also depends on technical constraints and resource availability. The outcome of requirements prioritization is a total ordering of requirements that best accommodates the various kinds of constraints and priorities. During requirements prioritization, some decisions on the relative importance of requirements or the feasibility of a given implementation order must necessarily resort to a human (e.g., the requirements analyst), possessing the involved knowledge. Objective: In this paper, we propose an Interactive Genetic Algorithm (IGA) that includes incremental knowledge acquisition and combines it with the existing constraints, such as dependencies and priorities. We also assess the performance of the proposed algorithm. Method: The validation of IGA was conducted on a real case study, by comparing the proposed algorithm with the state of the art, interactive prioritization technique Incomplete Analytic Hierarchy Process (IAHP). Results: The proposed method outperforms IAHP in terms of effectiveness, efficiency and robustness to decision maker errors. Conclusion: IGA produces a good approximation of the reference requirements ranking, requiring an acceptable manual effort and tolerating a reasonable human error rate.

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

[2]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[3]  Camila Loiola Brito Maia,et al.  An Ant Colony Optimization Approach to the Software Release Planning with Dependent Requirements , 2011, SSBSE.

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

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

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

[7]  Soren Lauesen,et al.  Software Requirements: Styles & Techniques , 2002 .

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

[9]  Anna Perini,et al.  Tool-supported requirements prioritization: Comparing the AHP and CBRank methods , 2009, Inf. Softw. Technol..

[10]  A. Herrmann,et al.  Requirements Prioritization Based on Benefit and Cost Prediction: An Agenda for Future Research , 2008, 2008 16th IEEE International Requirements Engineering Conference.

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

[12]  J. C. Johnston,et al.  Attention and performance. , 2001, Annual review of psychology.

[13]  Sergiu M. Dascalu,et al.  Interactive Genetic Algorithms for User Interface Design , 2007, 2007 IEEE Congress on Evolutionary Computation.

[14]  Francisco Javier Orellana,et al.  Ant Colony Optimization for the Next Release Problem: A Comparative Study , 2010, 2nd International Symposium on Search Based Software Engineering.

[15]  Paolo Tonella,et al.  Using Interactive GA for Requirements Prioritization , 2010, 2nd International Symposium on Search Based Software Engineering.

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

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

[18]  Dean Leffingwell,et al.  Managing software requirements: a unified approach , 1999 .

[19]  S. Lauesen Software Requirements Styles and Techniques , 2001 .

[20]  Simona Ronchi Della Rocca,et al.  λ Δ -Models , 2004 .

[21]  SusiAngelo,et al.  Tool-supported requirements prioritization , 2009 .

[22]  A. E. Eiben,et al.  Evolutionary Algorithm Parameters and Methods to Tune Them , 2012, Autonomous Search.

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

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

[25]  Andrea Herrmann,et al.  Requirements Prioritization Based on Benefit and Cost Prediction: A Method Classification Framework , 2008, 2008 34th Euromicro Conference Software Engineering and Advanced Applications.

[26]  Thomas L. Saaty,et al.  Models, Methods, Concepts & Applications of the Analytic Hierarchy Process , 2012 .

[27]  JaatunMartin Gilje,et al.  Agile Software Development , 2002, Comput. Sci. Educ..

[28]  Yuanyuan Zhang,et al.  The multi-objective next release problem , 2007, GECCO '07.

[29]  Yuanyuan Zhang,et al.  A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making , 2009, Requirements Engineering.

[30]  Frank Moisiadis Prioritising software requirements , 2002, ICSE 2002.

[31]  Yuanyuan Zhang,et al.  Search Based Optimization of Requirements Interaction Management , 2010, 2nd International Symposium on Search Based Software Engineering.