Assisted requirements selection by clustering

  • PDF / 1,394,537 Bytes
  • 18 Pages / 595.276 x 790.866 pts Page_size
  • 51 Downloads / 191 Views

DOWNLOAD

REPORT


ORIGINAL ARTICLE

Assisted requirements selection by clustering José del Sagrado1   · Isabel M. del Águila1  Received: 4 November 2019 / Accepted: 29 October 2020 © Springer-Verlag London Ltd., part of Springer Nature 2020

Abstract Requirements selection is a decision-making process that enables project managers to focus on the deliverables that add most value to the project outcome. This task is performed to define which features or requirements will be developed in the next release. It is a complex multi-criteria decision process that has been focused by many research works, because a balance between business profits and investment is needed. The spectrum of prioritization techniques spans from simple and qualitative to elaborated analytic prioritization approaches that fall into the category of optimization algorithms. This work studies the combination of the qualitative MoSCoW method and cluster analysis for requirements selection. The feasibility of our methodology has been tested on three case studies (with 20, 50 and 100 requirements). In each of them, the requirements have been clustered, and then the clustering configurations found have been evaluated using internal validation measures for the compactness, connectivity and separability of the clusters. The experimental results show the validity of clustering strategies for the identification of the core set of requirements for the software product, being the number of categories proposed by MoSCoW a good starting point in requirements prioritization and negotiation. Keywords  Requirements selection · Next release planning · Requirements prioritization · MoSCoW · Cluster analysis

1 Introduction Requirements engineering identifies, documents, negotiates and manages the desired features and constraints of software-intensive systems and the assumptions about the environment [1]. The most serious problems in complex systems development frequently arise from requirements engineering [2, 3]. The processes related to requirements are knowledge-intensive tasks that are often supported by human effort and expertise. Requirements are the glue that keeps together the stages in project development, because they collect the needs or conditions that the product under construction should meet to succeed. A requirements engineering decision process, in software product development, is the definition of which features or requirements will be developed in the next release under * Isabel M. del Águila [email protected] José del Sagrado [email protected] 1



Deparment of Informatics, The Agrifood Campus of International Excellence (ceiA3), University of Almería, Almería, Spain

technical, resource, risk and budget constraints [4]. It is a complex multi-criteria decision process that, most times, entails achieving a balance between the value the requirements add to the project outcome and their cost. A clear instance is agile projects, because requirements and solutions quickly evolve through the collaborative teams and customers effort, making requirements selection a critical