Interactive requirements prioritization using a genetic algorithm

  • Authors:
  • Paolo Tonella;Angelo Susi;Francis Palma

  • Affiliations:
  • Software Engineering Research Unit, Fondazione Bruno Kessler, Via Sommarive 18, I-38123 Trento-Povo, Italy;Software Engineering Research Unit, Fondazione Bruno Kessler, Via Sommarive 18, I-38123 Trento-Povo, Italy;Software Engineering Research Unit, Fondazione Bruno Kessler, Via Sommarive 18, I-38123 Trento-Povo, Italy

  • Venue:
  • Information and Software Technology
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.